
:root{color-scheme:light;--bg:#faf8f2;--paper:#fffefa;--ink:#263a2b;--muted:#657163;--line:#dfE3d7;--primary:#304c37;--primary-hover:#203827;--soft:#edf0e4;--sage:#dce5c8;--terra:#a6553a;--peach:#f2dfce;--blue:#e3edef;--shadow:0 14px 45px #2539220b;--radius:22px;--serif:Georgia,'Times New Roman',serif;--sans:ui-sans-serif,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
html[data-theme=dark]{color-scheme:dark;--bg:#121b16;--paper:#1b2820;--ink:#f1f1e6;--muted:#b5beae;--line:#3c4b3c;--primary:#c6dbb0;--primary-hover:#deedcd;--soft:#263728;--sage:#3c5034;--terra:#ecb294;--peach:#4c352a;--blue:#2a4247;--shadow:0 14px 45px #0002}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-underline-offset:4px}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a,button,input,select,textarea,summary{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--terra);outline-offset:4px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--primary);outline-offset:2px}img,svg{display:block;max-width:100%}svg.icon{flex-shrink:0;vertical-align:middle}h1,h2,h3,p{margin:0}h1,h2,h3{color:var(--ink)}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.055em;line-height:1.08}h1{font-size:clamp(2.75rem,5.1vw,5.1rem)}h2{font-size:clamp(1.9rem,3vw,3rem)}h3{font-weight:600;font-size:1.18rem;line-height:1.35;letter-spacing:-.025em}em{font-weight:400;color:var(--terra)}p+p{margin-top:1em}small{display:block}hr{border:0;border-top:1px solid var(--line);margin:24px 0}fieldset{border:0;margin:20px 0;padding:0;min-width:0}legend{font-size:.82rem;font-weight:650;margin-bottom:10px}input[type=checkbox]{width:20px;height:20px;accent-color:var(--primary);flex-shrink:0;cursor:pointer}input:not([type=checkbox]):not([type=file]),select,textarea{max-width:100%;min-height:46px;background:var(--paper);border:1px solid var(--line);color:var(--ink);border-radius:11px;padding:10px 12px}select{padding-right:30px}textarea{width:100%;resize:vertical;line-height:1.5}button{border:0;background:none;color:inherit}progress{appearance:none;-webkit-appearance:none;width:100%;height:7px;border:0;border-radius:20px;background:var(--line);overflow:hidden}progress::-webkit-progress-bar{background:var(--line)}progress::-webkit-progress-value{background:var(--primary);border-radius:20px}progress::-moz-progress-bar{background:var(--primary)}[hidden]{display:none!important}.wrap{width:min(1240px,calc(100% - 96px));margin-inline:auto}.narrow{max-width:760px;width:calc(100% - 48px);margin:0 auto}.muted,.fineprint{color:var(--muted)}.fineprint{font-size:.78rem;line-height:1.6}.eyebrow{font-size:.7rem;font-weight:650;letter-spacing:.15em;line-height:1.6;text-transform:uppercase;display:inline-flex;align-items:center;gap:9px;color:var(--muted)}.eyebrow.small{font-size:.64rem;letter-spacing:.12em}.status-dot{height:7px;width:7px;background:#9bb47a;border-radius:50%;box-shadow:0 0 0 4px #9bb47a1a}.lead{color:var(--muted);font-size:1.05rem;line-height:1.8;max-width:630px}.skip{position:fixed;top:-100px;left:16px;padding:12px 20px;background:var(--primary);color:var(--bg);z-index:1000;border-radius:10px}.skip:focus{top:14px}
.site-header{border-bottom:1px solid var(--line);background:var(--bg)}.header-inner{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;flex-shrink:0}.brand-mark{width:46px;height:46px}.brand>span:last-child{font:28px/1 var(--serif);letter-spacing:-.06em}.brand small{font:7px/1.5 var(--sans);font-weight:600;letter-spacing:.12em;margin-top:8px;color:var(--muted)}.main-nav{display:flex;align-items:center;gap:25px}.main-nav a{text-decoration:none;font-size:.84rem;color:var(--muted);padding:12px 0;white-space:nowrap}.main-nav a[aria-current=page]{color:var(--ink);box-shadow:0 2px 0 var(--ink)}.main-nav a:hover{color:var(--ink)}.header-actions{display:flex;gap:5px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;min-height:44px;text-decoration:none;border-radius:50%;background:transparent}.icon-btn:hover{background:var(--soft)}[data-mobile-nav]{display:none}.bottom-nav{display:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 20px;min-height:48px;border-radius:10px;line-height:1.35;text-decoration:none;font-size:.86rem;font-weight:600;border:1px solid transparent;transition:background .16s,transform .16s;white-space:normal}.btn:hover{transform:translateY(-1px)}.btn.primary{background:var(--primary);color:var(--bg)}.btn.primary:hover{background:var(--primary-hover)}.btn.secondary{background:var(--paper);border-color:var(--line)}.btn.secondary:hover{background:var(--soft)}.btn.text{padding-inline:9px;color:var(--ink)}.btn.text:hover{background:var(--soft)}.btn.danger{border-color:#a84536;color:var(--terra)}.btn.icon-only{font-size:0;padding:0;width:42px;min-width:42px;min-height:46px;border:1px solid var(--line);background:var(--paper)}#week-prev .icon{transform:rotate(180deg)}.text-link,.text-button{display:inline-flex;align-items:center;gap:8px;text-underline-offset:5px;font-size:.85rem;font-weight:600;min-height:44px}.text-button{padding:0;text-decoration:underline}.round-icon{width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;background:var(--soft);border-radius:15px;flex-shrink:0}.round-icon.blue{background:var(--blue)}.stack{display:grid;gap:12px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field>span{font-weight:600;font-size:.72rem;color:var(--muted)}.field input,.field select{width:100%;min-width:0}.input-with-button{display:flex;align-items:center;border:1px solid var(--line);border-radius:11px;background:var(--paper);padding-right:3px}.input-with-button input{width:100%;min-width:0;border:0!important;background:transparent!important}.input-with-button .icon-btn{border-radius:9px;width:40px;min-width:40px}.input-with-button:focus-within{outline:2px solid var(--primary)}.input-with-button input:focus-visible{outline:0}.panel{background:var(--paper);border:1px solid var(--line);padding:28px;border-radius:var(--radius);box-shadow:var(--shadow)}.panel h2{font-size:1.8rem;letter-spacing:-.045em}.panel p{color:var(--muted)}.panel-title{display:flex;align-items:center;gap:12px;margin-bottom:24px}.panel-title h2{font-family:var(--sans);font-weight:600;font-size:1.16rem;letter-spacing:-.03em}.count-badge{display:inline-flex;background:var(--soft);font:600 12px/1 var(--sans);padding:6px 8px;border-radius:8px;margin-left:4px}.notice{padding:18px 20px;background:var(--soft);border:1px solid var(--line);border-radius:14px;color:var(--muted);font-size:.85rem}.notice strong{color:var(--ink)}.small-notice{font-size:.73rem;line-height:1.6;padding:14px;margin-top:22px}.note-row{display:flex;gap:15px;align-items:flex-start;margin:24px 0}.note-row p{margin-top:4px}.empty-state{padding:48px 24px;text-align:center;border:1px dashed var(--line);border-radius:20px;background:var(--paper)}.empty-state h3{font:1.8rem var(--serif);margin:10px 0}.empty-state p{color:var(--muted);font-size:.9rem}.empty-state .btn{margin-top:18px}
.hero{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding-block:72px 65px;align-items:center}.hero-copy h1{margin-top:25px;font-size:clamp(3.4rem,5.6vw,5.5rem);line-height:1.025}.hero-copy>p{font-size:1rem;color:var(--muted);max-width:430px;margin-top:28px;line-height:1.85}.hero-actions{display:flex;align-items:center;gap:12px;margin:30px 0 20px;flex-wrap:wrap}.hero-assurance{display:flex;align-items:center;gap:9px;font-size:.66rem;color:var(--muted);flex-wrap:wrap}.hero-visual{position:relative;padding:6px 0 25px 10px}.hero-photo{height:550px;max-height:57vw;border-radius:140px 28px 28px 28px;overflow:hidden;background:#e4e8d4;position:relative;box-shadow:var(--shadow)}.hero-photo>img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}.hero-photo-label{position:absolute;bottom:20px;right:22px;background:#263a2bf2;color:#fffdf1;border-radius:7px;padding:8px 12px;font-size:.65rem;letter-spacing:.03em}.hero-float{position:absolute;bottom:0;left:-28px;padding:20px 23px;border:1px solid var(--line);background:var(--paper);box-shadow:0 10px 30px #20352214;border-radius:17px;display:flex;align-items:center;gap:14px}.hero-float strong{font-size:.86rem;display:block}.hero-float small{font-size:.73rem;color:var(--muted);margin-top:3px}.float-icon{color:var(--primary);background:var(--soft);padding:10px;border-radius:50%}.hero-float>.icon{margin-left:12px}.hero-stamp{position:absolute;right:-20px;top:-14px;border:1px solid #c6cdb6;background:#e9edda;color:#30452f;border-radius:50%;width:108px;height:108px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;font-size:.5rem;letter-spacing:.22em;line-height:1.05;transform:rotate(12deg);box-shadow:0 0 0 8px var(--bg)}.hero-stamp em{font:italic 23px var(--serif);letter-spacing:-.025em;color:#30452f;line-height:1.15}.kitchen-shortcuts{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;gap:24px}.shortcut{display:flex;align-items:center;gap:14px;text-decoration:none;padding:6px 15px 6px 0}.shortcut+ .shortcut{border-left:1px solid var(--line);padding-left:30px}.shortcut>span:not(.round-icon){flex:1}.shortcut strong{display:block;font-size:.88rem}.shortcut small{font-size:.76rem;color:var(--muted);margin-top:3px}.shortcut .round-icon{background:transparent}.section{padding-block:70px}.section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:30px}.section-title h2{margin-top:9px}.section-title p{color:var(--muted);margin-top:10px;font-size:.88rem}.section-title>a{flex-shrink:0}.recipe-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.recipe-card{background:var(--paper);border:1px solid var(--line);border-radius:19px;overflow:hidden;transition:box-shadow .2s,transform .2s;min-width:0}.recipe-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.card-image{aspect-ratio:1.3;position:relative;background:var(--soft);overflow:hidden}.card-image>a{display:block;height:100%}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.recipe-card:hover img{transform:scale(1.035)}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:7px;font-size:.64rem;font-weight:600;padding:6px 9px}.image-badge{position:absolute;left:12px;bottom:12px;background:#fffdf2f5;color:#2b4332;backdrop-filter:blur(7px)}.favorite{position:absolute;top:10px;right:10px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#fffef8f2;color:#33482f;box-shadow:0 2px 8px #0001}.favorite:hover{background:#fff}.favorite[aria-pressed=true]{color:#90452f}.favorite[aria-pressed=true] .icon{fill:#f0c7b6}.card-content{padding:20px}.card-content h3{font:1.33rem/1.27 var(--serif);letter-spacing:-.032em;margin:9px 0 17px;min-height:3.4rem}.card-content h3 a{text-decoration:none}.card-tail{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:.66rem;color:var(--muted);border-top:1px solid var(--line);padding-top:12px}.card-tail>a{min-width:36px;min-height:36px;display:grid;place-items:center;color:var(--ink);border-radius:50%}.photo-caption{font-size:.66rem;line-height:1.6;display:block;color:var(--muted);margin-top:16px}.category-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.category-tabs a,.chip-button{display:inline-flex;min-height:40px;align-items:center;gap:7px;padding:8px 14px;border:1px solid var(--line);border-radius:8px;background:var(--paper);text-decoration:none;font-size:.77rem}.category-tabs a:hover,.chip-button:hover{background:var(--soft)}.plan-banner{background:#2d4432;color:#f7f3e6;position:relative;display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;border-radius:28px;padding:55px 60px;overflow:hidden}.plan-banner .eyebrow{color:#d5dfbf}.plan-banner h2{color:#f7f3e6;font-size:3.2rem;margin:17px 0 22px}.plan-banner h2 em{color:#d0dcb8}.plan-banner p{color:#d8dfcf;font-size:.92rem;max-width:440px}.plan-banner .btn{background:#e9efdb;color:#233929;margin-top:27px}.paper-plan{background:#f9f6e9;color:#2e432f;border-radius:15px;padding:25px 30px;transform:rotate(3deg);box-shadow:0 20px 30px #0002;max-width:420px;margin:auto;width:100%}.paper-plan h3{font:1.8rem var(--serif);color:#2e432f}.paper-plan>span{font-size:.65rem;color:#6a715f}.paper-plan ul{list-style:none;padding:10px 0;margin:0}.paper-plan li{display:flex;gap:18px;border-bottom:1px solid #dce0cc;padding:12px 0;font-size:.75rem}.paper-plan li b{font-size:.67rem;letter-spacing:.08em;color:#6f7a61;width:38px;flex-shrink:0}.paper-plan p{font-size:.68rem;color:#66725c}.trust-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:50px;padding-block:58px}.trust-item .round-icon{margin-bottom:18px}.trust-item h3{font:1.6rem var(--serif);letter-spacing:-.03em;margin-bottom:10px}.trust-item p{color:var(--muted);font-size:.84rem;line-height:1.8}.trust-item a{font-size:.78rem;font-weight:600}.site-footer{border-top:1px solid var(--line);padding:38px 0 25px;margin-top:70px}.footer-top{display:flex;justify-content:space-between;gap:40px;align-items:center}.footer-links{display:flex;flex-wrap:wrap;gap:18px;font-size:.75rem;color:var(--muted)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;font-size:.7rem;color:var(--muted);border-top:1px solid var(--line);padding-top:22px;margin-top:26px}.footer-bottom p{max-width:630px}
.page-heading{padding-block:55px 34px;display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.page-heading h1{font-size:clamp(2.6rem,4.2vw,4.25rem);max-width:860px;margin:16px 0 20px}.page-heading .eyebrow{font-size:.66rem}.heading-actions{display:flex;gap:10px;flex-wrap:wrap;flex-shrink:0;padding-bottom:6px}.filter-bar{display:flex;align-items:flex-end;gap:16px;padding:21px 24px;background:var(--paper);border:1px solid var(--line);border-radius:16px}.filter-bar .field{flex:1}.filter-bar .search-field{flex:2}.filter-bar .switch-label{min-height:45px;font-size:.8rem;white-space:nowrap}.filter-bar.compact{padding:18px;gap:12px}.filter-bar.compact select{font-size:.77rem;padding-left:9px}.results-line{display:flex;align-items:center;justify-content:space-between;padding:17px 2px 20px;font-size:.81rem;color:var(--muted)}.check-label,.switch-label{display:flex;align-items:center;gap:9px;min-height:44px;font-size:.88rem;cursor:pointer}.pantry-layout{display:grid;grid-template-columns:330px minmax(0,1fr);gap:28px;align-items:start}.pantry-panel{padding:24px}.pantry-chips{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 5px}.pantry-chip{display:inline-flex;align-items:center;border:1px solid var(--line);background:var(--soft);border-radius:10px;max-width:100%;font-size:.75rem}.pantry-chip>span{padding:5px 0 5px 10px}.pantry-chip button{min-width:34px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;font-size:.9rem}.pantry-chip button[aria-pressed=true]{background:var(--peach);color:var(--terra)}.quick-ingredients{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.quick-ingredients .chip-button{padding:8px 10px;font-size:.7rem}.quick-ingredients .chip-button[aria-pressed=true]{background:var(--primary);color:var(--bg);border-color:var(--primary)}.photo-reference{margin-top:24px;border-top:1px solid var(--line);padding-top:18px;font-size:.77rem}.photo-reference summary{cursor:pointer;min-height:44px;font-weight:600}.photo-reference p{font-size:.73rem;margin-block:10px}.photo-reference img{border-radius:12px;margin:12px 0;max-height:240px;object-fit:contain}.upload-label{border:1px dashed var(--line);padding:10px 12px;border-radius:10px;display:flex;flex-direction:column;gap:8px;font-size:.8rem;cursor:pointer}.upload-label input{max-width:100%;font-size:.7rem}.match-grid{display:grid;gap:17px;grid-template-columns:repeat(2,minmax(0,1fr))}.match-card{background:var(--paper);border:1px solid var(--line);border-radius:17px;overflow:hidden}.match-card .match-top{display:flex;gap:14px;align-items:center;padding:19px}.match-top img{width:83px;height:85px;object-fit:cover;border-radius:12px;flex-shrink:0}.match-top h3{font:1.27rem var(--serif);margin:6px 0;line-height:1.25}.match-top h3 a{text-decoration:none}.match-details{padding:0 19px 19px}.match-details progress{height:4px}.match-details p{font-size:.74rem;color:var(--muted);margin-top:10px}.match-details p strong{color:var(--ink)}.match-actions{display:flex;gap:7px;margin-top:13px}.match-actions .btn{font-size:.73rem;padding:10px 12px;min-height:42px}.use-first-label{font-size:.64rem;font-weight:600;color:var(--terra);margin-top:6px}.workspace-toolbar{display:flex;align-items:center;gap:25px;border:1px solid var(--line);padding:20px;background:var(--paper);border-radius:17px;flex-wrap:wrap}.week-switcher{display:flex;align-items:flex-end;gap:10px}.week-switcher .field{min-width:130px}.save-indicator{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:.73rem;flex:1}.toolbar-actions{display:flex;gap:10px}.toolbar-actions .btn{font-size:.76rem}.day-tabs{display:grid;grid-template-columns:repeat(7,1fr);gap:9px;margin-top:25px}.day-tabs button{border:1px solid var(--line);border-radius:12px;padding:14px 7px;background:var(--paper);font-size:.79rem;min-height:50px}.day-tabs button[aria-pressed=true]{background:var(--primary);color:var(--bg);border-color:var(--primary)}.day-tabs button small{font-size:.65rem}.plan-day-heading{display:flex;justify-content:space-between;align-items:baseline;margin:28px 0 20px;gap:20px}.plan-day-heading h2{font-size:2rem}.plan-day-heading>span{font-size:.75rem}.plan-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:19px}.plan-card{border:1px solid var(--line);background:var(--paper);border-radius:18px;overflow:hidden}.plan-card>img{width:100%;height:180px;object-fit:cover}.plan-card-content{padding:20px}.plan-card h3{font:1.4rem/1.2 var(--serif);margin:10px 0 16px;min-height:3.3em;letter-spacing:-.035em}.plan-card h3 a{text-decoration:none}.plan-card .btn{width:100%;min-height:42px;font-size:.78rem;padding:9px}.plan-card .fineprint{margin:10px 0}.week-overview{background:var(--paper);border:1px solid var(--line);border-radius:15px;margin-top:26px;padding:20px 24px}.week-overview summary{cursor:pointer;font-size:.9rem;font-weight:600;min-height:30px}.week-overview>div{overflow:auto}.week-overview table{font-size:.75rem;border-collapse:collapse;min-width:690px;width:100%;margin-top:18px}.week-overview th,.week-overview td{text-align:left;border-bottom:1px solid var(--line);padding:14px 10px;vertical-align:top}.week-overview caption{text-align:left;font-size:.73rem;margin-bottom:12px;color:var(--muted)}.week-overview th{background:var(--soft)}
.today-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;background:var(--soft);border:1px solid var(--line);padding:24px 28px;border-radius:18px}.summary-item{display:flex;gap:16px;align-items:center}.summary-item>svg{color:var(--muted)}.summary-item strong{font:1.6rem var(--serif);display:block}.summary-item small{font-size:.73rem;color:var(--muted);margin-top:3px}.today-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(290px,1fr);gap:30px;margin-top:32px}.small-section-title{margin:0 0 20px}.small-section-title h2{font-size:2rem}.today-meals{display:grid;gap:13px}.today-meal{display:flex;align-items:center;gap:20px;background:var(--paper);border:1px solid var(--line);border-radius:17px;padding:16px 19px}.today-meal.is-eaten{background:var(--soft)}.today-meal img{width:105px;height:105px;object-fit:cover;border-radius:12px;flex-shrink:0}.today-meal .meal-body{flex:1;min-width:0}.today-meal h3{font:1.37rem/1.25 var(--serif);margin:7px 0 6px}.today-meal h3 a{text-decoration:none}.today-meal .meal-meta{display:flex;align-items:center;gap:12px;font-size:.73rem;color:var(--muted)}.today-meal .log-button{display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;height:44px;width:44px;min-width:44px;color:var(--muted)}.today-meal .log-button[aria-pressed=true]{background:var(--primary);border-color:var(--primary);color:var(--bg)}.today-layout>div>.fineprint{margin-top:18px}.today-sidebar{display:grid;gap:18px;align-content:start}.water-panel .round-icon{margin-bottom:18px}.water-panel .eyebrow{display:block;margin-bottom:7px}.water-panel h2{font-size:2rem}.water-number{margin:18px 0;display:flex;gap:10px;align-items:baseline}.water-number>span{font:3rem var(--serif);letter-spacing:-.055em}.water-number>small{font-size:.8rem;color:var(--muted)}.water-actions{display:flex;gap:10px;margin-bottom:14px}.water-actions .btn{font-size:.76rem;padding:11px 14px;flex:1}.note-panel h3{font:1.65rem var(--serif);margin-bottom:9px}.note-panel textarea{margin-top:12px}.note-save{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:12px}.note-save .btn{min-height:42px;padding:9px 14px;font-size:.75rem;flex-shrink:0}.pantry-prompt{display:flex;align-items:center;gap:15px;background:var(--peach);border-radius:16px;padding:24px;text-decoration:none}.pantry-prompt>span{flex:1}.pantry-prompt strong{font-size:.86rem;display:block}.pantry-prompt small{font-size:.73rem;margin-top:4px;color:var(--muted)}.shopping-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:28px;align-items:start}.shopping-options h2{margin-bottom:22px}.shopping-options .field{margin-bottom:16px}.shopping-options .fineprint{font-size:.72rem}.day-checkboxes{display:flex;flex-wrap:wrap;gap:8px}.day-checkboxes label{position:relative;display:inline-flex}.day-checkboxes input{position:absolute;opacity:0;width:100%;height:100%;margin:0}.day-checkboxes span{padding:10px 9px;background:var(--paper);border:1px solid var(--line);border-radius:8px;font-size:.71rem;min-width:43px;text-align:center}.day-checkboxes input:checked+span{background:var(--primary);color:var(--bg);border-color:var(--primary)}.day-checkboxes input:focus-visible+span{outline:3px solid var(--terra);outline-offset:2px}.shopping-progress-panel{border:1px solid var(--line);padding:22px 25px;border-radius:17px;background:var(--paper);margin-bottom:24px}.shopping-progress-panel>div{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:9px}.shopping-progress-panel strong{font-size:.9rem}.shopping-progress-panel label{font-size:.74rem}.shopping-group{background:var(--paper);border:1px solid var(--line);border-radius:17px;overflow:hidden;margin-bottom:18px}.shopping-group h2{font:600 .72rem var(--sans);letter-spacing:.12em;text-transform:uppercase;padding:15px 20px;background:var(--soft);display:flex;justify-content:space-between}.shopping-group h2 span{font-size:.7rem;font-weight:500;letter-spacing:0}.grocery-row{display:flex;align-items:center;min-height:59px;padding:0 18px;border-top:1px solid var(--line);gap:8px}.grocery-row label{display:flex;align-items:center;gap:14px;flex:1;cursor:pointer;min-height:58px;min-width:0}.grocery-row .grocery-name{font-size:.86rem;flex:1;overflow-wrap:anywhere}.grocery-row strong{font-size:.78rem;font-weight:500;color:var(--muted);flex-shrink:0}.grocery-row.is-checked .grocery-name{text-decoration:line-through;color:var(--muted)}.grocery-row.is-checked{background:var(--soft)}.grocery-row>.icon-btn{font-size:1.25rem}.shop-bottom-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:25px 0}.shopping-scope-warning{margin-bottom:16px}
.breadcrumbs{display:flex;gap:9px;align-items:center;font-size:.76rem;color:var(--muted);padding-top:30px;flex-wrap:wrap}.recipe-hero{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;padding-block:35px 42px}.recipe-hero h1{font-size:clamp(2.7rem,4.1vw,4.6rem);margin:19px 0 15px}.recipe-hero .greek-name{font-size:.87rem;color:var(--muted);margin-bottom:16px}.recipe-hero .lead{font-size:.94rem}.recipe-hero-visual>img,.recipe-hero-image>img{width:100%;aspect-ratio:1.08;object-fit:cover;border-radius:70px 22px 22px 22px}.recipe-hero img.food-photo{width:100%;aspect-ratio:1.1;object-fit:cover;border-radius:70px 22px 22px 22px}.recipe-meta{display:flex;gap:18px;align-items:center;margin:22px 0;flex-wrap:wrap;font-size:.8rem;color:var(--muted)}.recipe-meta>span{display:inline-flex;align-items:center;gap:7px}.recipe-actions{display:flex;gap:10px;margin:22px 0;flex-wrap:wrap}.recipe-actions .favorite{position:static;background:var(--paper);border:1px solid var(--line);height:48px;min-width:48px;width:48px;border-radius:10px}.recipe-layout,.recipe-method-grid{display:grid;grid-template-columns:350px minmax(0,1fr);gap:48px;align-items:start}.ingredients-panel h2{font-size:2rem}.portion-control{display:flex;align-items:center;gap:10px;margin:22px 0 10px;flex-wrap:wrap}.portion-control label{font-size:.76rem;flex:1}.portion-control input{width:60px;text-align:center}.portion-control .icon-btn{border:1px solid var(--line);border-radius:9px}.ingredient-check{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:14px 0;cursor:pointer}.ingredient-check>span{flex:1;font-size:.85rem}.ingredient-check strong{font-size:.78rem;color:var(--muted);font-weight:500;text-align:right}.ingredient-check:has(input:checked)>span{text-decoration:line-through;color:var(--muted)}.ingredients-panel .btn{margin-top:24px;width:100%}.method-panel h2,.method h2{font-size:2.2rem;margin-bottom:22px}.method-list{padding:0;list-style:none;margin:25px 0}.method-list li{display:flex;gap:20px;border-bottom:1px solid var(--line);padding:22px 0;font-size:.97rem;color:var(--muted)}.step-number{background:var(--soft);width:36px;min-width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:var(--ink);font-size:.8rem;font-weight:600}.method-list p{margin-top:4px}.safety-note{border-left:3px solid var(--terra);background:var(--peach);padding:20px 22px;border-radius:0 12px 12px 0;margin:24px 0;font-size:.85rem;color:var(--ink)}.safety-note p{margin-top:6px}.source-note{font-size:.79rem;color:var(--muted);background:var(--soft);padding:20px 23px;border-radius:14px;margin:24px 0}.recipe-source{font-size:.8rem;color:var(--muted);margin:25px 0}.related-section{margin-top:60px}.prose{margin-bottom:60px;font-size:1rem;color:var(--muted)}.prose h2{margin:36px 0 16px;color:var(--ink);font-size:2rem;letter-spacing:-.04em}.prose p{line-height:1.9}.prose strong{color:var(--ink)}.prose ul{padding-left:22px}.prose a{color:var(--ink)}.family-panel{padding:45px;border:1px solid var(--line);border-radius:22px;background:var(--paper)}.family-panel h2{margin-bottom:20px}.family-panel p{color:var(--muted)}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:28px 0}.feature-grid h3{font:1.4rem var(--serif);margin:12px 0}.feature-grid p{font-size:.84rem}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.settings-grid .panel>.round-icon{margin-bottom:22px}.settings-grid h2{margin-bottom:16px}.settings-grid .panel>p{font-size:.85rem;margin-bottom:20px}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:17px 0;cursor:pointer}.settings-row strong{font-size:.86rem}.settings-row small{font-size:.75rem;color:var(--muted);line-height:1.6;margin-top:5px}.settings-row input{width:22px;height:22px}.danger-panel{background:transparent;box-shadow:none}#storage-summary{display:grid;gap:8px;font-size:.85rem;color:var(--muted)}.credits-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.credits-grid .panel{padding:20px}.credits-grid img{width:100%;aspect-ratio:1.3;object-fit:cover;border-radius:13px}.credits-grid h2{font-size:1.7rem;margin:20px 0 12px}.credits-grid p{font-size:.8rem;margin-bottom:10px}.credits-grid .fineprint{font-size:.7rem}
dialog{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:24px;padding:0;max-width:min(640px,calc(100% - 32px));max-height:calc(100dvh - 32px);box-shadow:0 30px 100px #0003}dialog::backdrop{background:#1422199e;backdrop-filter:blur(5px)}.dialog-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 28px;border-bottom:1px solid var(--line)}.dialog-header h2{font-size:1.7rem}.action-dialog{width:570px}.action-dialog>form{position:absolute;right:13px;top:13px}.action-dialog #dialog-content{padding:35px}.action-dialog h2{font-size:2rem;max-width:85%;margin-bottom:14px}.action-dialog p{color:var(--muted);font-size:.85rem}.dialog-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:23px 0}.dialog-fields .field.full{grid-column:1/-1}.dialog-actions{display:flex;gap:10px;margin-top:22px;justify-content:flex-end}.dialog-swap-list{display:grid;gap:9px;margin:20px 0;max-height:48dvh;overflow:auto}.swap-option{display:flex;gap:12px;align-items:center;text-align:left;border:1px solid var(--line);border-radius:12px;padding:12px;min-height:66px;background:var(--bg)}.swap-option img{width:52px;height:52px;border-radius:8px;object-fit:cover}.swap-option>span{flex:1;font-size:.88rem}.swap-option small{font-size:.72rem;color:var(--muted)}.swap-option:hover{border-color:var(--primary);background:var(--soft)}.cook-dialog{width:740px;max-width:min(740px,calc(100% - 32px))}.cook-body{padding:26px 34px}.cook-dialog h2{font-size:1.5rem;letter-spacing:-.035em}.cook-progress-row{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:.77rem;margin-bottom:10px}#cook-text{font:2rem/1.4 var(--serif);letter-spacing:-.025em;margin:28px 0;min-height:120px}.cook-dialog details{border-top:1px solid var(--line);padding-top:15px;margin-bottom:20px;font-size:.82rem}.cook-dialog summary{cursor:pointer;min-height:35px}.cook-dialog ul{padding-left:21px;color:var(--muted);font-size:.82rem}.cook-timer{background:var(--soft);padding:17px;border-radius:14px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.cook-timer .field{max-width:110px}.cook-timer input{width:85px}.cook-timer output{font-size:1.4rem;font-variant-numeric:tabular-nums;letter-spacing:-.03em;margin-right:auto}.cook-timer .btn{font-size:.76rem;padding:10px;min-height:42px}.cook-footer{display:flex;justify-content:space-between;gap:16px;padding:20px 28px;border-top:1px solid var(--line);background:var(--paper);position:sticky;bottom:0}.cook-footer .btn{min-width:120px}
#toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:var(--primary);color:var(--bg);border-radius:12px;padding:13px 22px;box-shadow:0 10px 35px #0002;max-width:min(500px,calc(100% - 30px));font-size:.84rem;z-index:10000;line-height:1.5}#storage-warning,#offline-notice{margin-top:15px;padding:14px 20px;background:var(--peach);border-radius:12px;font-size:.78rem;color:var(--ink)}#offline-notice{background:var(--soft)}#update-note{position:fixed;bottom:20px;right:20px;z-index:800;background:var(--paper);border:1px solid var(--line);border-radius:13px;padding:15px;box-shadow:var(--shadow);font-size:.8rem;max-width:340px}#update-note button{font-weight:600;text-decoration:underline;padding:5px}.photo-fallback{object-fit:cover!important}.photo-caption a:hover{color:var(--ink)}
@media(min-width:1400px){.hero{gap:100px}.hero-photo{height:570px}}
@media(max-width:1150px){.wrap{width:calc(100% - 64px)}.main-nav{gap:16px}.brand>span:last-child{font-size:25px}.brand small{font-size:6px}.header-inner{gap:15px}.hero{gap:40px}.hero-copy h1{font-size:4.4rem}.hero-photo{height:490px}.hero-stamp{right:-15px;width:95px;height:95px}.hero-float{left:-15px;padding:15px}.hero-assurance{font-size:.6rem}.recipe-grid{gap:16px}.card-content{padding:16px}.card-content h3{font-size:1.25rem}.plan-banner{padding:40px;gap:35px}.plan-banner h2{font-size:2.8rem}.pantry-layout{grid-template-columns:280px 1fr;gap:20px}.filter-bar.compact{flex-wrap:wrap}.filter-bar.compact .field{flex-basis:42%}.plan-grid{gap:14px}.plan-card-content{padding:16px}.plan-card h3{font-size:1.25rem}.today-meal img{width:80px;height:85px}.today-meal{gap:14px;padding:14px}.today-layout{gap:22px}.recipe-hero{gap:30px}.recipe-layout,.recipe-method-grid{gap:30px;grid-template-columns:310px 1fr}}
@media(max-width:950px){.main-nav{gap:13px}.main-nav a{font-size:.77rem}.brand small{display:none}.brand-mark{width:38px;height:38px}.header-actions>.icon-btn:first-child{display:none}.hero{padding-top:48px;gap:28px}.hero-copy h1{font-size:3.6rem}.hero-copy>p{font-size:.9rem}.hero-photo{height:430px}.hero-float{padding:12px;gap:9px}.hero-float strong{font-size:.74rem}.hero-float small{font-size:.66rem}.hero-float>.icon{display:none}.hero-actions{gap:8px}.hero-actions .btn{padding:12px 15px;font-size:.76rem}.shortcut{gap:9px}.shortcut+ .shortcut{padding-left:16px}.shortcut strong{font-size:.78rem}.shortcut small{font-size:.68rem}.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.card-content h3{min-height:0;font-size:1.5rem}.plan-banner{gap:24px;padding:33px}.plan-banner h2{font-size:2.6rem}.paper-plan{padding:22px}.trust-grid{gap:25px}.trust-item h3{font-size:1.4rem}.trust-item p{font-size:.78rem}.page-heading{align-items:flex-start;flex-direction:column;gap:5px}.page-heading h1{max-width:760px}.heading-actions{padding-top:12px}.plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-card>img{height:200px}.plan-card h3{min-height:2.3em;font-size:1.5rem}.pantry-layout{grid-template-columns:260px 1fr}.pantry-panel{padding:20px}.match-grid{grid-template-columns:1fr}.today-layout{grid-template-columns:1fr}.today-sidebar{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.pantry-prompt{grid-column:1/-1}.today-meal img{width:105px;height:105px}.today-meal h3{font-size:1.6rem}.shopping-layout{grid-template-columns:265px 1fr;gap:20px}.shopping-options{padding:21px}.shopping-progress-panel>div{align-items:flex-start;flex-direction:column;gap:3px}.credits-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-hero{gap:27px}.recipe-hero h1{font-size:3rem}.recipe-layout,.recipe-method-grid{grid-template-columns:280px 1fr;gap:25px}.ingredients-panel{padding:22px}.recipe-meta{gap:12px;font-size:.75rem}.recipe-actions .btn{font-size:.75rem;padding:11px 12px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}body{padding-bottom:80px}.header-inner{min-height:78px}.brand>span:last-child{font-size:27px}.brand-mark{width:40px;height:40px}.header-actions{gap:0}.header-actions>.icon-btn:first-child{display:inline-flex}[data-mobile-nav]{display:inline-flex}.main-nav{display:none;position:absolute;left:15px;right:15px;top:70px;background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;padding:12px;z-index:500;flex-direction:column;gap:0;align-items:stretch}.main-nav.is-open{display:flex}.main-nav a{padding:12px 15px;border-radius:8px;font-size:.9rem;box-shadow:none}.main-nav a[aria-current=page]{background:var(--soft);box-shadow:none}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:500;background:var(--paper);border-top:1px solid var(--line);padding:6px 10px calc(6px + env(safe-area-inset-bottom));justify-content:space-around;box-shadow:0 -5px 30px #25352208}.bottom-nav a{display:flex;align-items:center;flex-direction:column;justify-content:center;gap:4px;text-decoration:none;min-height:54px;min-width:50px;font-size:.62rem;color:var(--muted);border-radius:11px;padding:7px 10px;flex:1}.bottom-nav a[aria-current=page]{background:var(--soft);color:var(--ink)}.bottom-nav svg{width:20px;height:20px}.hero{grid-template-columns:1fr;padding-block:38px 44px;gap:35px}.hero-copy h1{font-size:clamp(3.55rem,10.8vw,5rem);margin-top:18px}.hero-copy>p{max-width:480px;font-size:.95rem;margin-top:22px}.hero-copy>.eyebrow{font-size:.58rem}.hero-actions{margin-block:24px 15px}.hero-actions .btn{padding:14px 18px;font-size:.83rem}.hero-assurance{font-size:.65rem}.hero-visual{margin:6px 7px 0;padding:0 0 25px}.hero-photo{height:400px;max-height:none;border-radius:100px 22px 22px 22px}.hero-stamp{width:85px;height:85px;right:-10px;top:-9px}.hero-stamp em{font-size:20px}.hero-float{left:15px;right:15px;justify-content:flex-start;padding:15px 18px;bottom:0}.hero-float strong{font-size:.84rem}.hero-float small{font-size:.72rem}.hero-float>.icon{display:block;margin-left:auto}.hero-photo-label{font-size:.59rem;bottom:46px;right:15px;padding:6px 8px}.kitchen-shortcuts{grid-template-columns:1fr;padding-block:6px;gap:0}.shortcut,.shortcut+ .shortcut{border:0;padding:17px 0}.shortcut+ .shortcut{border-top:1px solid var(--line)}.shortcut strong{font-size:.85rem}.shortcut small{font-size:.74rem}.shortcut .round-icon{background:var(--soft);width:42px;height:42px;margin-right:4px}.section{padding-block:42px}.section-title{gap:15px;flex-wrap:wrap;margin-bottom:22px}.section-title h2{font-size:2.3rem}.section-title .text-link{font-size:.77rem}.recipe-grid{gap:14px}.card-image{aspect-ratio:1.08}.card-content{padding:15px}.card-content h3{font-size:1.28rem;min-height:2.5em;margin:9px 0 14px}.card-content .eyebrow{font-size:.53rem;letter-spacing:.06em;gap:6px}.card-tail{font-size:.6rem;line-height:1.5;padding-top:9px;gap:3px}.card-tail .icon{width:18px}.card-tail>a{min-width:30px}.favorite{width:38px;height:38px;top:8px;right:8px}.badge{font-size:.57rem;padding:5px 7px}.image-badge{bottom:9px;left:9px}.category-tabs{gap:7px}.category-tabs a{font-size:.7rem;padding:8px 12px}.plan-banner{grid-template-columns:1fr;gap:35px;padding:30px 26px;border-radius:22px}.plan-banner h2{font-size:2.65rem}.paper-plan{max-width:350px;transform:rotate(2deg);margin:0 auto 10px}.trust-grid{grid-template-columns:1fr;padding:35px 0;gap:29px}.trust-item{padding-left:61px;position:relative}.trust-item .round-icon{position:absolute;left:0;top:0}.trust-item h3{font-size:1.65rem}.trust-item p{font-size:.86rem}.footer-top,.footer-bottom{flex-direction:column;align-items:flex-start;gap:20px}.footer-links{gap:12px 20px;font-size:.77rem}.site-footer{margin-top:42px;padding-top:30px}.page-heading{padding-block:35px 28px}.page-heading h1{font-size:2.75rem;margin-block:12px 16px}.page-heading .lead{font-size:.92rem;line-height:1.75}.page-heading .eyebrow{font-size:.59rem}.heading-actions{width:100%}.heading-actions .btn{font-size:.78rem}.filter-bar{padding:17px;flex-wrap:wrap;gap:12px}.filter-bar .field{flex:1;min-width:calc(50% - 12px)}.filter-bar .search-field{flex-basis:100%}.filter-bar .switch-label{font-size:.78rem}.filter-bar input{font-size:.85rem}.filter-bar select{font-size:.8rem}.pantry-layout{grid-template-columns:1fr;gap:25px}.pantry-panel{padding:23px}.quick-ingredients .chip-button{font-size:.75rem}.pantry-chips{gap:9px}.match-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.match-card .match-top{padding:14px;flex-direction:column;align-items:stretch;gap:9px}.match-top img{width:100%;height:140px}.match-top h3{font-size:1.25rem}.match-details{padding:0 14px 16px}.match-actions{flex-wrap:wrap}.match-actions .btn{width:100%}.filter-bar.compact .field{min-width:calc(50% - 12px)}.workspace-toolbar{padding:17px;gap:15px;align-items:flex-start}.week-switcher{flex:1}.week-switcher .field{flex:1}.save-indicator{flex-basis:100%;font-size:.72rem}.toolbar-actions{width:100%;justify-content:space-between}.toolbar-actions .btn{font-size:.72rem}.day-tabs{gap:5px;margin-top:20px}.day-tabs button{font-size:.69rem;padding:10px 2px;min-width:0;letter-spacing:-.02em}.plan-day-heading{align-items:flex-start;gap:6px;flex-direction:column;margin-top:25px}.plan-day-heading h2{font-size:1.9rem}.plan-grid{gap:13px}.plan-card>img{height:155px}.plan-card-content{padding:15px}.plan-card h3{font-size:1.28rem;min-height:3.3em}.plan-card .eyebrow{font-size:.59rem}.plan-card .fineprint{font-size:.68rem}.plan-card .btn{font-size:.71rem}.note-row{font-size:.75rem;padding:16px}.today-summary{gap:15px;padding:19px}.summary-item{gap:8px}.summary-item>svg{display:none}.summary-item strong{font-size:1.4rem}.summary-item small{font-size:.64rem;line-height:1.5}.today-layout{margin-top:26px}.today-meal{gap:12px;padding:13px}.today-meal img{width:78px;height:94px}.today-meal h3{font-size:1.3rem;margin:5px 0}.today-meal .eyebrow{font-size:.57rem}.today-meal .meal-meta{gap:9px;font-size:.68rem}.today-meal .log-button{width:40px;min-width:40px;height:40px}.today-sidebar{grid-template-columns:1fr}.small-section-title h2{font-size:1.8rem}.small-section-title .text-link{font-size:.74rem}.shopping-layout{grid-template-columns:1fr}.shopping-options{padding:23px}.shopping-options fieldset{display:flex;flex-wrap:wrap;gap:0 18px}.shopping-options .check-label{font-size:.8rem}.shopping-options .day-checkboxes{gap:8px}.shopping-progress-panel{padding:18px}.shopping-progress-panel>div{flex-direction:row;align-items:center;gap:12px}.shopping-progress-panel strong{font-size:.79rem}.shopping-progress-panel .switch-label{font-size:.66rem}.grocery-row{padding:0 14px}.grocery-row .grocery-name{font-size:.82rem}.grocery-row strong{font-size:.72rem}.recipe-hero{grid-template-columns:1fr;padding-top:23px;gap:25px}.recipe-hero h1{font-size:3rem}.recipe-hero img.food-photo{max-height:410px}.recipe-layout,.recipe-method-grid{grid-template-columns:1fr;gap:33px}.recipe-actions .btn{font-size:.82rem}.recipe-meta{font-size:.79rem}.method-list li{font-size:.92rem;gap:14px}.settings-grid{grid-template-columns:1fr;gap:20px}.settings-grid .panel{padding:24px}.credits-grid{gap:14px}.credits-grid .panel{padding:14px}.credits-grid h2{font-size:1.35rem}.credits-grid p{font-size:.73rem}.credits-grid .fineprint{font-size:.66rem}.feature-grid{grid-template-columns:1fr;gap:20px}.family-panel{padding:28px}.cook-body{padding:20px 24px}#cook-text{font-size:1.8rem;min-height:100px}.cook-footer{padding:17px 22px}.cook-footer .btn{min-width:100px}.cook-timer{padding:15px;gap:10px}.cook-timer output{font-size:1.3rem}.dialog-header{padding:18px 22px}.action-dialog #dialog-content{padding:29px 24px}.dialog-fields{grid-template-columns:1fr}.dialog-fields .field.full{grid-column:auto}#toast{bottom:92px}#update-note{bottom:88px;left:16px;right:16px;max-width:100%}.photo-caption{font-size:.62rem}.section-title.small-section-title{flex-wrap:nowrap}}
@media(max-width:380px){.wrap{width:calc(100% - 28px)}.brand>span:last-child{font-size:24px}.brand-mark{width:35px;height:35px}.header-actions>.icon-btn:first-child{display:none}.hero-copy h1{font-size:3.25rem}.hero-visual{margin-inline:3px}.hero-photo{height:330px}.hero-float{left:8px;right:8px;padding:12px}.float-icon{padding:7px}.hero-float strong{font-size:.74rem}.hero-float small{font-size:.65rem}.recipe-grid,.plan-grid{gap:10px}.card-content{padding:12px}.card-content h3{font-size:1.2rem}.card-tail{font-size:.56rem}.card-content .eyebrow{font-size:.48rem}.hero-assurance{gap:6px;font-size:.58rem}.hero-actions .btn{font-size:.74rem;padding:12px 13px}.bottom-nav a{font-size:.59rem;padding-inline:5px}.match-grid{grid-template-columns:1fr}.match-card .match-top{flex-direction:row;align-items:center}.match-top img{width:80px;height:85px}.match-actions{flex-wrap:nowrap}.match-actions .btn{width:auto;flex:1}.today-summary{padding:16px;gap:9px}.summary-item strong{font-size:1.25rem}.summary-item small{font-size:.6rem}.today-meal img{width:62px;height:78px}.today-meal h3{font-size:1.13rem}.today-meal{gap:9px;padding:12px}.today-meal .log-button{width:36px;min-width:36px;height:40px}.today-meal .meal-meta{flex-wrap:wrap;gap:3px 8px}.plan-card>img{height:135px}.plan-card-content{padding:12px}.plan-card h3{font-size:1.2rem}.plan-card .btn{font-size:.67rem;padding:9px 6px}.credits-grid{grid-template-columns:1fr}.page-heading h1{font-size:2.45rem}.shopping-progress-panel>div{align-items:flex-start;flex-direction:column;gap:2px}.grocery-row strong{max-width:85px}.grocery-row label{gap:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media print{html,body{background:white!important;color:#111!important;padding:0}body{font-size:11pt}.site-header,.site-footer,.bottom-nav,.heading-actions,.hero-actions,.favorite,.btn,button,.filter-bar,.shopping-options,.shop-bottom-actions,.switch-label,.photo-caption,#toast,#update-note,#storage-warning,#offline-notice,dialog{display:none!important}.wrap,.narrow{width:100%;max-width:none}.page-heading{padding:0 0 15px}.page-heading h1{font-size:29pt}.page-heading .lead{font-size:10pt}.shopping-layout,.recipe-layout,.recipe-method-grid{display:block}.shopping-group,.panel,.ingredients-panel{box-shadow:none;background:white;border-color:#ccc;break-inside:avoid}.shopping-group{margin-bottom:12px}.grocery-row{min-height:32px}.grocery-row label{min-height:32px}.recipe-hero{display:block}.recipe-hero .food-photo{display:none}.recipe-hero h1{font-size:29pt}.method-list li{break-inside:avoid;padding:10px 0}.ingredients-panel{margin-bottom:25px}.notice,.source-note,.safety-note{color:#222;background:#f7f7f7;border-color:#ccc}.food-photo{max-height:100px}a{text-decoration:none}input[type=checkbox]{appearance:none;width:12px;height:12px;border:1px solid #444}input[type=checkbox]:checked::after{content:'x';display:block;line-height:10px;font-size:10px}.shopping-progress-panel{padding:10px}.shopping-progress-panel progress{display:none}.recipe-card{break-inside:avoid}.recipe-grid{grid-template-columns:repeat(2,1fr)}}
figure{margin:0}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:26px}.section-heading h2{margin-top:10px}.recipe-top{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center;padding:34px 0 48px}.recipe-top h1{font-size:clamp(2.7rem,4.2vw,4.5rem);margin:20px 0 15px}.greek-title{font-size:.88rem;color:var(--muted);margin-bottom:18px}.recipe-facts{display:flex;gap:16px;flex-wrap:wrap;margin:24px 0;font-size:.77rem;color:var(--muted)}.recipe-facts>span{display:inline-flex;align-items:center;gap:7px}.recipe-body-layout{display:grid;grid-template-columns:350px minmax(0,1fr);gap:46px;align-items:start}.stepper{display:flex;align-items:center;gap:5px}.portion-control{justify-content:space-between;gap:8px}.portion-control input{width:48px;padding-inline:5px}.method-content h2{margin:12px 0 20px}.kitchen-tip{background:var(--peach);border-radius:14px;padding:22px;display:flex;gap:15px;margin:24px 0;color:var(--ink)}.kitchen-tip strong{font-size:.86rem}.kitchen-tip p{font-size:.84rem;margin-top:7px;color:var(--muted)}.source-panel{background:var(--soft);border:1px solid var(--line);border-radius:16px;padding:25px;margin-top:25px;font-size:.8rem;color:var(--muted)}.source-panel h3{margin-bottom:16px;font:1.5rem var(--serif)}.source-panel p{line-height:1.8}.source-panel strong{color:var(--ink)}.source-panel a{overflow-wrap:anywhere}.cook-dialog{padding:25px 30px 0}.cook-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.cook-dialog #cook-title{font-size:1.9rem;margin-bottom:20px}.cook-progress-row{gap:25px}.cook-progress-row progress{max-width:240px}.cook-progress-row span{white-space:nowrap}.cook-dialog .cook-footer{margin:24px -30px 0}.cook-timer label{font-size:.75rem;font-weight:600}.cook-timer input{width:66px}.cook-timer .fineprint{flex-basis:100%;margin:0}.cook-timer>span{font-size:.75rem}.footer-inner{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:45px;padding-top:38px}.footer-inner>div>p{font-size:.76rem;color:var(--muted);margin-top:20px}.footer-inner h3{font:600 .65rem/1.4 var(--sans);letter-spacing:.12em;margin:8px 0 16px}.footer-inner>div>a:not(.brand){display:block;font-size:.76rem;color:var(--muted);margin:9px 0;text-decoration:none}.footer-inner a:hover{text-decoration:underline}.footer-note>.icon{margin-bottom:15px}.footer-note strong{font:1.35rem var(--serif);display:block}.footer-note>p{font-size:.73rem!important;margin-top:10px!important}.footer-bottom a{display:inline-flex;gap:6px;align-items:center}body>footer{border-top:1px solid var(--line);margin-top:60px;padding-bottom:27px}.footer-bottom{font-size:.65rem}.pantry-prompt small{color:var(--ink)}.match-top>a{flex-shrink:0}.recipe-top figure img{aspect-ratio:1.1;object-fit:cover;border-radius:65px 22px 22px 22px;width:100%}.search-input-wrap{display:flex;align-items:center;gap:10px}.photo-fallback{filter:saturate(.83)}
@media(max-width:1050px){.footer-inner{gap:25px}.footer-inner .brand>span:last-child{font-size:23px}.recipe-body-layout{grid-template-columns:300px 1fr;gap:30px}.recipe-top{gap:35px}}
@media(max-width:760px){.footer-inner{grid-template-columns:1fr 1fr;gap:30px;padding-top:30px}.footer-inner>div:first-child{grid-column:1/-1}.footer-note{grid-column:1/-1;border-top:1px solid var(--line);padding-top:25px}.footer-inner>div>p{margin-top:15px}.recipe-top{grid-template-columns:1fr;gap:25px;padding-top:25px}.recipe-top h1{font-size:3rem}.recipe-body-layout{grid-template-columns:1fr;gap:30px}.recipe-top figure img{max-height:420px}.cook-dialog{padding:20px 22px 0}.cook-dialog .cook-footer{margin:22px -22px 0}.cook-dialog #cook-title{font-size:1.6rem}.cook-top .btn{font-size:.72rem;padding:8px 12px;min-height:40px}.cook-timer .btn{min-height:42px}.footer-inner .brand>span:last-child{font-size:27px}.section-heading{flex-wrap:wrap}}
@media(max-width:380px){.recipe-top h1{font-size:2.5rem}.recipe-facts{font-size:.7rem}.recipe-actions .btn{font-size:.75rem;padding:10px 12px}.cook-dialog{padding:17px 17px 0}.cook-dialog .cook-footer{margin:20px -17px 0}.cook-footer .btn{font-size:.77rem;min-width:96px}.footer-inner{gap:20px}.cook-timer input{width:58px}}
@media print{body>footer{display:none!important}.recipe-top{display:block;padding:0}.recipe-top figure{display:none}.recipe-top h1{font-size:27pt}.recipe-body-layout{display:block}.method-content{margin-top:20px}.kitchen-tip,.source-panel{background:#f7f7f7;color:#111;break-inside:avoid}.portion-control .stepper input{border:0}}
.kitchen-shortcuts>a{display:flex;align-items:center;gap:15px;text-decoration:none;padding:9px 8px}.kitchen-shortcuts>a+a{border-left:1px solid var(--line);padding-left:27px}.kitchen-shortcuts>a>span:nth-child(2){flex:1}.kitchen-shortcuts strong{display:block;font-size:.86rem}.kitchen-shortcuts small{color:var(--muted);font-size:.72rem;margin-top:3px}.shortcut-icon{display:grid;place-items:center;width:46px;height:46px;min-width:46px;border-radius:14px}.shortcut-icon.sage{background:var(--soft)}.shortcut-icon.peach{background:var(--peach)}.shortcut-icon.sand{background:var(--soft)}.paper-top{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #dce0cc;padding:0 0 16px;font:1.05rem var(--serif)}.paper-row{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #dce0cc}.paper-row>span{font-size:.58rem;letter-spacing:.07em;color:#6d765f;width:28px;flex-shrink:0}.paper-img{height:43px;width:43px;border-radius:9px;overflow:hidden;flex-shrink:0}.paper-img>img{height:100%;width:100%;object-fit:cover}.paper-row>strong{font-size:.74rem;font-weight:500;flex:1;line-height:1.4}.paper-row>.icon{color:#6a775e;width:15px;flex-shrink:0}.paper-bottom{padding-top:16px;font-size:.62rem;color:#65725d;line-height:1.6}.banner-foot{display:flex;align-items:center;gap:8px;font-size:.69rem!important;margin-top:18px}.plan-banner .btn.cream{background:#e9efdb;color:#233929}.trust-grid>article>svg{margin-bottom:20px;color:var(--primary)}.trust-grid>article h3{font:1.7rem var(--serif);margin-bottom:12px}.trust-grid>article p{color:var(--muted);font-size:.86rem;line-height:1.85}.trust-grid>article>a{font-size:.77rem;margin-top:10px}.section>.fineprint{margin-top:19px}.search-field{display:flex;align-items:center;gap:9px;min-width:0}.search-field input{width:100%;min-width:0}.theme-notice-actions{display:flex;align-items:center;gap:12px;margin-top:10px}.theme-notice-actions button{background:var(--paper);border:1px solid var(--line);border-radius:9px;min-height:42px;padding:8px 12px;font-weight:600;font-size:.76rem}
@media(max-width:950px){.kitchen-shortcuts>a{gap:9px}.kitchen-shortcuts>a+a{padding-left:16px}.kitchen-shortcuts strong{font-size:.79rem}.kitchen-shortcuts small{font-size:.67rem}.shortcut-icon{width:39px;min-width:39px;height:39px}.paper-plan{padding:22px}.paper-row{gap:8px}.paper-row>strong{font-size:.7rem}}
@media(max-width:760px){.kitchen-shortcuts>a,.kitchen-shortcuts>a+a{padding:18px 0;border-left:0}.kitchen-shortcuts>a+a{border-top:1px solid var(--line)}.kitchen-shortcuts strong{font-size:.87rem}.kitchen-shortcuts small{font-size:.76rem}.kitchen-shortcuts>a{gap:14px}.shortcut-icon{width:45px;min-width:45px;height:45px}.paper-row>strong{font-size:.74rem}.trust-grid>article{position:relative;padding-left:55px}.trust-grid>article>svg{position:absolute;left:0;top:0;width:28px}.trust-grid>article h3{font-size:1.6rem}.trust-grid>article p{font-size:.84rem}.trust-grid{padding:20px 0 0}.section-title h2{font-size:2.1rem}}
.photo-lab{margin-bottom:3.5rem;border:1px solid var(--line,#ddd);border-radius:28px;padding:clamp(20px,3vw,42px);background:var(--surface,#fffdf6);box-shadow:0 12px 48px #24362808}.photo-lab-head,.photo-results-head{display:flex;justify-content:space-between;gap:24px;align-items:start}.photo-lab h2{font-size:clamp(28px,3.4vw,43px);margin:8px 0 12px;line-height:1.16}.photo-service-badge{font-size:12px;line-height:1.5;padding:9px 14px;border-radius:24px;border:1px solid var(--line,#ddd);max-width:230px}.photo-stages{display:flex;gap:24px;list-style:none;padding:0;margin:24px 0;border-top:1px solid var(--line,#ddd);padding-top:22px}.photo-stages li{display:flex;gap:10px;align-items:center;font-size:13px;color:var(--muted,#555)}.photo-stages li span{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#68735c14}.photo-stages [aria-current=step]{color:var(--text,#273c2b);font-weight:700}.photo-stages [aria-current=step] span{background:#304c3b;color:#fff}.photo-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px)}.photo-drop{border:1px dashed #8e9a80;border-radius:20px;text-align:center;padding:28px 18px;background:#8497640a;transition:background .15s}.photo-drop.drag-over{background:#84976430;outline:2px solid #546344}.photo-camera-mark{display:grid;place-items:center;background:#d6debe6b;border-radius:16px;width:58px;height:58px;margin:0 auto 14px;color:#304c3b}.photo-drop h3,.photo-controls h3{font-size:25px;line-height:1.25;margin:12px 0}.photo-pick-actions,.photo-action-row{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin:18px 0}.photo-action-row{justify-content:flex-start}.photo-drop small,.photo-controls small{font-size:12px;line-height:1.5}.photo-preview-wrap{margin:16px 0}.photo-preview-wrap img{width:100%;height:auto;max-height:360px;object-fit:contain;border-radius:16px;background:#1b231c}.photo-preview-wrap figcaption{font-size:11px;margin-top:8px;color:var(--muted,#555)}.photo-crop{padding:12px 0}.photo-crop label{display:grid;grid-template-columns:130px minmax(0,1fr);gap:12px;align-items:center;margin-top:12px;font-size:13px}.photo-controls p{line-height:1.65}.photo-boundary{padding:14px;border-left:3px solid #a97b54;border-radius:0 10px 10px 0;background:#ac80570c;font-size:13px}.photo-consent{display:flex;align-items:flex-start;gap:12px;font-size:13px;line-height:1.65;padding:16px 0}.photo-consent input,.photo-select input{width:21px;height:21px;min-width:21px;margin-top:3px;accent-color:#304c3b}.photo-controls .field input{width:100%;box-sizing:border-box}.photo-status{min-height:48px;font-size:14px;line-height:1.65}.photo-status[data-tone=error]{border-left:3px solid #ac5c3b;padding-left:12px}.photo-results{margin-top:30px;border-top:1px solid var(--line,#ddd);padding-top:28px}.photo-results-head h3{font-size:27px;margin:0 0 8px}.photo-results-head small{font-size:12px}.photo-results-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0}.photo-food{min-width:0;padding:18px;border:1px solid var(--line,#ddd);border-radius:15px;background:var(--surface,#fff)}.photo-food legend{font-size:18px;font-weight:700;max-width:100%;overflow-wrap:anywhere;padding:0 8px}.photo-food input[type=text],.photo-food select{width:100%;box-sizing:border-box;min-width:0}.photo-food .field{margin:12px 0}.photo-food .field span,.photo-food label.field{font-size:12px}.photo-food small,.photo-food .fineprint{font-size:12px;line-height:1.6}.photo-certainty{display:inline-block;font-size:11px;font-weight:600;padding:5px 9px;border-radius:20px;background:#71916b18}.photo-certainty.uncertain{background:#b6823820}.photo-select{display:flex;gap:10px;font-size:13px;align-items:center;margin:13px 0}.photo-confirm-bar{display:flex;gap:24px;align-items:center;justify-content:space-between;padding:18px 24px;background:#8c9b6a0f;border-radius:14px}.photo-confirm-bar .photo-consent{max-width:640px}.photo-saved-food{display:flex;gap:12px;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line,#ddd);padding:12px 0}.photo-saved-food small{display:block;font-size:12px}.photo-saved-food strong{overflow-wrap:anywhere}.photo-issues{font-size:14px;line-height:1.65}.cook-step-timers{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.photo-lab :focus-visible{outline:3px solid #6c8c69;outline-offset:3px}.photo-lab [hidden]{display:none!important}.photo-lab[aria-busy=true] #photo-analyze{opacity:.6}.photo-lab input,.photo-lab select,.photo-lab button{min-height:44px}.photo-lab input[type=checkbox]{min-height:21px}.photo-lab button{white-space:normal}#extra-grocery-summary:empty{display:none}html[data-theme=dark] .photo-lab,html[data-theme=dark] .photo-food{background:#17201c;color:#eee9dc;border-color:#354239}html[data-theme=dark] .photo-service-badge,html[data-theme=dark] .photo-stages,html[data-theme=dark] .photo-results{border-color:#39483d}html[data-theme=dark] .photo-camera-mark{background:#2c3f30;color:#e4edcf}html[data-theme=dark] .photo-boundary{background:#b2866020}html[data-theme=dark] .photo-lab .photo-stages li,html[data-theme=dark] .photo-preview-wrap figcaption{color:#c1cbbd}html[data-theme=dark] .photo-lab input:not([type=checkbox]):not([type=range]),html[data-theme=dark] .photo-lab select{background:#202d25;color:#f3efdf;border-color:#465447}html[data-theme=dark] .photo-stages [aria-current=step]{color:#f3efdf}html[data-theme=dark] .photo-stages [aria-current=step] span{background:#8ba277;color:#10180f}@media(max-width:900px){.photo-results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-workspace{gap:24px}}@media(max-width:680px){.photo-workspace,.photo-results-grid{grid-template-columns:1fr}.photo-lab{border-radius:20px;padding:20px}.photo-lab-head,.photo-results-head,.photo-confirm-bar{flex-direction:column;align-items:stretch;gap:14px}.photo-stages{gap:12px;justify-content:space-between}.photo-stages li{font-size:11px;gap:6px}.photo-stages li span{width:22px;height:22px;min-width:22px}.photo-pick-actions .btn{flex:1}.photo-lab h2{font-size:31px}.photo-controls h3{font-size:25px}.photo-confirm-bar{padding:15px}.photo-results-head button{align-self:flex-start}}@media(prefers-reduced-motion:reduce){.photo-drop{transition:none}}@media print{.photo-lab{display:none}}
.photo-lab .upload-label{position:relative;overflow:hidden;cursor:pointer}.photo-lab .upload-label input[type=file]{position:absolute;width:1px;height:1px;min-height:0;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.photo-lab .upload-label:focus-within{outline:3px solid #6c8c69;outline-offset:3px}
:root{
 --bg:#f8f7f1;--paper:#fffefb;--ink:#243d33;--muted:#65756a;--line:#dce4dc;
 --primary:#274f3f;--primary-hover:#153728;--soft:#edf3eb;--sage:#dbe9cd;--terra:#b96b52;
 --shadow:0 15px 42px rgba(22,54,42,.075);--radius:24px;
}
html[data-theme=dark]{--bg:#111d18;--paper:#1a2a22;--ink:#f1f6e9;--muted:#c5d4c5;--line:#3e5847;--primary:#d6eec9;--primary-hover:#ecf5df;--soft:#223c2d;--sage:#37523e;--terra:#f0b397;--shadow:0 15px 46px rgba(0,0,0,.24)}
body{background:radial-gradient(ellipse at 88% 5%,rgba(200,220,187,.26),transparent 38%),var(--bg);font-size:16px}
button,input,select,textarea{accent-color:#286748}
button,a,summary{touch-action:manipulation}
:focus-visible{outline:3px solid #b57858;outline-offset:3px}
.site-header{position:sticky;top:0;z-index:50;background:var(--paper);background:color-mix(in srgb,var(--paper) 91%,transparent);border-bottom:1px solid var(--line);box-shadow:0 5px 24px rgba(28,64,46,.04);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.header-inner{min-height:80px;gap:14px}
.brand>span:last-child{letter-spacing:-.045em;font-size:25px}.brand-mark{width:42px;height:42px;filter:drop-shadow(0 5px 7px rgba(31,67,47,.18))}
.main-nav{gap:5px;padding:5px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--soft) 60%,transparent)}
.main-nav a{padding:10px 15px;color:var(--muted);border-radius:11px;font-weight:650;font-size:.86rem;transition:background .16s ease,color .16s ease,box-shadow .16s ease}
.main-nav a:hover,.main-nav a[aria-current=page]{background:var(--paper);box-shadow:0 2px 8px rgba(34,61,45,.075);color:var(--ink)}
.main-nav a[aria-current=page]{box-shadow:0 2px 8px rgba(34,61,45,.075),inset 0 -3px 0 var(--terra)}
.icon-btn{border:1px solid transparent;transition:background .17s,border-color .17s}
.icon-btn:hover{background:var(--soft);border-color:var(--line)}
.btn{border-radius:13px;letter-spacing:-.012em;transition:background .18s,box-shadow .18s,transform .18s}
.btn.primary{box-shadow:0 7px 18px rgba(32,78,50,.18)}.btn.primary:hover{box-shadow:0 11px 28px rgba(32,78,50,.21)}
.recipe-card,.panel,.plan-card,.today-meal,.match-card{border:1px solid var(--line);box-shadow:var(--shadow);border-radius:20px;overflow:hidden}
.recipe-card,.plan-card,.today-meal{transition:box-shadow .2s,transform .2s}
.recipe-card:hover,.plan-card:hover,.today-meal:hover{box-shadow:0 19px 40px rgba(30,65,47,.12);transform:translateY(-2px)}
.filter-bar,.pantry-panel{border-radius:20px}
input:not([type=checkbox]):not([type=range]),select,textarea{border-radius:12px;background:var(--paper);color:var(--ink);border-color:var(--line)}
input:not([type=checkbox]):not([type=range]):focus,select:focus,textarea:focus{border-color:#639477;box-shadow:0 0 0 3px rgba(85,130,91,.12)}
.photo-lab{background:linear-gradient(145deg,color-mix(in srgb,var(--paper) 94%,var(--sage)),var(--paper));border-radius:30px;border:1px solid var(--line);box-shadow:0 20px 62px rgba(33,64,40,.085);padding:clamp(20px,3.2vw,40px);scroll-margin-top:108px}
.photo-lab-head{align-items:center}.photo-lab h2{letter-spacing:-.035em}
.photo-service-badge{border-color:#afc9b8;background:var(--soft);color:var(--ink);font-weight:650}
.photo-stages{gap:12px;margin-top:20px;padding-top:18px;flex-wrap:wrap}
.photo-stages li{padding:8px 14px 8px 8px;border:1px solid transparent;border-radius:999px;white-space:nowrap}
.photo-stages li[aria-current=step]{background:var(--soft);border-color:var(--line)}
.photo-workspace{gap:clamp(20px,3vw,38px)}
.photo-drop{border-radius:20px;border:1.5px dashed #94af9b;background:linear-gradient(145deg,rgba(202,231,208,.2),rgba(255,250,236,.16));padding:22px 18px}
.photo-preview-wrap{border-radius:17px;overflow:hidden;border:1px solid var(--line);background:var(--soft)}
.photo-preview-wrap img{max-height:310px;width:100%;object-fit:contain}
.photo-boundary{background:color-mix(in srgb,var(--peach) 54%,var(--paper));border-radius:12px}
.photo-crop{padding:10px 3px}.photo-crop summary{font-weight:650}
.photo-status[data-tone=error]{padding:12px 14px;border-left:4px solid var(--terra);background:var(--soft);border-radius:8px}
.photo-lab[data-photo-stage="3"] .photo-drop{display:flex;flex-direction:column;gap:8px;padding:14px}
.photo-lab[data-photo-stage="3"] .photo-drop .photo-camera-mark,.photo-lab[data-photo-stage="3"] .photo-drop>p,.photo-lab[data-photo-stage="3"] .photo-drop>small{display:none}
.photo-lab[data-photo-stage="3"] .photo-drop h3{margin:0;font-size:1rem}
.photo-lab[data-photo-stage="3"] .photo-preview-wrap img{max-height:220px}
.photo-lab[data-photo-stage="3"] .photo-controls>.eyebrow,.photo-lab[data-photo-stage="3"] .photo-controls>h3,.photo-lab[data-photo-stage="3"] .photo-controls>p:not(#photo-provider):not(#photo-status):not(.fineprint),.photo-lab[data-photo-stage="3"] .photo-controls>label.field{display:none}
.photo-lab[data-photo-stage="3"] .photo-controls{align-content:start;display:grid;gap:9px}
.photo-lab[data-photo-stage="3"] .photo-controls .photo-consent{margin:0}
.photo-results{margin-top:26px;padding-top:30px;scroll-margin-top:100px;border-top:1.5px solid var(--line)}
.photo-results-head{align-items:center;flex-wrap:wrap;gap:18px}
.photo-results-head h3{font-size:clamp(24px,3vw,36px);letter-spacing:-.035em;line-height:1.13;margin:0 0 6px}
.photo-results-head p{margin:0 0 5px;color:var(--muted)}.photo-results-head small{display:block;color:var(--muted);font-size:.72rem}
.photo-review-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.photo-review-tools .btn{min-height:40px;padding:10px 13px;font-size:.78rem}.photo-review-tools .text-button{font-size:.78rem}
.photo-issues{background:var(--soft);padding:12px 20px 12px 33px;border-radius:12px;margin:16px 0;font-size:.82rem}
.photo-issues:empty{display:none}
.photo-results-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}
.photo-food{display:flex;flex-direction:column;gap:6px;min-width:0;border:1px solid var(--line);border-radius:18px;padding:15px 17px;background:var(--paper);box-shadow:0 2px 10px rgba(30,63,45,.03);transition:border-color .16s,box-shadow .16s,transform .16s}
.photo-food:hover{border-color:#9ab7a1}
.photo-food.is-reviewed{border-color:#639277;box-shadow:inset 0 0 0 1px #639277,0 7px 18px rgba(52,109,69,.08);background:color-mix(in srgb,var(--paper) 88%,var(--soft))}
.photo-food-top{display:flex;align-items:center;gap:10px}
.photo-pick-food{display:flex;align-items:center;gap:12px;cursor:pointer;width:100%;min-height:46px}
.photo-pick-food input{appearance:none;width:27px;height:27px;min-width:27px;min-height:27px;margin:0;position:relative;cursor:pointer;border-radius:9px;border:2px solid #98b09c;background:var(--paper)}
.photo-pick-food input:checked{border-color:#326b51;background:#326b51}
.photo-pick-food input:checked:after{content:'✓';position:absolute;inset:-3px 0 0;text-align:center;color:white;font:700 20px/28px var(--sans)}
.photo-food-heading{display:flex;flex:1;flex-wrap:wrap;align-items:center;gap:7px 12px}
.photo-food-name{font:700 clamp(16px,1.5vw,19px)/1.2 var(--sans);color:var(--ink);text-transform:capitalize;letter-spacing:-.025em}
.photo-certainty{border-radius:999px;padding:4px 8px;font-size:10px;line-height:1.3;font-weight:700;white-space:nowrap;background:#e4f0e0;color:#315d36;border:1px solid #d0e2d0}
.photo-certainty.uncertain{background:#faeedc;color:#865328;border-color:#eed9b9}
.photo-certainty.corrected{background:#e6f0fb;color:#285b83;border-color:#cfe2f4}
.photo-evidence-brief{margin:2px 0 2px 39px;color:var(--muted);font-size:12px;line-height:1.45;overflow-wrap:anywhere}
.photo-choices{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:6px 0 0 39px}
.photo-choices>span{font-size:11px;color:var(--muted);font-weight:650}
.photo-choice{padding:5px 9px;border:1px solid var(--line);background:var(--soft);color:var(--ink);border-radius:999px;min-height:32px!important;font-size:12px;line-height:1.15;font-weight:650}
.photo-choice:hover{border-color:#5d9271;background:var(--sage)}
.photo-edit-details{margin:4px 0 0 39px;border-top:1px solid var(--line);padding-top:3px}
.photo-edit-details summary{cursor:pointer;font-weight:650;font-size:12px;min-height:36px;display:flex;align-items:center;gap:7px;list-style:none;color:var(--ink)}
.photo-edit-details summary::-webkit-details-marker{display:none}
.photo-edit-details summary:before{content:'+';font:700 18px/1 var(--sans);color:var(--terra)}
.photo-edit-details[open] summary:before{content:'−'}
.photo-edit-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:9px 0 4px}
.photo-edit-fields .field{margin:0}
.photo-edit-fields .field:nth-child(3){grid-column:1/-1}
.photo-edit-fields label span{display:block;font-size:11px;color:var(--muted);margin-bottom:4px}
.photo-edit-fields input,.photo-edit-fields select{width:100%;height:42px;min-height:42px;font-size:13px;padding:8px 10px}
.photo-observation{grid-column:1/-1;margin:0;font-size:12px;color:var(--muted)}
.photo-caution{grid-column:1/-1;color:var(--muted);font-size:11px}
.photo-confirm-bar{position:sticky;bottom:16px;z-index:12;display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid #acc9b1;border-radius:18px;padding:14px 17px;background:var(--paper);box-shadow:0 18px 40px rgba(27,65,42,.16)}
.photo-confirm-copy{min-width:0;display:grid;gap:4px;max-width:640px}
.photo-confirm-copy strong{font-size:.95rem;line-height:1.4}
.photo-confirm-copy .photo-consent{margin:0;font-size:.76rem;color:var(--muted);line-height:1.4}
.photo-confirm-bar #photo-save{flex-shrink:0;min-width:220px}
.photo-commit-feedback{background:var(--soft);border-radius:12px;border-left:4px solid #438358;font-size:.84rem;font-weight:650;padding:11px 14px}
html[data-theme=dark] .photo-lab,html[data-theme=dark] .photo-food{background:var(--paper);color:var(--ink);border-color:var(--line)}
html[data-theme=dark] .photo-certainty.clear{background:#294d33;color:#dff8df;border-color:#416e4d}
html[data-theme=dark] .photo-certainty.uncertain{background:#564129;color:#f8deb0;border-color:#7e6240}
html[data-theme=dark] .photo-certainty.corrected{background:#253d56;color:#b8d7f5;border-color:#486789}
html[data-theme=dark] .photo-choice{color:var(--ink)}
@media(max-width:1050px){.main-nav{gap:0}.main-nav a{padding:9px 11px}.photo-results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:950px){.main-nav{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow)}.photo-results-head{align-items:flex-start}.photo-food-heading{align-items:start}}
@media(max-width:700px){
 .header-inner{min-height:70px}
 .photo-lab{border-radius:20px;padding:17px;margin-bottom:26px}
 .photo-lab-head{align-items:start;gap:12px}.photo-service-badge{font-size:11px;padding:6px 9px;max-width:125px}
 .photo-lab h2{font-size:30px}
 .photo-stages{gap:3px;justify-content:space-between;padding-top:12px;margin-bottom:16px}
 .photo-stages li{padding:5px;gap:5px;font-size:10px}.photo-stages li span{width:25px;height:25px}
 .photo-workspace{grid-template-columns:1fr;gap:14px}
 .photo-results{scroll-margin-top:85px;margin-top:17px}
 .photo-results-grid{grid-template-columns:1fr;gap:9px}
 .photo-food{padding:13px 14px}
 .photo-results-head h3{font-size:27px}
 .photo-review-tools{width:100%;gap:7px}
 .photo-review-tools .btn{flex:1;padding:9px 8px;font-size:11px}
 .photo-review-tools .text-button{min-width:100px;justify-content:center}
 .photo-confirm-bar{position:sticky;bottom:76px;flex-direction:column;align-items:stretch;gap:9px;padding:12px 13px;border-radius:16px}
 .photo-confirm-bar #photo-save{width:100%;min-width:0;min-height:48px}
 .photo-confirm-copy strong{font-size:13px}.photo-confirm-copy .photo-consent{font-size:12px}
 .photo-food-top,.photo-food-heading{gap:7px}
 .photo-evidence-brief,.photo-choices,.photo-edit-details{margin-left:39px}
 .bottom-nav{background:var(--paper);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 -7px 24px rgba(31,62,46,.09)}
 .bottom-nav a[aria-current=page]{color:var(--ink);font-weight:750}
}
@media(max-width:360px){.photo-review-tools .btn{font-size:10px;flex:auto}.photo-food-heading{gap:4px}.photo-certainty{font-size:9px}.photo-edit-fields{grid-template-columns:1fr}.photo-edit-fields .field:nth-child(3){grid-column:auto}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
.photo-confirm-bar:has(#photo-save:disabled){position:static}
.photo-review-reference{display:flex;align-items:center;gap:15px;padding:12px 14px;margin:15px 0 3px;background:var(--soft);border:1px solid var(--line);border-radius:16px}
.photo-review-reference[hidden]{display:none}
.photo-review-reference img{width:132px;height:90px;flex-shrink:0;border-radius:10px;object-fit:contain;background:#233329}
.photo-review-reference strong{display:block;color:var(--ink);font-size:14px;line-height:1.3}
.photo-review-reference p{color:var(--muted);font-size:12px;line-height:1.4;margin:5px 0 0}
@media(max-width:700px){.photo-review-reference{gap:10px;padding:10px}.photo-review-reference img{width:104px;height:92px}.photo-review-reference strong{font-size:12px}.photo-review-reference p{font-size:11px}}
.photo-confirm-bar{position:static!important;bottom:auto}
:root {
 --bg:#f4f5f0; --paper:#fffefa; --ink:#203c32; --muted:#5c6d63;
 --line:#dce3da; --primary:#244e3b; --primary-hover:#163627; --soft:#eaf0e4;
 --sage:#d4e2bc; --terra:#9e4b32; --peach:#f4e5d7; --blue:#e0eeec;
 --shadow:0 14px 42px #1737280b; --radius:24px;
 --serif:'Iowan Old Style','Palatino Linotype','Book Antiqua',Georgia,serif;
 --sans:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
html[data-theme=dark] {
 --bg:#101b16; --paper:#19291f; --ink:#f3f2e7; --muted:#b9c6b6;
 --line:#344c3a; --primary:#d8e7b9; --primary-hover:#eaf2d4; --soft:#22372a;
 --sage:#3b542f; --terra:#efb699; --peach:#422d22; --blue:#213b38;
 --shadow:0 14px 42px #0003;
}
html {scroll-padding-top:106px}
body {background:radial-gradient(ellipse at 85% 0%,#e2ead58c 0,transparent 44%),var(--bg);font-size:15px;line-height:1.65}
html[data-theme=dark] body {background:var(--bg)}
h1,h2,h3 {text-wrap:balance}
h1 {font-size:clamp(2.55rem,4.8vw,4.6rem);letter-spacing:-.052em;line-height:1.08}
h2 {font-size:clamp(1.8rem,2.8vw,2.85rem);letter-spacing:-.04em}
h3 {font-family:var(--serif);font-size:1.4rem;font-weight:500;letter-spacing:-.025em}
h1 em,h2 em {color:var(--terra)}
.wrap {width:min(1320px,calc(100% - 80px))}
.page-heading {padding-top:56px;padding-bottom:36px;gap:28px}
.page-heading .lead {max-width:760px;font-size:1.02rem}
.page-heading h1 {margin-block:13px 18px}
.eyebrow {font-weight:750;letter-spacing:.14em;font-size:.68rem}
.eyebrow.small {font-size:.64rem}
.fineprint {font-size:.8rem;line-height:1.6}
.section {padding-block:60px}
.section-title {align-items:end;gap:24px;margin-bottom:26px}
.section-title h2 {margin-top:9px}
.section-title p {margin-top:14px;color:var(--muted);max-width:700px}
.small-section-title {align-items:center;margin-bottom:20px}
.small-section-title h2 {font-size:1.8rem}
.small-section-title h3 {margin-top:6px;font-size:1.55rem}
.site-header {position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--paper) 95%,transparent);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.header-inner {min-height:92px;gap:24px}
.brand {gap:12px;flex-shrink:0}
.brand-mark {width:45px;height:45px}
.brand>span:last-child {font-family:var(--serif);font-size:1.64rem;letter-spacing:-.05em}
.brand small {font-family:var(--sans);font-size:.49rem;letter-spacing:.115em;margin-top:3px}
.main-nav {gap:4px;padding:5px;background:var(--soft);border:1px solid var(--line);border-radius:16px}
.main-nav a {display:flex;align-items:center;gap:7px;padding:10px 12px;border-radius:11px;white-space:nowrap;font-size:.84rem;font-weight:650;text-decoration:none;color:var(--muted)}
.main-nav a[aria-current=page] {background:var(--paper);box-shadow:0 2px 6px #1737280c;color:var(--ink)}
.main-nav a::after {display:none}
.main-nav a:hover {background:var(--paper);color:var(--ink)}
.header-actions {gap:7px}
.icon-btn {min-width:42px;min-height:42px;border-radius:12px}
.header-actions>.icon-btn {border:1px solid var(--line);background:var(--paper)}
.quick-open {display:flex;gap:7px;align-items:center;padding-inline:10px}
kbd {font:10px/1.5 var(--sans);color:var(--muted);white-space:nowrap;border:1px solid var(--line);padding:1px 4px;border-radius:4px}
.btn {min-height:46px;padding:11px 18px;border-radius:12px;font-size:.88rem;font-weight:650;gap:10px;box-shadow:none;transition:background .16s,box-shadow .16s,transform .16s}
.btn.primary {background:var(--primary);color:var(--paper);border:1px solid var(--primary);box-shadow:0 4px 10px #132f2012}
html[data-theme=dark] .btn.primary {color:#182b1d}
.btn.secondary {background:var(--paper);color:var(--ink);border:1px solid var(--line)}
.btn.cream {background:#f6f4e5;color:#244333;border:1px solid #f6f4e5}
.btn:hover:not(:disabled) {transform:translateY(-1px);box-shadow:0 6px 14px #152c2014}
.text-button {min-height:40px;line-height:1.45}
input:not([type=checkbox]):not([type=file]),select,textarea {min-height:46px;border-radius:12px;border-color:var(--line);box-shadow:inset 0 1px 2px #15332003;font-size:.9rem}
.field>span {font-size:.75rem;font-weight:650;color:var(--muted);margin-bottom:5px}
.panel {border:1px solid var(--line);background:var(--paper);border-radius:var(--radius);box-shadow:var(--shadow);padding:26px}
.badge,.count-badge {font-family:var(--sans);font-size:.72rem;font-weight:650;border-radius:8px;background:var(--soft);color:var(--ink)}
.home-v5 {display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center;padding-block:72px 62px}
.home-v5 h1 {font-size:clamp(3rem,5vw,5.25rem);margin:22px 0 24px;line-height:1.04}
.home-v5 .lead {max-width:530px;font-size:1.06rem;line-height:1.8}
.live-dot {display:inline-block;width:7px;height:7px;background:#507c4a;border-radius:50%;box-shadow:0 0 0 4px #7390651a}
.hero-actions {display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.hero-reassurance {display:flex;gap:19px;flex-wrap:wrap;font-size:.72rem;color:var(--muted);margin-top:22px}
.hero-reassurance span {display:flex;gap:7px;align-items:center}
.home-v5-visual {position:relative;padding:0 0 50px 10px}
.hero-photo-frame {position:relative;overflow:hidden;aspect-ratio:1.12;border-radius:150px 28px 28px 28px;background:var(--soft);border:9px solid var(--paper);box-shadow:0 22px 50px #24442b12;transform:rotate(2deg)}
.hero-photo-frame img {width:100%;height:100%;object-fit:cover}
.hero-image-label {position:absolute;bottom:15px;right:16px;background:#fffefae8;color:#244432;padding:5px 10px;border-radius:8px;font-size:.66rem}
.floating-kitchen-card {position:absolute;left:-26px;bottom:14px;display:flex;align-items:center;gap:17px;padding:21px 24px;background:var(--paper);border:1px solid var(--line);border-radius:19px;box-shadow:0 16px 35px #1a342518;max-width:96%}
.floating-kitchen-card strong {display:block;font-family:var(--serif);font-size:1.4rem;letter-spacing:-.035em}
.floating-kitchen-card small {color:var(--muted);font-size:.75rem;margin-top:3px}
.hero-step-note {display:flex;align-items:center;gap:10px;position:absolute;top:-19px;right:-13px;background:var(--primary);color:var(--bg);padding:11px 17px;border-radius:12px;font-size:.68rem;transform:rotate(-3deg);box-shadow:0 5px 15px #19362412}
.hero-step-note span {font-weight:800;opacity:.75}
.everyday-rail {display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:var(--paper);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);overflow:hidden}
.everyday-rail a {position:relative;display:flex;gap:13px;align-items:center;padding:24px;text-decoration:none;border-right:1px solid var(--line);transition:background .2s}
.everyday-rail a:last-child {border:0}
.everyday-rail a:hover {background:var(--soft)}
.everyday-rail strong {display:block;font-size:.94rem}
.everyday-rail small {font-size:.71rem;color:var(--muted);margin-top:3px}
.everyday-rail .rail-number {position:absolute;right:13px;top:8px;font-size:.58rem;color:var(--muted)}
.everyday-rail a>.icon:last-child {margin-left:auto;width:15px}
.connected-banner {display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;background:#223e31;color:#f8f5e7;border-radius:30px;padding:52px}
.connected-banner h2 {color:#faf8eb;font-size:3.2rem;margin:15px 0 22px}
.connected-banner h2 em {color:#d1dca7}
.connected-banner .eyebrow {color:#c5d4bd}
.connected-banner p {color:#d5dfd0;max-width:490px}
.connected-banner .btn {margin-top:26px}
.routine-stack {display:grid;gap:12px}
.routine-stack>div {display:flex;align-items:center;gap:18px;border:1px solid #ffffff20;border-radius:18px;background:#ffffff07;padding:23px}
.routine-stack>div>span {font-size:.75rem;color:#d1dca7;border:1px solid #d1dca757;padding:7px;border-radius:10px}
.routine-stack section {padding:0;flex:1}
.routine-stack h3 {color:#faf8eb;font-size:1.35rem}
.routine-stack p {font-size:.79rem;line-height:1.5;margin-top:5px}
.trust-grid {gap:20px}
.trust-grid article {border:1px solid var(--line);border-radius:22px;padding:30px;background:var(--paper);box-shadow:var(--shadow)}
.trust-grid h3 {margin:18px 0 12px}
.trust-grid p {font-size:.88rem;line-height:1.75}
.trust-grid a {display:inline-flex;gap:6px;align-items:center;margin-top:18px;font-size:.8rem}
.recipe-grid {gap:22px}
.recipe-card {border-radius:23px;background:var(--paper);border:1px solid var(--line);box-shadow:0 5px 18px #15352305;overflow:hidden;transition:transform .18s,box-shadow .18s}
.recipe-card:hover {transform:translateY(-4px);box-shadow:0 14px 25px #17372712}
.card-image {aspect-ratio:1.42;overflow:hidden;background:var(--soft)}
.card-image img {width:100%;height:100%;object-fit:cover;transition:transform .5s}
.recipe-card:hover .card-image img {transform:scale(1.04)}
.card-content {padding:22px}
.card-content h3 {font-size:1.45rem;margin:12px 0 18px}
.card-tail {border-top:1px solid var(--line);padding-top:13px;font-size:.75rem;color:var(--muted)}
.favorite {width:38px;height:38px;min-height:38px;background:#fffefae8;color:#244432;border-radius:12px;box-shadow:0 3px 8px #20332415}
.favorite[aria-pressed=true] {background:var(--peach);color:var(--terra)}
.filter-bar {background:var(--paper);border:1px solid var(--line);padding:18px;border-radius:20px;box-shadow:var(--shadow);gap:12px}
.results-line {font-size:.86rem;color:var(--muted);margin-block:20px}
.recipe-top {gap:44px;padding-bottom:44px}
.recipe-top h1 {font-size:clamp(2.35rem,3.5vw,3.8rem)}
.recipe-facts {display:flex;gap:10px;flex-wrap:wrap}
.recipe-facts span {background:var(--soft);border-radius:8px;padding:7px 10px;font-size:.74rem}
.recipe-hero-image {border-radius:28px;overflow:hidden;background:var(--soft);border:1px solid var(--line)}
.recipe-hero-image img {border-radius:0}
.photo-caption {padding:12px 15px;font-size:.65rem;background:var(--paper);color:var(--muted)}
.ingredients-panel {position:sticky;top:116px;align-self:start}
.ingredient-check {padding:15px 0;gap:12px}
.method-list>li {padding-block:22px;border-bottom:1px solid var(--line)}
.step-number {background:var(--soft);border-radius:12px;color:var(--primary);min-width:42px;height:42px;font-size:.95rem}
.source-panel {border-radius:20px;background:var(--soft);border:1px solid var(--line);padding:25px}
.source-panel h3 {margin-bottom:15px}
.source-panel p {font-size:.82rem;line-height:1.7}
.photo-lab {background:var(--paper);border:1px solid var(--line);border-radius:28px;padding:32px;box-shadow:var(--shadow);margin-bottom:40px}
.photo-lab-head h2 {font-size:2.4rem;margin:10px 0}
.photo-lab-head p {font-size:.92rem;color:var(--muted)}
.photo-stages {display:flex;gap:24px;flex-wrap:wrap;padding-block:18px;border-block:1px solid var(--line);margin-block:24px}
.photo-stages li {font-size:.77rem}
.photo-drop {background:linear-gradient(145deg,var(--soft),var(--paper));border:1px dashed #859b79;border-radius:20px;padding:30px;min-height:230px}
.photo-controls {padding:0 8px}
.photo-controls>h3 {font-size:1.6rem;margin-block:12px}
.photo-controls>p {font-size:.87rem}
.photo-boundary {font-size:.78rem!important;line-height:1.65;border-radius:0 12px 12px 0}
.photo-preview-wrap {border-radius:20px;overflow:hidden;border:1px solid var(--line)}
#pantry-preview {max-height:360px;object-fit:contain;background:var(--soft)}
.photo-consent {font-size:.8rem;line-height:1.55;align-items:start;gap:10px}
.photo-results {border-top:1px solid var(--line);margin-top:28px;padding-top:28px}
.photo-results-head h3 {font-size:1.9rem}
.photo-results-grid {gap:12px}
.photo-food {border-radius:17px;border:1px solid var(--line);box-shadow:none;transition:border .15s,background .15s}
.photo-food.is-selected {border-color:var(--primary);background:var(--soft)}
.photo-review-reference {border-radius:18px;background:var(--soft);padding:15px;margin-block:22px}
.photo-review-reference img {border-radius:11px;object-fit:cover}
.photo-confirm-bar {border-radius:18px;background:var(--soft);padding:22px;margin-top:24px;box-shadow:none}
.photo-confirm-copy strong {font-size:.92rem}
.photo-recipe-preview {margin-top:25px;padding:24px;background:var(--peach);border-radius:21px;border:1px solid var(--line)}
.selection-recipes {display:grid;gap:10px}
.suggestion-mini {display:flex;align-items:center;gap:15px;padding:14px;background:var(--paper);border:1px solid var(--line);border-radius:16px;min-width:0}
.suggestion-mini-art {width:78px;height:78px;flex-shrink:0;border-radius:12px;overflow:hidden;background:var(--soft)}
.suggestion-mini-art img {width:100%;height:100%;object-fit:cover}
.suggestion-mini>div {flex:1;min-width:0}
.suggestion-mini h3 {font-size:1.23rem;line-height:1.3;margin:4px 0}
.suggestion-mini h3 a {text-decoration:none}
.suggestion-mini p {font-size:.76rem;color:var(--muted)}
.suggestion-mini small {font-size:.69rem;color:var(--muted);line-height:1.45;margin-top:4px}
.pantry-layout {grid-template-columns:270px minmax(0,1fr);gap:26px;align-items:start;padding-top:14px}
.pantry-panel {padding:23px;position:sticky;top:116px}
.pantry-panel h2 {font-family:var(--sans);font-size:1.07rem;font-weight:700;letter-spacing:-.025em}
.pantry-panel .round-icon {width:34px;height:34px}
.pantry-empty {padding:17px;background:var(--soft);border-radius:14px;margin-block:18px}
.pantry-empty strong {font-size:.88rem}
.pantry-empty p {font-size:.76rem;color:var(--muted);margin-top:7px}
.pantry-chip {width:100%;display:flex;gap:4px;align-items:center;padding:5px 5px 5px 12px;border-radius:11px;background:var(--soft);border:1px solid var(--line)}
.pantry-chip>span {flex:1;font-size:.8rem;font-weight:550}
.pantry-chip button {min-height:32px;min-width:32px;border-radius:8px}
.pantry-chip button[aria-pressed=true] {color:var(--terra);background:var(--peach)}
.quick-ingredients {gap:7px}
.chip-button {font-size:.74rem;padding:7px 10px;min-height:39px;border-radius:10px;border:1px solid var(--line);background:var(--paper)}
.chip-button[aria-pressed=true] {background:var(--primary);color:var(--paper);border-color:var(--primary)}
html[data-theme=dark] .chip-button[aria-pressed=true] {color:#173022}
.reviewed-notes summary {font-size:.83rem;font-weight:650;cursor:pointer;padding:12px 0}
.photo-saved-food {gap:7px;padding:10px 0}
.photo-saved-food .text-button {font-size:.68rem;min-width:45px}
.recommendation-heading {display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:21px}
.recommendation-heading h2 {margin-block:9px 12px;font-size:2.8rem}
.recommendation-heading p {font-size:.84rem;color:var(--muted)}
.recommendation-heading>.field {min-width:115px}
.recipe-mode-tabs {display:flex;gap:10px;margin-bottom:15px}
.recipe-mode-tabs button {flex:1;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border:1px solid var(--line);background:var(--paper);border-radius:13px;min-height:54px;font-size:.8rem}
.recipe-mode-tabs button strong {background:var(--soft);padding:3px 8px;border-radius:8px;font-size:.85rem;min-width:29px}
.recipe-mode-tabs button[aria-pressed=true] {background:var(--primary);border-color:var(--primary);color:var(--paper)}
.recipe-mode-tabs button[aria-pressed=true] strong {background:#ffffff20;color:inherit}
html[data-theme=dark] .recipe-mode-tabs button[aria-pressed=true] {color:#193220}
.filter-bar.compact {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:16px;gap:12px}
.match-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:stretch}
.match-card.recommendation-card {display:flex;flex-direction:column;overflow:hidden;padding:0;border-radius:22px;background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow)}
.recommendation-photo {display:block;position:relative;overflow:hidden;aspect-ratio:1.7;background:var(--soft)}
.recommendation-photo img {width:100%;height:100%;object-fit:cover;transition:transform .35s}
.recommendation-photo:hover img {transform:scale(1.04)}
.match-status {position:absolute;left:13px;bottom:12px;background:#fffefaf0;color:#33473b;font-size:.67rem;font-weight:700;border:1px solid #fff8;border-radius:8px;padding:6px 10px}
.match-status.ready {background:#e1eebdeb;color:#304d20}
.match-status.close {background:#f7e5c9f0;color:#684019}
.recommendation-content {padding:20px;display:flex;flex-direction:column;flex:1}
.recommendation-meta {display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.65rem;letter-spacing:.035em;text-transform:uppercase}
.recommendation-meta>span {display:flex;gap:5px;align-items:center}
.recommendation-meta .icon {width:14px;height:14px}
.recommendation-meta>button {margin-left:auto;min-width:32px;min-height:32px}
.recommendation-meta>button[aria-pressed=true] {color:var(--terra);background:var(--peach)}
.recommendation-card h3 {font-size:1.55rem;line-height:1.22;margin:8px 0 12px}
.recommendation-card h3 a {text-decoration:none}
.recommendation-description {font-size:.81rem;line-height:1.65;color:var(--muted);margin-bottom:16px}
.ingredient-coverage {display:grid;grid-template-columns:1fr auto;gap:7px;font-size:.68rem;color:var(--muted);margin-block:2px 15px}
.ingredient-coverage strong {color:var(--ink);font-size:.73rem}
.ingredient-coverage progress {grid-column:1/-1;height:5px}
.match-ingredients {border:1px solid var(--line);border-radius:12px;overflow:hidden;font-size:.76rem;line-height:1.6;margin-bottom:14px}
.match-ingredients p {padding:12px;margin:0;background:var(--soft)}
.match-ingredients p+p {border-top:1px solid var(--line);background:var(--paper)}
.match-ingredients span {display:block;font-size:.6rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;margin-bottom:4px}
.have-label {color:var(--primary)}
.need-label {color:var(--terra)}
.match-explanation {font-size:.75rem;line-height:1.6;margin-bottom:18px}
.match-explanation summary {display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;font-weight:650;min-height:36px}
.match-explanation p {color:var(--muted);margin-top:8px}
.recommendation-actions {display:flex;gap:8px;margin-top:auto}
.recommendation-actions .btn {flex:1;min-height:42px;padding:10px 8px;font-size:.75rem}
.recommendation-actions .icon {width:16px}
.grocery-add {display:flex;justify-content:center;align-items:center;gap:5px;margin-top:10px;font-size:.72rem;text-align:center;min-height:42px;line-height:1.4}
.recipe-empty {grid-column:1/-1;border-radius:22px;border:1px dashed var(--line);padding:36px;background:var(--paper)}
.recipe-empty .btn {margin-top:15px}
.use-first-label {font-size:.7rem;color:var(--terra);background:var(--peach);padding:6px 10px;border-radius:8px;margin-bottom:12px}
.today-summary {border:1px solid var(--line);border-radius:21px;overflow:hidden;background:var(--paper);box-shadow:var(--shadow);margin-bottom:28px}
.summary-item {padding:24px}
.summary-item strong {font-family:var(--serif);font-size:1.7rem}
.summary-item small {font-size:.74rem}
.today-layout {gap:27px;grid-template-columns:minmax(0,1fr) 320px}
.today-meal {border:1px solid var(--line);border-radius:19px;background:var(--paper);padding:16px;gap:20px;box-shadow:var(--shadow);margin-bottom:13px}
.today-meal>img {width:105px;height:105px;border-radius:15px;object-fit:cover}
.today-meal h3 {font-size:1.45rem}
.today-meal.is-eaten {background:var(--soft);border-color:var(--sage)}
.log-button {border-radius:13px;min-width:44px;min-height:44px}
.water-panel {background:linear-gradient(150deg,var(--blue),var(--paper));border:1px solid var(--line)}
.water-panel h2 {font-size:1.8rem;margin-block:10px}
.water-number {font-variant-numeric:tabular-nums}
.note-panel h3 {font-size:1.4rem}
.today-recommendations {padding-top:45px;padding-bottom:20px}
.today-suggestions {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.today-suggestions .suggestion-mini {padding:13px;gap:12px}
.today-suggestions .suggestion-mini-art {width:62px;height:72px}
.today-suggestions h3 {font-size:1.17rem}
.today-suggestions .icon-btn {min-width:28px;min-height:35px}
.workspace-toolbar {background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:20px;margin-bottom:22px;box-shadow:var(--shadow)}
.day-tabs {gap:9px;background:none;border:0;padding:0;margin-block:23px}
.day-tabs button {border:1px solid var(--line);border-radius:15px;background:var(--paper);padding:12px 10px;min-height:70px;font-size:.9rem}
.day-tabs button[aria-pressed=true] {background:var(--primary);color:var(--paper);box-shadow:0 5px 14px #20392213}
html[data-theme=dark] .day-tabs button[aria-pressed=true] {color:#1a3522}
.plan-card {border-radius:22px;border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow)}
.plan-card-content {padding:22px}
.plan-card h3 {font-size:1.5rem}
.week-overview {background:var(--paper);border:1px solid var(--line);border-radius:18px;overflow:auto}
.week-overview summary {padding:21px;cursor:pointer;font-weight:650}
.shopping-layout {gap:28px;grid-template-columns:310px minmax(0,1fr)}
.shopping-options {position:sticky;top:115px}
.shopping-options h2 {font-size:1.8rem}
.shopping-progress-panel {background:var(--soft);border:1px solid var(--line);border-radius:20px;padding:22px}
.shopping-group {border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--paper);box-shadow:var(--shadow)}
.shopping-group h2 {background:var(--soft);padding:17px 23px;font-size:1.45rem}
.shopping-group h2 span {font: .72rem var(--sans);color:var(--muted)}
.grocery-row {padding:16px 23px;border-top:1px solid var(--line);min-height:68px}
.grocery-row label {gap:14px}
.grocery-row strong {font-size:.8rem}
.grocery-row.is-checked {background:var(--soft);opacity:.65}
.settings-grid {gap:22px}
.settings-grid .panel h2 {font-size:1.8rem}
.preferences-panel {margin-top:28px;margin-bottom:30px;padding:30px}
.preferences-panel h2 {margin:10px 0 15px}
.preferences-panel>p {max-width:750px;color:var(--muted);font-size:.9rem}
.preferences-fields {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-block:24px}
.preferences-exclusions {display:flex;flex-wrap:wrap;gap:10px}
.preference-choice {display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:11px 16px;background:var(--soft);font-size:.82rem}
.preferences-save {display:flex;align-items:center;gap:25px;margin-top:23px}
.preferences-save p {max-width:700px}
.action-dialog,.cook-dialog,.quick-dialog {background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:26px;box-shadow:0 30px 90px #08190b4d;max-height:90dvh;overflow:auto}
dialog::backdrop {background:#0c211aba;backdrop-filter:blur(5px)}
.swap-option {background:var(--paper);border:1px solid var(--line);border-radius:15px;padding:13px;gap:14px;min-height:80px}
.swap-option:hover:not(:disabled) {background:var(--soft)}
.swap-option img {border-radius:12px}
.cook-dialog {padding:32px}
.cook-step {background:var(--soft);border-radius:20px;padding:30px;font:clamp(1.25rem,2.4vw,2.1rem)/1.55 var(--serif);letter-spacing:-.02em}
.cook-timer {border:1px solid var(--line);border-radius:18px;background:var(--paper);padding:18px}
#timer-display {font-variant-numeric:tabular-nums;letter-spacing:-.04em}
.quick-dialog {width:min(650px,calc(100% - 28px));padding:28px}
.quick-heading {display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}
.quick-heading h2 {font-size:2rem;margin-top:8px}
.quick-search-field {display:flex;align-items:center;gap:12px;padding:5px 14px;background:var(--soft);border:1px solid var(--line);border-radius:15px}
.quick-search-field input {border:0!important;background:transparent!important;width:100%;outline-offset:0!important}
.quick-results {display:grid;gap:6px;margin-top:18px;max-height:50dvh;overflow:auto}
.quick-result {display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:12px;padding:13px 15px;text-decoration:none}
.quick-result:hover,.quick-result:focus {background:var(--soft)}
.quick-result strong {font-size:.89rem}
.quick-result small {font-size:.74rem;color:var(--muted);margin-top:4px}
.prose {background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:38px;box-shadow:var(--shadow)}
.prose h2 {margin-top:35px;font-size:1.85rem}
.prose p {font-size:.95rem;line-height:1.85}
footer {border-top:1px solid var(--line);background:var(--paper);margin-top:65px;padding-top:44px}
.footer-note {background:var(--soft);border:1px solid var(--line);border-radius:18px;padding:22px}
.footer-inner {gap:35px}
.footer-inner h3 {font:700 .68rem var(--sans);letter-spacing:.12em}
.footer-inner a,.footer-inner p {font-size:.8rem;line-height:1.8}
.footer-bottom {font-size:.72rem;padding-block:22px;margin-top:32px}
.toast,.update-note {border-radius:14px;box-shadow:0 10px 35px #10281922;max-width:min(90vw,640px);font-size:.87rem}
#storage-warning,#offline-notice {border-radius:12px;margin-top:12px}
@media(min-width:1101px){.mobile-toggle {display:none}}
@media(max-width:1250px){.header-inner {gap:15px}.brand small {display:none}.main-nav a {padding:10px;font-size:.8rem}.main-nav .icon {display:none}.quick-open kbd {display:none}.home-v5 {gap:35px}.everyday-rail a {padding:21px 17px}}
@media(max-width:1100px){.main-nav {display:none}.main-nav.is-open {display:grid;position:absolute;top:82px;right:30px;left:30px;background:var(--paper);box-shadow:var(--shadow);padding:15px;grid-template-columns:repeat(5,minmax(0,1fr))}.main-nav.is-open a {justify-content:center;padding:16px 9px}.header-inner {min-height:82px}.header-actions {margin-left:auto}.mobile-toggle {display:flex}.home-v5 {gap:25px}.home-v5 h1 {font-size:3.5rem}.floating-kitchen-card {left:0;padding:17px}.hero-step-note {right:0;font-size:.6rem}.everyday-rail {grid-template-columns:repeat(2,1fr)}.everyday-rail a:nth-child(2) {border-right:0}.everyday-rail a:nth-child(-n+2){border-bottom:1px solid var(--line)}.connected-banner {gap:35px;padding:38px}.pantry-layout {grid-template-columns:240px minmax(0,1fr);gap:20px}.recommendation-card h3 {font-size:1.3rem}.recommendation-actions {flex-direction:column}.today-suggestions {grid-template-columns:1fr}.today-layout {grid-template-columns:minmax(0,1fr) 280px}.wrap {width:calc(100% - 50px)}}
@media(max-width:800px){.home-v5 {grid-template-columns:1fr;padding-block:42px 30px;gap:35px}.home-v5 h1 {font-size:3.8rem}.home-v5-visual {max-width:570px;width:100%;margin:auto;padding-left:0}.hero-photo-frame {aspect-ratio:1.5;border-radius:90px 25px 25px 25px}.floating-kitchen-card {bottom:10px;left:15px}.home-v5-copy {max-width:650px}.connected-banner {grid-template-columns:1fr;gap:30px;padding:32px}.connected-banner h2 {font-size:2.7rem}.trust-grid {grid-template-columns:1fr}.pantry-layout {display:block}.pantry-panel {position:static;margin-bottom:28px}.pantry-chips {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.quick-ingredients {display:flex;flex-wrap:wrap}.pantry-panel hr {margin:18px 0}.photo-lab {padding:25px}.recommendation-heading h2 {font-size:2.5rem}.today-layout {display:block}.today-sidebar {display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:24px}.today-sidebar .pantry-prompt {grid-column:1/-1}.today-sidebar .panel {margin:0}.today-suggestions {grid-template-columns:1fr}.shopping-layout {display:block}.shopping-options {position:static;margin-bottom:22px}.ingredients-panel {position:static}.recipe-body-layout {gap:25px}.preferences-fields {grid-template-columns:1fr 1fr}.recipe-actions {gap:9px}.main-nav.is-open {grid-template-columns:1fr;left:25px;right:25px;max-height:70dvh;overflow:auto}.main-nav.is-open a {justify-content:start}.main-nav .icon {display:block}.recipe-grid.home-picks {grid-template-columns:repeat(2,minmax(0,1fr))}.footer-inner {grid-template-columns:1fr 1fr}.bottom-nav {z-index:40;border:1px solid var(--line);box-shadow:0 -5px 24px #193a2410;background:color-mix(in srgb,var(--paper) 97%,transparent);padding-bottom:max(7px,env(safe-area-inset-bottom));border-radius:20px 20px 0 0;left:0;right:0;bottom:0;width:100%}.bottom-nav a {border-radius:13px;min-height:53px;gap:5px;padding:8px 4px}.bottom-nav a[aria-current=page] {background:var(--soft);color:var(--ink)}.bottom-nav span {font-size:.64rem}.footer-bottom {padding-bottom:100px}.photo-confirm-bar {position:static}.toast {bottom:90px}.update-note {bottom:155px}}
@media(max-width:520px){.wrap {width:calc(100% - 28px)}.header-inner {min-height:74px;gap:9px}.brand-mark {width:36px;height:36px}.brand {gap:8px}.brand>span:last-child {font-size:1.26rem}.header-actions {gap:4px}.header-actions>.icon-btn {min-width:35px;min-height:37px;width:35px;border-radius:10px}.header-actions>.icon-btn .icon {width:17px;height:17px}.main-nav.is-open {top:70px;left:14px;right:14px}.page-heading {padding-block:34px 26px;gap:18px}.page-heading h1 {font-size:2.65rem}.page-heading .lead {font-size:.92rem;line-height:1.7}.page-heading .heading-actions {width:100%;gap:8px}.section {padding-block:38px}.home-v5 {padding-top:37px}.home-v5 h1 {font-size:3rem;line-height:1.08}.home-v5 .lead {font-size:.95rem}.home-v5 .eyebrow {font-size:.57rem}.hero-actions {gap:9px;margin-top:24px}.hero-actions .btn {font-size:.79rem;padding:11px 13px}.hero-reassurance {gap:10px;font-size:.66rem}.hero-step-note {display:none}.home-v5-visual {padding-bottom:58px}.hero-photo-frame {border-width:6px;aspect-ratio:1.2;border-radius:90px 20px 20px 20px}.floating-kitchen-card {left:10px;padding:15px;gap:12px;bottom:10px}.floating-kitchen-card strong {font-size:1.21rem}.floating-kitchen-card small {font-size:.64rem}.floating-kitchen-card .eyebrow {font-size:.51rem}.floating-kitchen-card .round-icon {width:38px;height:38px}.everyday-rail {border-radius:16px}.everyday-rail a {gap:10px;padding:21px 13px}.everyday-rail a>.icon {width:20px}.everyday-rail a>.icon:last-child {display:none}.everyday-rail strong {font-size:.8rem}.everyday-rail small {font-size:.62rem}.section-title {align-items:start}.section-title h2 {font-size:2rem}.section-title .btn {font-size:.75rem;min-height:40px;padding:9px 12px}.recipe-grid.home-picks {gap:12px}.home-picks .card-content {padding:14px}.home-picks h3 {font-size:1.2rem}.home-picks .eyebrow {font-size:.51rem}.home-picks .card-tail {font-size:.63rem;line-height:1.45}.home-picks .favorite {width:33px;height:33px;min-height:33px}.connected-banner {padding:28px;border-radius:24px}.connected-banner h2 {font-size:2.5rem}.routine-stack>div {padding:16px;gap:12px}.routine-stack h3 {font-size:1.2rem}.routine-stack p {font-size:.74rem}.trust-grid article {padding:25px}.photo-lab {padding:20px 16px;border-radius:22px;margin-bottom:25px}.photo-lab-head h2 {font-size:2rem}.photo-service-badge {font-size:.61rem;max-width:100%;word-break:break-word}.photo-stages {gap:13px;padding-block:15px}.photo-stages li {font-size:.64rem}.photo-workspace {gap:23px}.photo-drop {padding:23px 18px;min-height:0}.photo-drop h3 {font-size:1.55rem}.photo-controls {padding:0}.photo-pick-actions .btn {font-size:.8rem}.photo-boundary {padding:10px 13px;font-size:.73rem!important}.photo-confirm-bar {padding:17px}.photo-confirm-bar>.btn {width:100%}.photo-results-head h3 {font-size:1.7rem}.photo-review-tools {gap:6px}.photo-review-tools .btn {min-height:39px;font-size:.69rem;padding:9px}.photo-review-reference {gap:13px}.photo-review-reference img {width:96px}.photo-review-reference p {font-size:.68rem}.photo-results-grid {grid-template-columns:1fr}.photo-food {padding:15px}.photo-recipe-preview {padding:17px}.photo-recipe-preview h3 {font-size:1.4rem}.suggestion-mini {gap:10px;padding:11px}.suggestion-mini-art {width:58px;height:70px}.suggestion-mini h3 {font-size:1.12rem}.suggestion-mini .eyebrow {font-size:.5rem}.suggestion-mini small {font-size:.64rem}.suggestion-mini .icon-btn {min-width:27px;width:27px}.pantry-panel {padding:21px}.pantry-chips {grid-template-columns:1fr}.recommendation-heading {align-items:start;gap:12px}.recommendation-heading h2 {font-size:2rem}.recommendation-heading p {font-size:.77rem}.recommendation-heading>.field {min-width:83px;width:83px}.recommendation-heading>.field>span {font-size:.63rem}.recipe-mode-tabs {gap:7px}.recipe-mode-tabs button {flex-direction:column;align-items:start;padding:11px 10px;gap:7px;font-size:.69rem;border-radius:12px}.recipe-mode-tabs strong {font-size:.8rem}.filter-bar.compact {grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;padding:13px}.filter-bar.compact .field:last-child {grid-column:1/-1}.field>span {font-size:.7rem}.filter-bar.compact select {font-size:.78rem;padding-left:9px}.results-line {font-size:.79rem}.match-grid {grid-template-columns:1fr;gap:20px}.recommendation-photo {aspect-ratio:1.65}.recommendation-content {padding:21px}.recommendation-card h3 {font-size:1.75rem}.recommendation-description {font-size:.85rem}.recommendation-actions {flex-direction:row}.recommendation-actions .btn {font-size:.8rem}.match-ingredients {font-size:.83rem}.ingredient-coverage {font-size:.72rem}.today-summary {display:grid;grid-template-columns:1fr;gap:0}.summary-item {padding:17px 20px;display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--line)}.summary-item:last-child {border:0}.summary-item span {display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%}.summary-item strong {font-size:1.45rem;white-space:nowrap}.summary-item small {font-size:.69rem}.today-meal {gap:12px;padding:13px}.today-meal>img {width:67px;height:82px;border-radius:12px}.today-meal h3 {font-size:1.17rem}.today-meal .eyebrow {font-size:.52rem}.today-meal .meal-meta {font-size:.68rem;gap:8px}.today-meal .log-button {min-width:35px;width:35px;min-height:38px;height:38px}.today-sidebar {grid-template-columns:1fr}.today-suggestions .suggestion-mini {gap:12px}.workspace-toolbar {padding:17px;gap:15px}.day-tabs {gap:5px}.day-tabs button {font-size:.75rem;min-height:61px;padding:9px 5px;border-radius:11px}.day-tabs small {font-size:.54rem}.plan-card-content {padding:18px}.plan-card h3 {font-size:1.4rem}.shopping-options {padding:22px}.grocery-row {padding:14px 17px}.grocery-row label {gap:10px;font-size:.85rem}.shopping-progress-panel {padding:18px}.shopping-progress-panel>div {gap:12px}.shopping-progress-panel strong {font-size:.81rem}.switch-label {font-size:.72rem}.preferences-panel {padding:22px}.preferences-fields {grid-template-columns:1fr;gap:13px}.preferences-save {flex-direction:column;align-items:start;gap:15px}.preferences-save .btn {width:100%}.preference-choice {padding:10px 13px;font-size:.78rem}.recipe-top h1 {font-size:2.5rem}.recipe-body-layout {display:block}.ingredients-panel {margin-bottom:30px}.recipe-actions .btn {font-size:.78rem;padding:10px 12px}.source-panel {padding:20px}.method-list p {font-size:.95rem}.cook-dialog,.action-dialog {padding:23px 19px;border-radius:21px}.cook-step {padding:22px;font-size:1.35rem}.quick-dialog {padding:21px}.quick-heading h2 {font-size:1.65rem}.quick-search-field input {font-size:.82rem}.prose {padding:24px;width:calc(100% - 28px)}.prose h2 {font-size:1.65rem}.prose p {font-size:.9rem}.footer-inner {grid-template-columns:1fr 1fr;gap:30px}.footer-inner>div:first-child,.footer-note {grid-column:1/-1}.footer-bottom {gap:13px}.footer-bottom span {font-size:.67rem}}
@media(max-width:360px){.header-actions>.icon-btn {min-width:31px;width:31px}.brand>span:last-child {font-size:1.12rem}.brand-mark {width:31px;height:31px}.header-inner {gap:6px}.header-actions {gap:3px}.home-v5 h1 {font-size:2.65rem}.home-picks .card-content {padding:11px}.home-picks h3 {font-size:1.08rem}.home-picks .card-tail {display:none}.bottom-nav span {font-size:.6rem}.recommendation-heading h2 {font-size:1.8rem}}
@media(prefers-reduced-motion:reduce){html {scroll-behavior:auto}*,*::before,*::after {transition:none!important;animation:none!important}.btn:hover,.recipe-card:hover {transform:none}}
@media print{.site-header,.bottom-nav,.header-actions,.quick-dialog,.photo-lab,.toast,.recipe-mode-tabs,.filter-bar,.favorite,.grocery-add,.recommendation-actions,footer {display:none!important}body {background:#fff;color:#000}.wrap {width:100%}.panel,.match-card,.prose {box-shadow:none;border-color:#bbb;background:#fff}.match-grid {grid-template-columns:1fr 1fr}.recommendation-card {break-inside:avoid}.ingredients-panel,.shopping-options,.pantry-panel {position:static}.food-photo {max-height:160px}.today-sidebar {display:none}}
.more-recipes{grid-column:1/-1;text-align:center;padding:20px 0}.more-recipes .fineprint{margin-top:14px}
.recipe-filters{border:1px solid var(--line);border-radius:16px;background:var(--paper);margin:12px 0 0}
.recipe-filters>summary{cursor:pointer;padding:15px 20px;display:flex;align-items:center;justify-content:space-between;gap:15px;font-weight:600;font-size:.86rem;list-style:none}
.recipe-filters>summary:before{content:'+';font-size:1.2rem;font-weight:400}
.recipe-filters[open]>summary:before{content:'-'}
.recipe-filters>summary>span{margin-right:auto}
.recipe-filters>summary small{font-weight:400;color:var(--muted);font-size:.74rem;text-align:right}
.recipe-filters .filter-bar.compact{border:0;border-radius:0;box-shadow:none;margin:0;padding-top:5px}
.recommendation-workspace{scroll-margin-top:112px}
.recommendation-photo{height:200px;aspect-ratio:auto}
.recommendation-workspace .results-line{margin-block:18px}
@media(max-width:520px){.recipe-filters>summary{padding:12px 14px;font-size:.76rem;gap:9px}.recipe-filters>summary small{font-size:.64rem;max-width:150px}.recommendation-photo{height:155px}.recommendation-workspace{scroll-margin-top:94px}.recommendation-workspace .results-line{margin-block:13px}}
@media print{.recipe-filters,.more-recipes{display:none!important}}
:root {
 color-scheme: light;
 --bg: #f5f3ec;
 --paper: #fffdf8;
 --ink: #1b3026;
 --muted: #56665b;
 --line: #e1e3d5;
 --primary: #2b4d3b;
 --primary-hover: #1d3a2b;
 --primary-ink: #fbfaf3;
 --soft: #eff1e6;
 --sage: #dbe7c9;
 --terra: #9f4d2f;
 --peach: #f6e6d8;
 --blue: #e3eeeb;
 --gold: #e6c378;
 --glass: rgba(255, 253, 248, .8);
 --serif: 'Fraunces', 'Iowan Old Style', Georgia, 'Times New Roman', serif;
 --sans: 'Inter', ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
 --radius: 26px;
 --shadow-xs: 0 1px 2px rgba(20, 42, 31, .06);
 --shadow-sm: 0 1px 2px rgba(20, 42, 31, .05), 0 8px 18px -10px rgba(20, 42, 31, .18);
 --shadow: 0 2px 4px rgba(20, 42, 31, .04), 0 18px 44px -18px rgba(20, 42, 31, .22);
 --shadow-lg: 0 6px 14px rgba(20, 42, 31, .06), 0 36px 80px -24px rgba(20, 42, 31, .34);
 --ring: 0 0 0 4px rgba(159, 77, 47, .26);
 --ease: cubic-bezier(.2, .75, .2, 1);
}
html[data-theme=dark] {
 color-scheme: dark;
 --bg: #0e1712;
 --paper: #152119;
 --ink: #eef0e4;
 --muted: #aebdac;
 --line: #2c3f31;
 --primary: #cfe5b5;
 --primary-hover: #e7f4d8;
 --primary-ink: #14261b;
 --soft: #1d2e23;
 --sage: #33482f;
 --terra: #eca888;
 --peach: #3b281f;
 --blue: #1d3837;
 --glass: rgba(21, 33, 25, .82);
 --shadow-xs: 0 1px 2px rgba(0, 0, 0, .3);
 --shadow-sm: 0 1px 2px rgba(0, 0, 0, .3), 0 10px 22px -12px rgba(0, 0, 0, .6);
 --shadow: 0 2px 4px rgba(0, 0, 0, .25), 0 18px 44px -18px rgba(0, 0, 0, .65);
 --shadow-lg: 0 6px 14px rgba(0, 0, 0, .3), 0 36px 80px -24px rgba(0, 0, 0, .75);
 --ring: 0 0 0 4px rgba(236, 168, 136, .32);
}
html { scrollbar-color: #b7c5b0 transparent; scrollbar-width: thin; }
::selection { background: #ead7bf; color: var(--ink); }
html[data-theme=dark] ::selection { background: #5b4232; color: #fff4ea; }
body {
 font-family: var(--sans);
 font-size: 15.5px;
 line-height: 1.7;
 letter-spacing: -.008em;
 color: var(--ink);
 -webkit-font-smoothing: antialiased;
 text-rendering: optimizeLegibility;
 background:
  radial-gradient(1100px 600px at 104% -12%, rgba(206, 227, 187, .6), transparent 62%),
  radial-gradient(860px 540px at -12% 36%, rgba(245, 219, 194, .42), transparent 64%),
  var(--bg);
}
html[data-theme=dark] body {
 background:
  radial-gradient(900px 540px at 104% -14%, rgba(70, 104, 62, .3), transparent 62%),
  radial-gradient(820px 520px at -12% 40%, rgba(96, 62, 42, .22), transparent 62%),
  var(--bg);
}
body::before {
 content: "";
 position: fixed;
 inset: 0;
 z-index: -1;
 pointer-events: none;
 opacity: .5;
 background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .12 0 0 0 0 .2 0 0 0 0 .16 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
html[data-theme=dark] body::before { opacity: .22; }
h1, h2, h3 { font-family: var(--serif); color: var(--ink); text-wrap: balance; }
h1, h2 { font-weight: 400; letter-spacing: -.032em; line-height: 1.05; }
h3 { font-weight: 500; letter-spacing: -.018em; line-height: 1.25; }
h1 em, h2 em { font-style: italic; font-weight: 400; color: var(--terra); }
p { text-wrap: pretty; }
.eyebrow { font-family: var(--sans); font-size: .68rem; font-weight: 650; letter-spacing: .16em; color: var(--muted); }
.page-heading .eyebrow::before,
.section-title .eyebrow::before {
 content: "";
 width: 22px;
 height: 2px;
 border-radius: 2px;
 background: linear-gradient(90deg, var(--terra), transparent);
}
.lead, .page-heading .lead { font-size: 1.06rem; line-height: 1.75; color: var(--muted); }
.fineprint { font-size: .82rem; line-height: 1.65; color: var(--muted); }
.page-heading:has(+ .narrow) { width: min(860px, calc(100% - 48px)); max-width: none; margin-inline: auto; }
.page-heading:has(+ .narrow) .lead { max-width: 60ch; }
.breadcrumbs { font-size: .78rem; color: var(--muted); }
.breadcrumbs a { text-decoration: none; border-radius: 6px; }
.breadcrumbs a:hover { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.page-heading { background: radial-gradient(640px 260px at 0% 0%, rgba(214, 232, 196, .42), transparent 70%); }
html[data-theme=dark] .page-heading { background: radial-gradient(640px 260px at 0% 0%, rgba(90, 120, 80, .2), transparent 70%); }
.btn {
 border-radius: 14px;
 font-weight: 600;
 letter-spacing: -.01em;
 transition: transform .28s var(--ease), box-shadow .28s var(--ease), background-color .25s, border-color .25s, color .25s;
}
.btn.primary {
 background: linear-gradient(180deg, color-mix(in srgb, var(--primary) 86%, #ffffff) 0%, var(--primary) 100%);
 color: var(--primary-ink);
 border-color: transparent;
 box-shadow: inset 0 1px 0 rgba(255, 255, 255, .16), 0 1px 2px rgba(20, 42, 31, .2), 0 12px 26px -12px color-mix(in srgb, var(--primary) 85%, transparent);
}
.btn.primary:hover:not(:disabled) {
 background: linear-gradient(180deg, color-mix(in srgb, var(--primary) 78%, #ffffff) 0%, var(--primary-hover) 100%);
 box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 2px 4px rgba(20, 42, 31, .18), 0 18px 34px -12px color-mix(in srgb, var(--primary) 80%, transparent);
 transform: translateY(-2px);
}
html[data-theme=dark] .btn.primary { color: #15271c; }
.btn.secondary {
 background: var(--paper);
 color: var(--ink);
 border: 1px solid var(--line);
 box-shadow: var(--shadow-xs);
}
.btn.secondary:hover:not(:disabled) {
 border-color: #b7c8b0;
 background: color-mix(in srgb, var(--paper) 60%, #ffffff);
 box-shadow: var(--shadow-sm);
 transform: translateY(-1px);
}
html[data-theme=dark] .btn.secondary:hover:not(:disabled) { background: var(--soft); }
.btn:active:not(:disabled) { transform: translateY(0) scale(.985); }
.btn:focus-visible, .chip-button:focus-visible { box-shadow: var(--ring); }
.btn.cream { background: #f8f5e8; color: #1f3d2d; border-color: #f8f5e8; }
.text-button { color: var(--primary); font-weight: 600; text-underline-offset: 4px; }
.text-button:hover { color: var(--terra); }
.chip-button {
 border-radius: 999px;
 padding: 8px 15px;
 border: 1px solid var(--line);
 background: var(--paper);
 font-weight: 550;
 box-shadow: var(--shadow-xs);
 transition: background .2s, border-color .2s, box-shadow .25s var(--ease), transform .25s var(--ease), color .2s;
}
.chip-button:hover { border-color: #aac1a2; background: color-mix(in srgb, var(--paper) 60%, #ffffff); transform: translateY(-1px); }
.chip-button[aria-pressed=true] {
 background: linear-gradient(180deg, color-mix(in srgb, var(--primary) 86%, #ffffff), var(--primary));
 color: var(--primary-ink);
 border-color: var(--primary);
 box-shadow: 0 8px 18px -10px color-mix(in srgb, var(--primary) 85%, transparent);
}
.icon-btn { border-radius: 13px; transition: background .2s, border-color .2s, transform .25s var(--ease), color .2s; }
.icon-btn:hover { transform: translateY(-1px); }
.icon-btn:active { transform: scale(.95); }
.header-actions > .icon-btn { background: var(--paper); border: 1px solid var(--line); box-shadow: var(--shadow-xs); }
.header-actions > .icon-btn:hover { background: var(--soft); border-color: #bccbb4; }
input:not([type=checkbox]):not([type=file]):not([type=range]), select, textarea {
 border-radius: 14px;
 border: 1px solid var(--line);
 background-color: var(--paper);
 color: var(--ink);
 box-shadow: inset 0 1px 2px rgba(20, 42, 31, .04);
 transition: border-color .2s, box-shadow .2s, background-color .2s;
}
input:not([type=checkbox]):not([type=file]):not([type=range]):focus, select:focus, textarea:focus {
 border-color: #76a087;
 box-shadow: 0 0 0 4px rgba(89, 135, 107, .16);
 outline: none;
}
select {
 appearance: none;
 -webkit-appearance: none;
 padding-right: 40px;
 background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%2356665b' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
 background-repeat: no-repeat;
 background-position: right 15px center;
 cursor: pointer;
}
html[data-theme=dark] select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23aebdac' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.field > span, .shopping-options .field > span { font-size: .8rem; font-weight: 600; color: var(--muted); letter-spacing: .005em; }
.shopping-options p, .shopping-options .fineprint { font-size: .82rem; }
.summary-item small { font-size: .84rem; }
input[type=checkbox] { accent-color: var(--primary); }
input[type=file] { font-size: .84rem; color: var(--muted); max-width: 100%; }
input[type=file]::file-selector-button {
 margin-right: 12px;
 padding: 9px 14px;
 border-radius: 12px;
 border: 1px solid var(--line);
 background: var(--paper);
 color: var(--ink);
 font: inherit;
 font-weight: 600;
 cursor: pointer;
 box-shadow: var(--shadow-xs);
 transition: background .2s, border-color .2s;
}
input[type=file]:hover::file-selector-button { background: var(--soft); border-color: #b9c9b1; }
.panel, .workspace-toolbar, .today-summary, .shopping-options, .pantry-panel, .week-overview, .settings-grid .panel {
 border-radius: var(--radius);
 border: 1px solid var(--line);
 background: var(--paper);
 box-shadow: var(--shadow);
}
.panel-title { font-family: var(--serif); font-size: 1.55rem; letter-spacing: -.02em; font-weight: 450; }
.panel-title .count-badge { letter-spacing: 0; }
.count-badge, .badge { border-radius: 999px; padding: 4px 10px; font-weight: 600; background: var(--soft); color: var(--ink); border: 1px solid var(--line); }
.notice, .small-notice {
 border-radius: 16px;
 border: 1px solid var(--line);
 border-left: 4px solid var(--terra);
 background: color-mix(in srgb, var(--peach) 55%, var(--paper));
 padding: 14px 18px;
 font-size: .86rem;
 line-height: 1.7;
}
.empty-state { border-radius: 22px; border: 1.5px dashed #b9c9b2; background: linear-gradient(160deg, var(--paper), var(--soft)); }
.kitchen-tip {
 border-radius: 22px;
 padding: 24px 26px;
 border: 1px solid var(--line);
 background: linear-gradient(140deg, var(--peach), color-mix(in srgb, var(--sage) 50%, var(--paper)));
}
.site-header {
 background: color-mix(in srgb, var(--paper) 84%, transparent);
 -webkit-backdrop-filter: saturate(170%) blur(18px);
 backdrop-filter: saturate(170%) blur(18px);
 border-bottom: 1px solid color-mix(in srgb, var(--line) 85%, transparent);
 box-shadow: 0 14px 30px -26px rgba(20, 42, 31, .5);
}
.brand { gap: 13px; }
.brand-mark { border-radius: 16px; box-shadow: 0 12px 22px -12px rgba(43, 77, 59, .75); transition: transform .4s var(--ease); }
.brand:hover .brand-mark { transform: rotate(-4deg) scale(1.03); }
.brand > span:last-child { font-family: var(--serif); font-weight: 420; letter-spacing: -.035em; }
.brand small { font-family: var(--sans); font-size: .58rem; font-weight: 600; letter-spacing: .13em; color: var(--muted); margin-top: 4px; }
.main-nav {
 background: color-mix(in srgb, var(--soft) 80%, transparent);
 border: 1px solid color-mix(in srgb, var(--line) 85%, transparent);
 border-radius: 17px;
 box-shadow: inset 0 1px 2px rgba(20, 42, 31, .05);
}
.main-nav a { color: var(--muted); transition: background .22s var(--ease), color .2s, box-shadow .22s var(--ease); }
.main-nav a:hover { color: var(--ink); background: color-mix(in srgb, var(--paper) 70%, transparent); }
.main-nav a[aria-current=page] {
 background: var(--paper);
 color: var(--ink);
 box-shadow: 0 1px 2px rgba(20, 42, 31, .08), 0 8px 18px -10px rgba(20, 42, 31, .32);
}
.main-nav a[aria-current=page] .icon { color: var(--terra); }
.main-nav .icon { transition: color .2s; }
.quick-open { border-radius: 13px; }
kbd { border-radius: 6px; background: var(--paper); box-shadow: var(--shadow-xs); }
@media (min-width: 1251px) { .brand small { font-size: .58rem; } }
.home-v5 { gap: 72px; padding-block: 84px 72px; }
.home-v5 .eyebrow {
 background: var(--paper);
 border: 1px solid var(--line);
 border-radius: 999px;
 padding: 7px 14px 7px 12px;
 box-shadow: var(--shadow-xs);
 color: var(--ink);
 letter-spacing: .12em;
}
.home-v5 h1 { font-size: clamp(3.1rem, 5.6vw, 5.9rem); line-height: 1; letter-spacing: -.042em; font-weight: 380; }
.home-v5 h1 em { font-weight: 360; }
.home-v5 .lead { font-size: 1.12rem; line-height: 1.8; }
.hero-actions .btn { min-height: 52px; padding: 14px 24px; font-size: .95rem; }
.hero-reassurance { font-size: .8rem; color: var(--muted); }
.home-v5-visual::before {
 content: "";
 position: absolute;
 inset: -4% -10% 6% 4%;
 border-radius: 50%;
 background: radial-gradient(closest-side, rgba(196, 220, 170, .62), rgba(196, 220, 170, 0));
 filter: blur(10px);
 z-index: -1;
 pointer-events: none;
}
html[data-theme=dark] .home-v5-visual::before { background: radial-gradient(closest-side, rgba(90, 130, 80, .42), rgba(90, 130, 80, 0)); }
.hero-photo-frame { box-shadow: var(--shadow-lg); border-color: var(--paper); }
.floating-kitchen-card {
 background: var(--glass);
 -webkit-backdrop-filter: blur(16px) saturate(140%);
 backdrop-filter: blur(16px) saturate(140%);
 border-color: color-mix(in srgb, var(--paper) 60%, transparent);
 box-shadow: 0 22px 50px -18px rgba(20, 42, 31, .42);
 border-radius: 22px;
}
.hero-step-note {
 background: linear-gradient(140deg, color-mix(in srgb, var(--primary) 84%, #ffffff), var(--primary));
 color: var(--primary-ink);
 box-shadow: 0 10px 24px -10px rgba(20, 42, 31, .5);
}
.live-dot { animation: pulse 2.6s var(--ease) infinite; }
.everyday-rail {
 background: var(--glass);
 -webkit-backdrop-filter: blur(14px);
 backdrop-filter: blur(14px);
 border-radius: 26px;
 box-shadow: var(--shadow);
}
.everyday-rail a { transition: background .3s var(--ease); }
.everyday-rail a > svg:nth-of-type(1) {
 width: 52px;
 height: 52px;
 padding: 13px;
 box-sizing: border-box;
 border-radius: 17px;
 background: var(--soft);
 color: var(--primary);
 transition: transform .4s var(--ease), background .3s;
}
.everyday-rail a:hover > svg:nth-of-type(1) { transform: translateY(-2px) rotate(-4deg); background: var(--sage); }
.everyday-rail a > .icon:last-child { transition: transform .35s var(--ease); }
.everyday-rail a:hover > .icon:last-child { transform: translateX(4px); }
.everyday-rail .rail-number { font-family: var(--serif); font-size: .7rem; letter-spacing: .04em; }
.everyday-rail strong { font-family: var(--serif); font-size: 1.12rem; font-weight: 500; letter-spacing: -.01em; }
.everyday-rail small { font-size: .76rem; }
.connected-banner {
 position: relative;
 overflow: hidden;
 border-radius: 34px;
 background:
  radial-gradient(760px 420px at 100% -10%, rgba(164, 204, 135, .32), transparent 62%),
  radial-gradient(560px 360px at -6% 120%, rgba(214, 150, 112, .2), transparent 62%),
  linear-gradient(160deg, #2e5140, #1b3329);
 box-shadow: var(--shadow-lg);
 padding: 60px;
}
.connected-banner h2 { font-size: clamp(2.6rem, 4.4vw, 3.8rem); }
.connected-banner h2 em { color: #d9e6b4; }
.routine-stack > div {
 background: rgba(255, 255, 255, .05);
 border-color: rgba(255, 255, 255, .14);
 -webkit-backdrop-filter: blur(6px);
 backdrop-filter: blur(6px);
 transition: transform .35s var(--ease), background .3s, border-color .3s;
}
.routine-stack > div:hover { transform: translateX(6px); background: rgba(255, 255, 255, .09); border-color: rgba(255, 255, 255, .22); }
.routine-stack > div > span { background: rgba(209, 220, 167, .1); font-family: var(--serif); font-size: .85rem; }
.trust-grid article {
 border-radius: 26px;
 border: 1px solid var(--line);
 background: var(--paper);
 box-shadow: var(--shadow);
 padding: 34px;
 transition: transform .4s var(--ease), box-shadow .4s var(--ease), border-color .3s;
}
.trust-grid article:hover { transform: translateY(-5px); box-shadow: var(--shadow-lg); border-color: #cbd8c3; }
.trust-grid article > svg:first-child {
 width: 54px;
 height: 54px;
 padding: 14px;
 box-sizing: border-box;
 border-radius: 18px;
 background: var(--soft);
 color: var(--primary);
}
.trust-grid h3 { font-size: 1.36rem; margin: 22px 0 12px; }
.trust-grid p { font-size: .92rem; line-height: 1.75; color: var(--muted); }
.trust-grid a { color: var(--primary); font-weight: 600; text-decoration: none; }
.trust-grid a:hover { color: var(--terra); }
.faq-section .trust-grid article h3 { font-size: 1.22rem; }
.recipe-grid { gap: 26px; }
.recipe-card {
 border-radius: 26px;
 border: 1px solid var(--line);
 background: var(--paper);
 box-shadow: var(--shadow-sm);
 transition: transform .5s var(--ease), box-shadow .5s var(--ease), border-color .3s;
}
.recipe-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); border-color: #c9d7c0; }
.card-image { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: var(--soft); }
.card-image::after {
 content: "";
 position: absolute;
 left: 0; right: 0; bottom: 0;
 height: 42%;
 background: linear-gradient(to top, rgba(12, 24, 18, .32), transparent);
 pointer-events: none;
}
.card-image img { transition: transform .9s var(--ease); }
.recipe-card:hover .card-image img { transform: scale(1.06); }
.card-image .image-badge {
 position: absolute;
 top: auto;
 bottom: 14px;
 left: 14px;
 right: auto;
 height: auto;
 z-index: 2;
 display: inline-flex;
 align-items: center;
 gap: 6px;
 padding: 6px 11px;
 border-radius: 999px;
 background: var(--glass);
 -webkit-backdrop-filter: blur(10px);
 backdrop-filter: blur(10px);
 color: var(--ink);
 font-size: .72rem;
 font-weight: 650;
 box-shadow: var(--shadow-sm);
}
.card-image .favorite {
 position: absolute;
 top: 12px;
 right: 12px;
 z-index: 2;
 width: 40px;
 height: 40px;
 min-height: 40px;
 border-radius: 14px;
 background: var(--glass);
 -webkit-backdrop-filter: blur(10px);
 backdrop-filter: blur(10px);
 color: var(--ink);
 box-shadow: var(--shadow-sm);
 transition: transform .3s var(--ease), background .2s, color .2s;
}
.card-image .favorite:hover { transform: scale(1.08); }
.card-image .favorite[aria-pressed=true] { color: var(--terra); background: var(--peach); }
.recipe-card[data-category=breakfast] { --cat: #8a5a12; }
.recipe-card[data-category=lunch] { --cat: #3d6a44; }
.recipe-card[data-category=dinner] { --cat: #9f4d2f; }
.recipe-card[data-category=snack] { --cat: #2f5f70; }
html[data-theme=dark] .recipe-card[data-category=breakfast] { --cat: #e6b96b; }
html[data-theme=dark] .recipe-card[data-category=lunch] { --cat: #a9d19a; }
html[data-theme=dark] .recipe-card[data-category=dinner] { --cat: #eca888; }
html[data-theme=dark] .recipe-card[data-category=snack] { --cat: #9fd0e0; }
.card-content { padding: 22px 22px 20px; }
.card-content .eyebrow.small { color: var(--cat, var(--muted)); font-size: .64rem; letter-spacing: .14em; }
.card-content .eyebrow.small span { color: var(--muted); }
.card-content h3 { font-size: 1.46rem; line-height: 1.22; margin: 10px 0 16px; }
.card-content h3 a { text-decoration: none; color: var(--ink); }
.card-content h3 a:hover { color: var(--terra); }
.card-tail { border-top: 1px solid var(--line); padding-top: 14px; font-size: .76rem; color: var(--muted); align-items: center; }
.card-tail > a {
 display: grid;
 place-items: center;
 width: 40px;
 height: 40px;
 border-radius: 50%;
 background: var(--soft);
 color: var(--primary);
 transition: background .3s var(--ease), color .3s, transform .45s var(--ease);
}
.recipe-card:hover .card-tail > a { background: var(--primary); color: var(--primary-ink); transform: rotate(-45deg); }
.recipe-grid.home-picks .recipe-card { min-width: 0; }
.filter-bar {
 border-radius: 22px;
 border: 1px solid var(--line);
 background: var(--glass);
 -webkit-backdrop-filter: blur(14px);
 backdrop-filter: blur(14px);
 box-shadow: var(--shadow);
 padding: 20px;
}
.results-line { font-size: .86rem; color: var(--muted); }
.greek-title { font-family: var(--serif); font-style: italic; color: var(--terra); font-size: .98rem; letter-spacing: -.005em; }
.recipe-top { gap: 52px; padding-bottom: 52px; align-items: center; }
.recipe-top h1 { font-size: clamp(2.6rem, 4.3vw, 4.5rem); line-height: 1.02; letter-spacing: -.04em; font-weight: 380; }
.recipe-facts { gap: 9px; }
.recipe-facts span {
 display: inline-flex;
 align-items: center;
 gap: 7px;
 border-radius: 999px;
 padding: 8px 14px;
 background: var(--paper);
 border: 1px solid var(--line);
 box-shadow: var(--shadow-xs);
 font-size: .8rem;
 font-weight: 550;
}
.recipe-hero-image { border-radius: 36px; box-shadow: var(--shadow-lg); border: 1px solid var(--line); }
.photo-caption { background: transparent; font-size: .72rem; font-style: italic; padding: 12px 6px 0; }
.recipe-actions { gap: 10px; flex-wrap: wrap; }
.recipe-body-layout { gap: 56px; }
.ingredients-panel {
 position: sticky;
 top: 120px;
 border-radius: 30px;
 border: 1px solid var(--line);
 background: var(--paper);
 box-shadow: var(--shadow);
 padding: 30px;
}
.ingredient-list { margin: 0; }
.ingredient-check { padding: 15px 0; border-bottom: 1px dashed color-mix(in srgb, var(--line) 90%, transparent); transition: opacity .2s; }
.ingredient-check:last-child { border-bottom: 0; }
.ingredient-check input[type=checkbox] { width: 21px; height: 21px; border-radius: 7px; }
.count-badge { font-variant-numeric: tabular-nums; }
.portion-control {
 display: flex;
 align-items: center;
 justify-content: space-between;
 gap: 12px;
 border-radius: 18px;
 background: var(--soft);
 border: 1px solid var(--line);
 padding: 12px 14px;
}
.stepper { display: inline-flex; align-items: center; gap: 6px; }
.stepper button {
 width: 40px;
 height: 40px;
 border-radius: 50%;
 background: var(--paper);
 border: 1px solid var(--line);
 box-shadow: var(--shadow-xs);
 display: grid;
 place-items: center;
 font-size: 1.1rem;
 transition: transform .2s var(--ease), background .2s;
}
.stepper button:hover { background: #fff; transform: scale(1.06); }
html[data-theme=dark] .stepper button:hover { background: var(--soft); }
.method-list > li { padding-block: 30px; border-bottom: 1px solid var(--line); gap: 22px; }
.method-list > li:last-child { border-bottom: 0; }
.step-number {
 width: 50px;
 height: 50px;
 min-width: 50px;
 border-radius: 50%;
 display: grid;
 place-items: center;
 background: linear-gradient(160deg, var(--peach), var(--sage));
 color: var(--ink);
 font-family: var(--serif);
 font-size: 1.2rem;
 font-weight: 500;
 box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .45), var(--shadow-xs);
}
.method-content p { font-size: 1.05rem; line-height: 1.8; max-width: 66ch; }
.method-content .eyebrow { color: var(--terra); }
.source-panel {
 border-radius: 22px;
 background: var(--paper);
 border: 1px solid var(--line);
 border-left: 4px solid var(--terra);
 box-shadow: var(--shadow-xs);
 padding: 26px 28px;
}
.source-panel h3 { font-size: 1.3rem; }
.source-panel p { font-size: .86rem; line-height: 1.75; color: var(--muted); }
.photo-lab {
 position: relative;
 border-radius: 34px;
 border: 1px solid color-mix(in srgb, var(--line) 80%, transparent);
 background: linear-gradient(150deg, color-mix(in srgb, var(--paper) 90%, var(--sage)) 0%, var(--paper) 62%);
 box-shadow: var(--shadow-lg);
 padding: clamp(24px, 3.4vw, 46px);
}
.photo-lab-head h2 { font-size: clamp(2.2rem, 3.4vw, 3.1rem); line-height: 1.04; }
.photo-service-badge { border-radius: 999px; padding: 7px 13px; font-weight: 600; background: var(--paper); border: 1px solid var(--line); box-shadow: var(--shadow-xs); }
.photo-stages { gap: 10px; border-block: 1px solid var(--line); padding-block: 16px; }
.photo-stages li {
 display: inline-flex;
 align-items: center;
 gap: 10px;
 padding: 7px 14px 7px 7px;
 border-radius: 999px;
 font-weight: 550;
 color: var(--muted);
 transition: background .25s var(--ease), color .25s;
}
.photo-stages li span {
 width: 26px;
 height: 26px;
 border-radius: 50%;
 display: grid;
 place-items: center;
 background: var(--soft);
 color: var(--ink);
 font-weight: 700;
 font-size: .74rem;
}
.photo-stages li[aria-current=step] { background: var(--paper); color: var(--ink); box-shadow: var(--shadow-sm); }
.photo-stages li[aria-current=step] span { background: var(--primary); color: var(--primary-ink); }
.photo-drop {
 position: relative;
 border-radius: 28px;
 border: 1.5px dashed #8eaa93;
 background:
  radial-gradient(circle at 50% 38%, rgba(219, 234, 205, .8), transparent 62%),
  linear-gradient(160deg, rgba(246, 245, 234, .6), rgba(255, 253, 246, .3));
 min-height: 280px;
 transition: border-color .3s, background .3s, transform .3s var(--ease);
}
.photo-drop:hover, .photo-drop.drag-over { border-color: var(--primary); transform: translateY(-2px); }
.photo-camera-mark { box-shadow: 0 16px 30px -14px rgba(20, 42, 31, .45); }
html[data-theme=dark] .photo-drop { background: radial-gradient(circle at 50% 38%, rgba(70, 100, 60, .35), transparent 62%), var(--soft); }
.photo-food {
 border-radius: 20px;
 border: 1px solid var(--line);
 background: var(--paper);
 box-shadow: var(--shadow-xs);
 transition: border-color .2s, box-shadow .3s var(--ease), transform .3s var(--ease);
}
.photo-food:hover { transform: translateY(-2px); box-shadow: var(--shadow-sm); }
.photo-food.is-reviewed { border-color: color-mix(in srgb, var(--primary) 60%, transparent); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--primary) 50%, transparent), var(--shadow-sm); }
.photo-certainty { border-radius: 999px; letter-spacing: .01em; }
.photo-choice { border-radius: 999px; }
.photo-confirm-bar { border-radius: 22px; box-shadow: var(--shadow-lg); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); background: var(--glass); }
.photo-recipe-preview { border-radius: 26px; background: linear-gradient(140deg, var(--peach), color-mix(in srgb, var(--sage) 45%, var(--paper))); }
.suggestion-mini { border-radius: 20px; border: 1px solid var(--line); box-shadow: var(--shadow-xs); transition: transform .3s var(--ease), box-shadow .3s; }
.suggestion-mini:hover { transform: translateY(-2px); box-shadow: var(--shadow-sm); }
.suggestion-mini-art { border-radius: 16px; }
.pantry-panel { border-radius: 28px; padding: 26px; }
.pantry-empty { border-radius: 20px; background: linear-gradient(160deg, var(--soft), var(--paper)); border: 1px dashed #b9c9b2; }
.pantry-chip {
 border-radius: 16px;
 background: var(--paper);
 border: 1px solid var(--line);
 box-shadow: var(--shadow-xs);
 transition: border-color .2s, box-shadow .2s, transform .2s var(--ease);
}
.pantry-chip:hover { border-color: #b8c9b0; box-shadow: var(--shadow-sm); }
.pantry-chip > span { font-weight: 600; }
.pantry-chip button[aria-pressed=true] { border-radius: 10px; }
.recipe-mode-tabs button {
 border-radius: 18px;
 border: 1px solid var(--line);
 background: var(--paper);
 box-shadow: var(--shadow-xs);
 transition: background .25s, border-color .25s, box-shadow .25s, transform .25s var(--ease);
}
.recipe-mode-tabs button:hover { transform: translateY(-1px); box-shadow: var(--shadow-sm); }
.recipe-mode-tabs button strong { border-radius: 999px; }
.recipe-mode-tabs button[aria-pressed=true] {
 background: linear-gradient(180deg, color-mix(in srgb, var(--primary) 86%, #ffffff), var(--primary));
 border-color: transparent;
 box-shadow: 0 12px 24px -14px color-mix(in srgb, var(--primary) 85%, transparent);
}
.match-grid { gap: 26px; }
.match-card.recommendation-card {
 border-radius: 28px;
 border: 1px solid var(--line);
 background: var(--paper);
 box-shadow: var(--shadow);
 transition: transform .5s var(--ease), box-shadow .5s var(--ease), border-color .3s;
}
.match-card.recommendation-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-lg); border-color: #c9d7c0; }
.recommendation-photo { aspect-ratio: 16 / 10; height: auto; }
.recommendation-photo img { transition: transform .9s var(--ease); }
.recommendation-photo:hover img { transform: scale(1.06); }
.match-status {
 border-radius: 999px;
 padding: 6px 12px;
 font-weight: 650;
 background: var(--glass);
 border: 1px solid color-mix(in srgb, var(--paper) 70%, transparent);
 -webkit-backdrop-filter: blur(8px);
 backdrop-filter: blur(8px);
 box-shadow: var(--shadow-sm);
}
.match-status.ready { background: #e2efcb; color: #2d4b17; }
.match-status.close { background: #f8e6cb; color: #6a4216; }
html[data-theme=dark] .match-status { background: rgba(21, 33, 25, .85); color: var(--ink); }
html[data-theme=dark] .match-status.ready { background: #2d4524; color: #e2f5cc; }
html[data-theme=dark] .match-status.close { background: #4a3520; color: #f7deb3; }
.recommendation-content { padding: 22px 22px 20px; }
.recommendation-meta { letter-spacing: .08em; font-weight: 600; }
.recommendation-card h3 { font-size: 1.5rem; margin: 10px 0 12px; }
.ingredient-coverage progress { height: 8px; border-radius: 999px; }
.ingredient-coverage progress::-webkit-progress-value { background: linear-gradient(90deg, #6aa37c, var(--primary)); }
.ingredient-coverage progress::-moz-progress-bar { background: var(--primary); }
.match-ingredients { border-radius: 16px; border: 1px solid var(--line); }
.match-ingredients p { padding: 12px 14px; }
.recommendation-actions .btn { min-height: 46px; border-radius: 13px; }
.grocery-add { color: var(--primary); font-weight: 600; }
.recipe-empty { border-radius: 26px; }
.use-first-label { border-radius: 999px; padding: 6px 12px; font-weight: 600; }
.recipe-filters { border-radius: 20px; border-color: var(--line); background: var(--paper); box-shadow: var(--shadow-xs); }
.recipe-filters > summary { font-weight: 600; }
.quick-ingredients .chip-button { font-size: .78rem; }
.today-summary { border-radius: 30px; overflow: hidden; }
.summary-item { position: relative; padding: 28px 30px; }
.summary-item + .summary-item { border-left: 1px solid var(--line); }
.summary-item strong { font-size: 2.2rem; line-height: 1.1; font-variant-numeric: tabular-nums; letter-spacing: -.03em; font-weight: 400; }
.summary-item small { font-size: .78rem; color: var(--muted); margin-top: 4px; }
.today-meal {
 border-radius: 26px;
 border: 1px solid var(--line);
 background: var(--paper);
 box-shadow: var(--shadow-sm);
 padding: 18px;
 transition: transform .4s var(--ease), box-shadow .4s var(--ease), background .3s;
}
.today-meal:hover { transform: translateY(-3px); box-shadow: var(--shadow); }
.today-meal > img { width: 118px; height: 118px; border-radius: 20px; }
.today-meal h3 { font-size: 1.42rem; }
.today-meal.is-eaten { background: linear-gradient(135deg, var(--soft), var(--paper)); border-color: var(--sage); }
.today-meal.is-eaten h3 { color: var(--primary); }
.log-button { border-radius: 14px; background: var(--soft); border: 1px solid var(--line); transition: transform .25s var(--ease), background .2s; }
.log-button:hover { transform: scale(1.06); background: var(--sage); }
.water-panel {
 position: relative;
 overflow: hidden;
 border-radius: 28px;
 background:
  radial-gradient(420px 260px at 100% 0%, rgba(170, 214, 222, .5), transparent 65%),
  linear-gradient(160deg, var(--blue), var(--paper));
 border: 1px solid var(--line);
 box-shadow: var(--shadow);
}
.water-number { font-family: var(--serif); font-size: 3.2rem; font-weight: 400; letter-spacing: -.03em; }
.note-panel textarea { border-radius: 18px; min-height: 120px; background: var(--paper); }
.today-suggestions .suggestion-mini { border-radius: 18px; }
.workspace-toolbar { border-radius: 24px; }
.day-tabs { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 9px; }
.day-tabs button {
 display: flex;
 flex-direction: column;
 align-items: center;
 justify-content: center;
 gap: 2px;
 border-radius: 19px;
 border: 1px solid var(--line);
 background: var(--paper);
 box-shadow: var(--shadow-xs);
 min-height: 80px;
 font-weight: 600;
 transition: transform .3s var(--ease), box-shadow .3s, background .25s, color .25s;
}
.day-tabs button:hover { transform: translateY(-2px); box-shadow: var(--shadow-sm); }
.day-tabs button[aria-pressed=true] {
 background: linear-gradient(180deg, color-mix(in srgb, var(--primary) 86%, #ffffff), var(--primary));
 color: var(--primary-ink);
 border-color: transparent;
 box-shadow: 0 14px 26px -14px color-mix(in srgb, var(--primary) 85%, transparent);
}
.day-tabs button small { color: inherit; opacity: .75; font-weight: 500; }
html[data-theme=dark] .day-tabs button[aria-pressed=true] { color: #15271c; }
.plan-card {
 border-radius: 28px;
 border: 1px solid var(--line);
 background: var(--paper);
 box-shadow: var(--shadow);
 overflow: hidden;
 transition: transform .45s var(--ease), box-shadow .45s var(--ease);
}
.plan-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-lg); }
.plan-card img { aspect-ratio: 16 / 10; object-fit: cover; width: 100%; transition: transform .9s var(--ease); }
.plan-card:hover img { transform: scale(1.05); }
.plan-card-content { padding: 24px; }
.plan-card .eyebrow { color: var(--terra); }
.plan-card h3 { font-size: 1.55rem; margin: 8px 0 8px; }
.plan-card .fineprint { margin-bottom: 16px; }
.plan-card .btn.secondary { min-height: 44px; }
.plan-day-heading h2 { font-family: var(--serif); font-size: 1.9rem; letter-spacing: -.03em; }
.plan-day-heading .muted { font-family: var(--sans); font-size: .9rem; letter-spacing: 0; }
.week-switcher .btn { border-radius: 14px; }
.week-overview { border-radius: 26px; padding: 6px; overflow: hidden; }
.week-overview summary { border-radius: 20px; padding: 18px 20px; }
.week-overview table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: .9rem; }
.week-overview caption { caption-side: top; text-align: left; padding: 14px 18px 4px; font-family: var(--serif); font-size: 1.25rem; color: var(--ink); }
.week-overview th, .week-overview td { padding: 13px 16px; text-align: left; vertical-align: top; }
.week-overview thead th { font-size: .66rem; text-transform: uppercase; letter-spacing: .13em; color: var(--muted); font-weight: 650; border-bottom: 1px solid var(--line); }
.week-overview tbody th { font-weight: 600; color: var(--ink); white-space: nowrap; }
.week-overview tbody tr + tr td, .week-overview tbody tr + tr th { border-top: 1px solid color-mix(in srgb, var(--line) 70%, transparent); }
.week-overview tbody tr:hover td, .week-overview tbody tr:hover th { background: color-mix(in srgb, var(--soft) 70%, transparent); }
.week-overview td a { color: var(--ink); text-decoration: none; font-weight: 500; }
.week-overview td a:hover { color: var(--terra); text-decoration: underline; text-underline-offset: 3px; }
.shopping-options { border-radius: 28px; padding: 26px; }
.shopping-options h2 { font-size: 2rem; }
.shopping-progress-panel { background: linear-gradient(145deg, var(--soft), var(--paper)); border-radius: 22px; border: 1px solid var(--line); }
.shopping-progress-panel progress { height: 9px; }
.shopping-progress-panel progress::-webkit-progress-value { background: linear-gradient(90deg, #6aa37c, var(--primary)); }
.shopping-group {
 border-radius: 26px;
 border: 1px solid var(--line);
 background: var(--paper);
 box-shadow: var(--shadow);
 overflow: hidden;
}
.shopping-group h2 {
 font-family: var(--serif);
 font-size: 1.5rem;
 font-weight: 450;
 background: linear-gradient(90deg, var(--soft), color-mix(in srgb, var(--paper) 90%, var(--soft)));
 border-bottom: 1px solid var(--line);
 display: flex;
 align-items: baseline;
 justify-content: space-between;
 gap: 12px;
}
.shopping-group h2 span { font-family: var(--sans); font-size: .74rem; color: var(--muted); font-weight: 600; letter-spacing: .02em; }
.grocery-row { transition: background .2s, opacity .3s; padding: 15px 24px; }
.grocery-row:hover { background: color-mix(in srgb, var(--soft) 55%, transparent); }
.grocery-row label { cursor: pointer; }
.grocery-row strong { font-size: .86rem; font-weight: 600; }
.grocery-row.is-checked strong { text-decoration: line-through; text-decoration-thickness: 1.5px; color: var(--muted); }
.grocery-row input[type=checkbox] { width: 21px; height: 21px; border-radius: 7px; }
.shop-bottom-actions { gap: 10px; }
.settings-grid { gap: 24px; }
.settings-grid .panel { padding: 30px; border-radius: 28px; }
.settings-row { border-radius: 16px; }
.preferences-panel {
 border-radius: 30px;
 background: radial-gradient(520px 260px at 100% 0%, rgba(210, 228, 188, .45), transparent 70%), var(--paper);
 border: 1px solid var(--line);
 box-shadow: var(--shadow);
}
.preference-choice { border-radius: 999px; background: var(--paper); box-shadow: var(--shadow-xs); transition: border-color .2s, background .2s; }
.preference-choice:hover { border-color: #b8c9b0; }
.danger-panel { border-radius: 26px; border-color: #e7c6b6; background: linear-gradient(160deg, #fbf1ea, var(--paper)); }
html[data-theme=dark] .danger-panel { background: linear-gradient(160deg, #3a241c, var(--paper)); border-color: #6d4534; }
.family-banner {
 border-radius: 30px;
 background: linear-gradient(160deg, #2e5140, #1b3329);
 color: #f6f3e6;
 box-shadow: var(--shadow-lg);
 padding: clamp(28px, 4vw, 52px);
}
.family-banner h1, .family-banner h2 { color: #faf8eb; }
.family-banner .eyebrow { color: #c9d8bc; }
.family-banner h1 em, .family-banner h2 em { color: #d9e6b4; }
.family-banner p { color: #dbe5d3; }
.family-boundary { border-radius: 22px; border: 1px solid var(--line); background: var(--paper); }
.family-banner .family-boundary { background: var(--paper); color: var(--ink); padding: 26px 30px; display: grid; gap: 10px; }
.family-banner .family-boundary > svg { color: var(--primary); }
.family-banner .family-boundary h3 { font-size: 1.35rem; margin: 0; }
.family-banner .family-boundary h1, .family-banner .family-boundary h2, .family-banner .family-boundary h3 { color: var(--ink); }
.family-banner .family-boundary p, .family-banner .family-boundary small, .family-banner .family-boundary li { color: var(--muted); }
.credits-grid { gap: 22px; }
.credits-grid > * { border-radius: 24px; }
.credits-grid img { height: auto; aspect-ratio: 5 / 4; }
.prose {
 border-radius: 32px;
 border: 1px solid var(--line);
 background: var(--paper);
 box-shadow: var(--shadow);
 padding: clamp(28px, 4.4vw, 60px);
 max-width: 860px;
}
.prose h1 { font-size: clamp(2.4rem, 4vw, 3.6rem); }
.prose h2 { font-size: clamp(1.7rem, 2.6vw, 2.25rem); margin-top: 48px; padding-top: 28px; border-top: 1px solid var(--line); }
.prose h2:first-of-type, .prose > h2:first-child { border-top: 0; padding-top: 0; margin-top: 8px; }
.prose h3 { font-size: 1.22rem; margin-top: 26px; }
.prose p, .prose li { font-size: 1rem; line-height: 1.85; max-width: 68ch; }
.prose p + p { margin-top: 1.1em; }
.prose a { color: var(--primary); text-decoration-thickness: 1.5px; text-decoration-color: var(--terra); text-underline-offset: 3px; }
.prose a:hover { color: var(--terra); }
.prose ul, .prose ol { padding-left: 1.3em; }
.prose li + li { margin-top: .45em; }
.prose li::marker { color: var(--terra); }
.prose blockquote, .prose .notice {
 margin: 26px 0;
 padding: 18px 22px;
 border-radius: 18px;
 border-left: 4px solid var(--terra);
 background: color-mix(in srgb, var(--peach) 50%, var(--paper));
}
.narrow { max-width: 860px; }
dialog::backdrop { background: rgba(9, 22, 16, .5); -webkit-backdrop-filter: blur(8px) saturate(120%); backdrop-filter: blur(8px) saturate(120%); }
.action-dialog, .cook-dialog, .quick-dialog {
 border-radius: 30px;
 border: 1px solid color-mix(in srgb, var(--paper) 40%, var(--line));
 background: var(--paper);
 box-shadow: var(--shadow-lg);
}
dialog[open] { animation: dialog-in .36s var(--ease); }
@keyframes dialog-in { from { opacity: 0; transform: translateY(14px) scale(.985); } to { opacity: 1; transform: none; } }
.quick-search-field { border-radius: 18px; background: var(--soft); border: 1px solid var(--line); padding: 6px 16px; }
.quick-result { border-radius: 14px; transition: background .2s, transform .25s var(--ease); }
.quick-result:hover, .quick-result:focus { background: var(--soft); transform: translateX(3px); }
.swap-option { border-radius: 20px; transition: background .2s, transform .25s var(--ease), border-color .2s; }
.swap-option:hover:not(:disabled) { transform: translateY(-2px); border-color: #c4d4bc; }
.cook-step { border-radius: 24px; background: linear-gradient(150deg, var(--soft), var(--paper)); }
.cook-timer { border-radius: 22px; }
.photo-preview-wrap .scan-stage { position: relative; display: block; width: fit-content; max-width: 100%; margin-inline: auto; overflow: hidden; border-radius: 14px; line-height: 0; background: var(--soft); }
.photo-preview-wrap .scan-stage img#pantry-preview { display: block; width: auto; max-width: 100%; height: auto; max-height: 310px; margin: 0; background: transparent; }
.scan-fx { position: absolute; inset: 0; z-index: 2; overflow: hidden; border-radius: inherit; pointer-events: none; opacity: 0; visibility: hidden; transition: opacity .4s var(--ease), visibility 0s linear .4s; }
#photo-kitchen[data-scan] .scan-fx { opacity: 1; visibility: visible; transition-delay: 0s; }
.scan-fx > span { position: absolute; display: block; }
.scan-tint { inset: 0; background: linear-gradient(180deg, rgba(8, 44, 30, .26), rgba(8, 44, 30, .5)); transition: opacity .6s ease; }
.scan-grid {
 inset: 0;
 background-image: linear-gradient(rgba(214, 255, 226, .13) 1px, transparent 1px), linear-gradient(90deg, rgba(214, 255, 226, .13) 1px, transparent 1px);
 background-size: 26px 26px;
 -webkit-mask-image: radial-gradient(ellipse at 50% 50%, #000 35%, transparent 100%);
 mask-image: radial-gradient(ellipse at 50% 50%, #000 35%, transparent 100%);
 animation: scan-grid 7s linear infinite;
 transition: opacity .5s ease;
}
.scan-beam {
 left: 0;
 right: 0;
 top: 0;
 height: 28%;
 background: linear-gradient(180deg, rgba(120, 255, 170, 0) 0%, rgba(140, 255, 190, .14) 55%, rgba(176, 255, 204, .46) 100%);
 border-bottom: 2px solid rgba(232, 255, 240, .95);
 box-shadow: 0 10px 26px 2px rgba(120, 255, 170, .45);
 transform: translateY(-100%);
 animation: scan-sweep 2.9s cubic-bezier(.5, 0, .5, 1) infinite alternate;
 transition: opacity .4s ease;
}
.scan-corner { width: 26px; height: 26px; border: 0 solid #dcffe6; filter: drop-shadow(0 0 6px rgba(150, 255, 190, .85)); animation: scan-lock 2.4s ease-in-out infinite; transition: opacity .4s ease, border-color .4s ease; }
.scan-corner-tl { top: 10px; left: 10px; border-top-width: 3px; border-left-width: 3px; border-top-left-radius: 9px; }
.scan-corner-tr { top: 10px; right: 10px; border-top-width: 3px; border-right-width: 3px; border-top-right-radius: 9px; animation-delay: .15s; }
.scan-corner-bl { bottom: 10px; left: 10px; border-bottom-width: 3px; border-left-width: 3px; border-bottom-left-radius: 9px; animation-delay: .3s; }
.scan-corner-br { bottom: 10px; right: 10px; border-bottom-width: 3px; border-right-width: 3px; border-bottom-right-radius: 9px; animation-delay: .45s; }
.scan-readout {
 position: absolute;
 left: 10px;
 right: 10px;
 bottom: 10px;
 display: flex;
 align-items: center;
 gap: 10px;
 padding: 9px 13px;
 border-radius: 13px;
 background: rgba(9, 36, 25, .74);
 -webkit-backdrop-filter: blur(10px);
 backdrop-filter: blur(10px);
 border: 1px solid rgba(214, 255, 226, .22);
 color: #f1fff6;
 font: 600 12.5px/1.3 var(--sans);
 letter-spacing: 0;
 transition: opacity .35s ease, transform .35s var(--ease);
}
.scan-spark { flex-shrink: 0; color: #b9ffcf; animation: scan-spark 2.2s ease-in-out infinite; }
.scan-lines { position: relative; flex: 1; min-width: 0; height: 1.3em; overflow: hidden; }
.scan-line { position: absolute; left: 0; top: 0; max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; opacity: 0; animation: scan-line 9.6s ease-in-out infinite both; }
.scan-line:first-child { opacity: 1; }
.scan-line:nth-child(2) { animation-delay: 2.4s; }
.scan-line:nth-child(3) { animation-delay: 4.8s; }
.scan-line:nth-child(4) { animation-delay: 7.2s; }
.scan-dots { display: inline-flex; gap: 4px; flex-shrink: 0; }
.scan-dots i { width: 5px; height: 5px; border-radius: 50%; background: #b9ffcf; animation: scan-dot 1.1s ease-in-out infinite; }
.scan-dots i:nth-child(2) { animation-delay: .15s; }
.scan-dots i:nth-child(3) { animation-delay: .3s; }
.scan-done {
 position: absolute;
 left: 0;
 right: 0;
 bottom: 0;
 display: grid;
 gap: 8px;
 padding: 34px 12px 12px;
 background: linear-gradient(0deg, rgba(8, 40, 27, .86), rgba(8, 40, 27, 0));
 opacity: 0;
 transform: translateY(8px);
 transition: opacity .4s ease, transform .4s var(--ease);
}
.scan-done-count { color: #f1fff6; font: 700 13px/1.2 var(--sans); letter-spacing: .01em; }
.scan-found { display: flex; flex-wrap: wrap; gap: 6px; }
.scan-found span { padding: 5px 11px; border-radius: 999px; background: rgba(255, 255, 255, .94); color: #1b3026; font: 600 12px/1.2 var(--sans); text-transform: capitalize; animation: scan-pop .5s cubic-bezier(.2, 1.35, .4, 1) both; }
.scan-found span:nth-child(2) { animation-delay: .07s; }
.scan-found span:nth-child(3) { animation-delay: .14s; }
.scan-found span:nth-child(4) { animation-delay: .21s; }
.scan-found span:nth-child(5) { animation-delay: .28s; }
.scan-found span:nth-child(6) { animation-delay: .35s; }
.scan-found span:nth-child(7) { animation-delay: .42s; }
.scan-found span:nth-child(8) { animation-delay: .49s; }
.scan-found span:nth-child(9) { animation-delay: .56s; }
#photo-kitchen[data-scan=done] .scan-beam,
#photo-kitchen[data-scan=done] .scan-grid,
#photo-kitchen[data-scan=done] .scan-readout { opacity: 0; }
#photo-kitchen[data-scan=done] .scan-readout { transform: translateY(8px); }
#photo-kitchen[data-scan=done] .scan-tint { opacity: .5; }
#photo-kitchen[data-scan=done] .scan-corner { border-color: #aef5c4; animation: none; }
#photo-kitchen[data-scan=done] .scan-done { opacity: 1; transform: none; }
#photo-kitchen[data-scan=on] #photo-analyze:disabled {
 opacity: 1;
 cursor: progress;
 background: linear-gradient(110deg, var(--primary) 25%, color-mix(in srgb, var(--primary) 55%, #7fd6a0) 50%, var(--primary) 75%);
 background-size: 220% 100%;
 animation: scan-button 1.7s linear infinite;
}
#photo-kitchen:not([data-scan=on]) .scan-fx > span,
#photo-kitchen:not([data-scan=on]) .scan-spark,
#photo-kitchen:not([data-scan=on]) .scan-line,
#photo-kitchen:not([data-scan=on]) .scan-dots i { animation: none; }
@keyframes scan-sweep { from { transform: translateY(-100%); } to { transform: translateY(285%); } }
@keyframes scan-grid { to { background-position: 26px 26px, 26px 26px; } }
@keyframes scan-lock { 0%, 100% { transform: translate(0, 0); opacity: .75; } 50% { transform: translate(var(--lock-x, 3px), var(--lock-y, 3px)); opacity: 1; } }
.scan-corner-tr { --lock-x: -3px; }
.scan-corner-bl { --lock-y: -3px; }
.scan-corner-br { --lock-x: -3px; --lock-y: -3px; }
@keyframes scan-line { 0% { opacity: 0; transform: translateY(70%); } 5% { opacity: 1; transform: none; } 22% { opacity: 1; transform: none; } 27% { opacity: 0; transform: translateY(-70%); } 100% { opacity: 0; transform: translateY(-70%); } }
@keyframes scan-dot { 0%, 100% { opacity: .3; transform: translateY(0); } 50% { opacity: 1; transform: translateY(-3px); } }
@keyframes scan-spark { 0%, 100% { transform: rotate(0) scale(1); } 50% { transform: rotate(90deg) scale(1.18); } }
@keyframes scan-pop { from { opacity: 0; transform: translateY(8px) scale(.85); } to { opacity: 1; transform: none; } }
@keyframes scan-button { from { background-position: 220% 0; } to { background-position: -220% 0; } }
@media (max-width: 520px) {
 .scan-readout { left: 8px; right: 8px; bottom: 8px; padding: 8px 11px; font-size: 12px; }
 .scan-corner { width: 20px; height: 20px; }
 .scan-dots { display: none; }
}
@media (prefers-reduced-motion: reduce) {
 .scan-fx > .scan-beam, .scan-fx > .scan-grid { display: none; }
}
.recipe-card .card-content .eyebrow.small { flex-wrap: wrap; row-gap: 2px; max-width: 100%; }
.recipe-hero-image .photo-caption { margin: 0; padding: 14px 24px 18px; line-height: 1.5; }
.plan-builder {
 display: grid;
 grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
 gap: 22px 36px;
 align-items: center;
 margin: 0 0 26px;
 padding: clamp(20px, 3vw, 30px);
 border-radius: var(--radius);
 border: 1px solid var(--line);
 background: radial-gradient(120% 140% at 0% 0%, color-mix(in srgb, var(--sage) 55%, var(--paper)) 0%, var(--paper) 62%);
 box-shadow: var(--shadow-sm);
}
.plan-builder-copy h2 { margin: 6px 0 8px; font-family: var(--serif); font-size: clamp(1.5rem, 3vw, 2rem); letter-spacing: -.02em; font-weight: 450; }
.plan-builder-copy p { margin: 0 0 6px; }
.plan-builder-copy #plan-builder-summary { color: var(--ink); font-weight: 500; }
.plan-builder-actions { display: grid; gap: 14px; justify-items: start; }
.plan-builder-buttons { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.plan-builder-buttons .btn.primary { padding-inline: 22px; }
.plan-builder-buttons .btn svg { flex-shrink: 0; }
#plan-builder-status:not(:empty) { padding: 10px 14px; border-radius: 14px; background: var(--paper); border: 1px solid var(--line); color: var(--ink); max-width: 46ch; }
@media (max-width: 760px) {
 .plan-builder { grid-template-columns: 1fr; }
 .plan-builder-buttons .btn.primary { width: 100%; justify-content: center; }
}
.not-found-picks .recipe-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); }
.card-link { display: block; color: inherit; text-decoration: none; }
.not-found-links {
 display: flex;
 flex-wrap: wrap;
 gap: 10px;
 margin-top: 44px;
 padding-top: 28px;
 border-top: 1px solid var(--line);
}
.not-found-links a {
 display: inline-flex;
 align-items: center;
 gap: 9px;
 padding: 12px 18px;
 border-radius: 999px;
 background: var(--paper);
 border: 1px solid var(--line);
 box-shadow: var(--shadow-xs);
 color: var(--ink);
 text-decoration: none;
 font-weight: 600;
 font-size: .9rem;
 transition: transform .25s var(--ease), box-shadow .25s var(--ease), border-color .2s, background .2s;
}
.not-found-links a .icon { transition: transform .3s var(--ease); }
.not-found-links a:hover { transform: translateY(-2px); box-shadow: var(--shadow-sm); border-color: #b7c8b0; }
.not-found-links a:hover .icon { transform: translateX(3px); }
.toast {
 border-radius: 999px;
 padding: 13px 22px;
 background: #173028;
 color: #f6f4e9;
 border: 1px solid rgba(255, 255, 255, .08);
 box-shadow: 0 18px 40px -14px rgba(9, 22, 16, .55);
 font-weight: 500;
}
html[data-theme=dark] .toast { background: #e8efdf; color: #15261c; border-color: transparent; }
.update-note { border-radius: 18px; }
#storage-warning, #offline-notice { border-radius: 16px; border: 1px solid var(--line); box-shadow: var(--shadow-xs); }
footer {
 position: relative;
 overflow: hidden;
 margin-top: 92px;
 padding-top: 68px;
 border-top: 0;
 background: linear-gradient(172deg, #22412f 0%, #15291f 100%);
 color: #e8eee0;
}
footer::before {
 content: "";
 position: absolute;
 right: -12%;
 bottom: -40%;
 width: 70%;
 height: 130%;
 background: radial-gradient(closest-side, rgba(200, 222, 170, .14), transparent);
 pointer-events: none;
}
html[data-theme=dark] footer { background: linear-gradient(172deg, #14291f 0%, #0a140f 100%); }
footer .brand, footer .brand > span:last-child { color: #f7f4e8; }
footer .brand small { color: #b8c7b1; }
footer .brand-mark { box-shadow: 0 0 0 1px rgba(255, 255, 255, .18), 0 12px 22px -12px rgba(0, 0, 0, .5); }
footer h3 { color: #e4b99c; font-family: var(--sans); font-size: .68rem; font-weight: 700; letter-spacing: .14em; }
footer a { position: relative; color: #d3dfcb; text-decoration: none; transition: color .2s; }
footer a::after { content: ""; position: absolute; left: 0; right: 0; bottom: -3px; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: left center; transition: transform .35s var(--ease); }
footer a:hover { color: #ffffff; }
footer a:hover::after { transform: scaleX(1); }
footer p, footer .footer-inner p, footer .footer-note p { color: #c4d2bd; }
footer .footer-inner a, footer .footer-inner > div > a:not(.brand) { color: #d3dfcb; }
footer .footer-inner > div > a:not(.brand):hover { color: #ffffff; }
footer :focus-visible { outline-color: #f1c9ae; }
.footer-note { background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .12); border-radius: 22px; color: #e8eee0; }
.footer-note strong { color: #f7f4e8; font-family: var(--serif); font-weight: 450; font-size: 1.1rem; }
.footer-note p { color: #c4d2bd; }
.footer-note svg { color: #d9e6b4; }
.footer-bottom { border-top: 1px solid rgba(255, 255, 255, .12); color: #a9b9a2; margin-top: 40px; }
.footer-bottom a { color: #d9e6b4; }
@view-transition { navigation: auto; }
.site-header { view-transition-name: site-header; }
.bottom-nav { view-transition-name: bottom-nav; }
::view-transition-group(site-header),
::view-transition-group(bottom-nav) { animation-duration: 0s; }
::view-transition-old(root) { animation: vt-out .26s var(--ease) both; }
::view-transition-new(root) { animation: vt-in .44s var(--ease) both; }
@keyframes vt-out { to { opacity: 0; transform: translateY(-6px); } }
@keyframes vt-in { from { opacity: 0; transform: translateY(12px); } }
@media (prefers-reduced-motion: reduce) {
 ::view-transition-old(root), ::view-transition-new(root) { animation: none; }
}
@keyframes rise { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
@keyframes float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }
@keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(80, 124, 74, .45); } 70% { box-shadow: 0 0 0 7px rgba(80, 124, 74, 0); } 100% { box-shadow: 0 0 0 0 rgba(80, 124, 74, 0); } }
.home-v5-copy > * { animation: rise .9s var(--ease) both; }
.home-v5-copy > *:nth-child(2) { animation-delay: .08s; }
.home-v5-copy > *:nth-child(3) { animation-delay: .16s; }
.home-v5-copy > *:nth-child(4) { animation-delay: .24s; }
.home-v5-visual { animation: rise 1.05s var(--ease) .14s both; }
.floating-kitchen-card { animation: float 7s ease-in-out infinite; }
.page-heading > * { animation: rise .8s var(--ease) both; }
.page-heading > *:nth-child(2) { animation-delay: .08s; }
@media (max-width: 1250px) {
 .connected-banner { padding: 46px; }
 .recipe-body-layout { gap: 40px; }
}
@media (max-width: 1100px) {
 .main-nav.is-open {
  border-radius: 24px;
  padding: 12px;
  box-shadow: var(--shadow-lg);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
  background: color-mix(in srgb, var(--paper) 94%, transparent);
  gap: 6px;
 }
 .main-nav.is-open a { flex-direction: column; justify-content: center; gap: 9px; text-align: center; border-radius: 18px; padding: 16px 8px; font-size: .8rem; }
 .main-nav.is-open a .icon { display: block; width: 22px; height: 22px; }
 .main-nav.is-open a[aria-current=page] { background: var(--soft); }
 .day-tabs { grid-template-columns: repeat(7, minmax(0, 1fr)); }
}
@media (max-width: 800px) {
 .home-v5-visual { overflow: clip; }
 .bottom-nav {
  left: 12px;
  right: 12px;
  bottom: max(12px, env(safe-area-inset-bottom));
  width: auto;
  padding: 6px;
  border: 1px solid color-mix(in srgb, var(--line) 80%, transparent);
  border-radius: 24px;
  background: color-mix(in srgb, var(--paper) 90%, transparent);
  -webkit-backdrop-filter: saturate(170%) blur(18px);
  backdrop-filter: saturate(170%) blur(18px);
  box-shadow: 0 20px 44px -16px rgba(20, 42, 31, .42);
 }
 .bottom-nav a { color: var(--muted); border-radius: 18px; transition: background .25s var(--ease), color .2s; }
 .bottom-nav a[aria-current=page] { background: var(--soft); color: var(--primary); font-weight: 650; box-shadow: var(--shadow-xs); }
 .bottom-nav a[aria-current=page] .icon { color: var(--terra); }
 .toast { bottom: 104px; }
 .update-note { bottom: 170px; }
 .home-v5 { gap: 40px; padding-block: 52px 40px; }
 .connected-banner { border-radius: 30px; padding: 36px; }
 .recipe-body-layout { gap: 28px; }
 .ingredients-panel { position: static; padding: 24px; }
 .method-list > li { padding-block: 24px; gap: 16px; }
 .photo-stages li { padding: 6px 10px 6px 6px; }
 .prose { border-radius: 26px; }
}
@media (max-width: 640px) {
 .everyday-rail a { padding: 22px 18px; }
 .everyday-rail a > svg:nth-of-type(1) { width: 44px; height: 44px; padding: 11px; border-radius: 14px; }
 .recipe-grid { gap: 18px; }
 .card-content { padding: 18px; }
 .card-content h3 { font-size: 1.28rem; }
 .summary-item { padding: 20px 22px; }
 .summary-item strong { font-size: 1.8rem; }
 .day-tabs button { min-height: 68px; border-radius: 16px; }
 .today-meal > img { width: 84px; height: 84px; border-radius: 16px; }
 .footer-bottom { padding-bottom: 110px; }
}
@media (max-width: 520px) {
 .home-v5 h1 { font-size: 3.05rem; }
 .recipe-card { border-radius: 22px; }
 .card-image .image-badge { bottom: 10px; left: 10px; padding: 5px 9px; font-size: .66rem; }
 .card-image .favorite { width: 36px; height: 36px; min-height: 36px; top: 9px; right: 9px; border-radius: 12px; }
 .photo-lab { border-radius: 26px; }
 .photo-lab-head h2 { font-size: 2rem; }
 .photo-drop { min-height: 0; border-radius: 22px; }
 .pantry-panel, .shopping-options, .settings-grid .panel, .preferences-panel { padding: 22px; }
 .shopping-group h2 { font-size: 1.3rem; padding: 16px 18px; }
 .grocery-row { padding: 14px 18px; }
 .plan-card-content { padding: 20px; }
 .trust-grid article { padding: 26px; border-radius: 22px; }
 .prose { padding: 24px 20px; }
 .action-dialog, .cook-dialog, .quick-dialog { border-radius: 24px; }
}
@media (max-width: 360px) {
 .home-v5 h1 { font-size: 2.7rem; }
 .bottom-nav a { font-size: .6rem; }
}
:root{--serif:Georgia,'Times New Roman',serif;--sans:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--radius:22px;--v8-green:#244f3b;--v8-light:#edf4e9;--v8-copper:#a7502f}
body{font-family:var(--sans)}h1,h2,.brand{font-family:var(--serif)}
.header-inner{min-height:82px}.wrap{width:min(1240px,calc(100% - 64px))}
main{min-width:0}.v8-profile-strip{display:flex;gap:24px;justify-content:space-between;align-items:center;padding:18px 24px;margin:26px auto 0;border:1px solid var(--line);border-radius:18px;background:var(--paper);box-shadow:0 8px 32px #263b2c05}
.v8-profile-copy{min-width:0}.v8-profile-copy strong{display:block;font-size:.84rem;letter-spacing:.01em}.v8-profile-copy p{font-size:.8rem;color:var(--muted);margin-top:3px}.v8-profile-strip .btn{flex-shrink:0;padding:10px 16px;font-size:.78rem}
.v8-shortcuts{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.v8-shortcuts a{display:inline-flex;align-items:center;gap:9px;background:var(--paper);border:1px solid var(--line);padding:10px 14px;border-radius:12px;font-size:.82rem;text-decoration:none;min-height:44px}.v8-shortcuts a:hover{background:var(--soft)}
.photo-workspace{grid-template-columns:1.12fr 1fr;gap:38px}.photo-controls{min-width:0}.photo-lab{box-shadow:0 24px 80px #18352609}.photo-lab-head h2{font-size:clamp(2rem,4vw,3.3rem)}
.photo-lab:has(#photo-preview-wrap:not([hidden])) #photo-drop{padding:12px 16px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;border-style:solid;min-height:0;margin-bottom:14px}
.photo-lab:has(#photo-preview-wrap:not([hidden])) #photo-drop>.photo-camera-mark,.photo-lab:has(#photo-preview-wrap:not([hidden])) #photo-drop>p,.photo-lab:has(#photo-preview-wrap:not([hidden])) #photo-drop>small{display:none}
.photo-lab:has(#photo-preview-wrap:not([hidden])) #photo-drop h3{font-family:var(--sans);font-size:1rem;margin:0}
.photo-lab:has(#photo-preview-wrap:not([hidden])) .photo-pick-actions{margin:0;gap:8px}
.photo-preview-wrap .scan-stage{width:100%;border-radius:20px;box-shadow:0 16px 32px #193d2318}
.photo-preview-wrap .scan-stage img#pantry-preview{width:100%;max-height:380px;object-fit:contain;min-height:180px;background:var(--soft)}
.scan-feedback{margin:16px 0;padding:20px;border:1px solid #a8c3ae;border-radius:20px;background:linear-gradient(135deg,#edf5e9,#f7faf4);color:#244736;position:relative;overflow:hidden}
.scan-feedback-top{display:flex;align-items:center;gap:16px}.scan-feedback-top>div{min-width:0}.scan-feedback-top strong{font-size:1rem;display:block;line-height:1.4}.scan-feedback-top small{color:#48624f;font-size:.75rem;margin-top:3px}
.scan-orbit{width:48px;height:48px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;position:relative;background:#dcebd6;color:#315a3e;font-size:24px;line-height:1}
.scan-orbit:before,.scan-orbit:after{content:'';position:absolute;inset:-3px;border:2px solid transparent;border-top-color:#477952;border-bottom-color:#85a675;border-radius:50%;animation:v8-orbit 2s linear infinite}
.scan-orbit:after{inset:5px;border-bottom-color:transparent;animation-direction:reverse;animation-duration:3s}
.scan-phase-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:0;margin:20px 0 14px;list-style:none;font-size:.67rem;color:#55715d}.scan-phase-list li{position:relative;border-top:3px solid #ccd9c7;padding-top:8px;line-height:1.4}.scan-phase-list .is-current{border-color:#356145;color:#254732;font-weight:700}.scan-phase-list .is-complete{border-color:#80a379}
.scan-feedback .fineprint{color:#4b6551;font-size:.73rem}.scan-indeterminate{height:3px;position:absolute;bottom:0;left:0;right:0;background:#dce8d7;overflow:hidden}.scan-indeterminate:before{content:'';display:block;width:35%;height:100%;background:#538362;animation:v8-travel 2.8s ease-in-out infinite}
#photo-kitchen[data-scan=done] .scan-orbit:before,#photo-kitchen[data-scan=done] .scan-orbit:after,#photo-kitchen[data-scan=done] .scan-indeterminate:before{animation:none}
#photo-kitchen:not([data-scan-phase=analyze]) .scan-beam,#photo-kitchen:not([data-scan-phase=analyze]) .scan-grid{opacity:0;animation:none}
.scan-lines{height:auto;overflow:visible;line-height:1.5}.scan-live-phase{position:static;opacity:1;white-space:normal;animation:none;font-size:12px}.scan-readout{min-height:52px}.scan-beam{animation-duration:3.5s}
#photo-kitchen .photo-action-row{flex-wrap:wrap}#photo-analyze{min-height:52px;position:relative}#photo-cancel{opacity:1}
.recipe-media{display:block;position:relative;overflow:hidden;min-width:0;width:100%;height:100%;background:#f7f4eb}.recipe-media img.food-photo{display:block;width:100%;height:100%;object-fit:cover;margin:0;border-radius:inherit}.recipe-media[data-media-kind=ingredients] img.food-photo{object-fit:contain;background:#f7f4eb}
.media-label{position:absolute;bottom:10px;left:10px;right:10px;width:fit-content;max-width:calc(100% - 20px);padding:5px 9px;border:1px solid #dce5d5;border-radius:7px;background:#fffffff2;color:#3d5444;font:600 10px/1.4 var(--sans);letter-spacing:0;pointer-events:none}
.recipe-hero-image>.recipe-media{height:auto;aspect-ratio:1.45}.recipe-hero-image>.recipe-media img{height:100%}.recommendation-photo>.recipe-media{aspect-ratio:1.45}.match-status{z-index:1;top:12px;bottom:auto!important}.recommendation-photo .media-label{font-size:9px}
.plan-card>.recipe-media{aspect-ratio:1.45;height:auto}.today-meal>.recipe-media{height:110px;max-width:155px;border-radius:14px}.suggestion-mini-art>.recipe-media{height:100%}.suggestion-mini-art .media-label,.today-meal .media-label,.swap-option .media-label{font-size:0;padding:0;border:0}.suggestion-mini-art .media-label:after,.today-meal .media-label:after,.swap-option .media-label:after{content:'Ingredient guide';font-size:8px;padding:3px 5px;display:block;background:#ffffffec;color:#355340}.recipe-media[data-media-kind=inspiration] .media-label:after{content:'Serving idea'}
.kitchen-recipe-tag{display:inline-flex;margin:2px 0 9px;padding:5px 9px;background:var(--soft);color:var(--ink);font-size:.7rem;border-radius:7px;border:1px solid var(--line)}
.v8-composition-summary{border-left:3px solid var(--primary);padding:14px 18px;background:var(--soft);border-radius:0 12px 12px 0;color:var(--muted);font-size:.83rem;margin:18px 0}
.plan-mismatch{font-size:.75rem!important;font-weight:650;color:var(--terra)!important}.v8-plan-warning{margin-top:20px;border-left:4px solid var(--terra)}
.profile-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:22px 0}.profile-fields input,.profile-fields select{width:100%}.v8-specific-foods{margin:20px 0}.v8-specific-foods summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:600;font-size:.85rem}.v8-specific-foods select{display:block;width:100%;min-height:190px;font-size:.84rem;margin-top:12px}.profile-next{margin-top:14px;font-size:.85rem}
.kitchen-cook-hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:40px;padding:32px 0}.kitchen-cook-hero h1{font-size:clamp(2.4rem,4vw,4rem);margin:18px 0}.kitchen-cook-hero .recipe-media{border-radius:24px;aspect-ratio:1.4;height:auto;box-shadow:0 15px 50px #263b2c12}.kitchen-cook-body{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;margin-bottom:70px}.kitchen-cook-body .panel{align-self:start}.kitchen-ingredient-list{list-style:none;padding:0;margin:20px 0}.kitchen-ingredient-list li{display:flex;align-items:baseline;gap:15px;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);font-size:.9rem}.kitchen-ingredient-list strong{flex-shrink:0;font-size:.82rem}.v8-portion-control{display:flex;align-items:center;gap:12px;margin-top:24px}.v8-portion-control input{max-width:110px}.kitchen-steps{counter-reset:step;list-style:none;margin:24px 0;padding:0}.kitchen-steps li{counter-increment:step;position:relative;padding:0 0 24px 50px;margin-bottom:18px;border-bottom:1px solid var(--line);line-height:1.8;font-size:.95rem}.kitchen-steps li:before{content:counter(step,decimal-leading-zero);position:absolute;left:0;top:2px;font:1.4rem var(--serif);color:var(--terra)}
.v8-cook-content{padding:28px}.v8-cook-content h2{margin:20px 0}.v8-cook-text{font-size:1.3rem;line-height:1.65;min-height:150px;margin:22px 0}.v8-cook-timer{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-top:24px}.v8-cook-timer strong{font-size:1.5rem}.v8-cook-timer input{max-width:100px}
#kitchen-saved-library{margin-top:24px}#kitchen-saved-library .today-suggestions{margin-top:18px}.release-label{white-space:nowrap;font-size:11px;color:var(--muted);margin-left:8px}
html[data-theme=dark] .scan-feedback{background:linear-gradient(135deg,#1d3929,#22312a);border-color:#58775c;color:#edf6e5}html[data-theme=dark] .scan-feedback-top small,html[data-theme=dark] .scan-feedback .fineprint,html[data-theme=dark] .scan-phase-list{color:#c0d4b9}html[data-theme=dark] .scan-phase-list .is-current{color:#f3f9ef;border-color:#a8c399}html[data-theme=dark] .scan-orbit{background:#34563b;color:#f3f6ec}
@keyframes v8-orbit{to{transform:rotate(360deg)}}@keyframes v8-travel{0%{transform:translateX(-110%)}100%{transform:translateX(390%)}}
@media(max-width:900px){.photo-workspace{gap:24px}.profile-fields{grid-template-columns:1fr 1fr}.kitchen-cook-hero{gap:24px}.kitchen-cook-body{gap:24px}.header-inner{gap:12px}}
@media(max-width:680px){.wrap{width:calc(100% - 32px)}.v8-profile-strip{padding:14px 16px;margin-top:16px;gap:12px;align-items:flex-start}.v8-profile-copy p{font-size:.75rem}.v8-profile-strip .btn{padding:10px;font-size:.73rem;max-width:100px}.photo-workspace,.kitchen-cook-hero,.kitchen-cook-body,.profile-fields{grid-template-columns:1fr}.photo-preview-wrap .scan-stage img#pantry-preview{max-height:330px}.scan-feedback{padding:16px}.scan-phase-list{font-size:.61rem;gap:6px}.photo-lab:has(#photo-preview-wrap:not([hidden])) #photo-drop{justify-content:center}.kitchen-cook-hero{padding-top:20px}.kitchen-cook-body{gap:30px}.kitchen-cook-body .panel{padding:20px}.kitchen-cook-hero h1{font-size:2.6rem}.kitchen-steps li{padding-left:40px}.v8-cook-content{padding:18px}.recipe-hero-image>.recipe-media{aspect-ratio:1.38}.today-meal>.recipe-media{height:90px}.v8-shortcuts{gap:6px}.v8-shortcuts a{font-size:.77rem;padding:8px 10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.scan-fx *,#photo-analyze,.scan-feedback *,.scan-feedback *:before,.scan-feedback *:after{animation:none!important;transition:none!important}.scan-beam{display:none}.btn:hover,.photo-drop:hover{transform:none}}
@media print{.v8-profile-strip,.v8-shortcuts,.scan-feedback,.release-label,.v8-portion-control button{display:none!important}.kitchen-cook-hero,.kitchen-cook-body{display:block}.kitchen-cook-hero .recipe-media{max-width:360px}.kitchen-steps li{break-inside:avoid}.media-label{position:static}}

#scan-feedback{scroll-margin-top:95px;scroll-margin-bottom:100px}#kitchen-saved-library .match-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:24px}.recipe-hero-image>.recipe-media img{object-position:center}.recipe-media[data-media-kind=ingredients] .media-label{font-size:9px}
@media(max-width:760px){#kitchen-saved-library .match-results{grid-template-columns:1fr}}

.preferences-panel{scroll-margin-top:110px}.preferences-save{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin-top:20px}.preferences-save .btn{flex:0 0 auto;min-width:210px}.preferences-save .profile-next{margin:0;white-space:nowrap}.preferences-panel #recipe-preferences-status{margin:18px 0 10px;max-width:850px}.preferences-panel .v8-specific-foods{max-width:720px}.preferences-panel .v8-specific-foods select{background-image:none}.preferences-panel fieldset{margin-top:24px}
@media(max-width:520px){.preferences-save .btn{min-width:0;width:100%}.preferences-save .profile-next{width:100%;text-align:center}}

/* Daily Table 9: photo-first, practical daily use. Existing photographs stay intact. */
:root{--daily-accent:#376049;--daily-line:#d5dfcf;--daily-tint:#edf2e7}
html[data-theme=dark]{--daily-accent:#c4dcb8;--daily-line:#405540;--daily-tint:#263a2a}
.profile-trigger{background:var(--soft);border-color:var(--line)}
.header-actions{gap:6px}.header-actions .profile-trigger:hover{background:var(--sage)}
.recipe-media .media-label:after{content:none!important}
.suggestion-mini-art .media-label,.today-meal .media-label,.swap-option .media-label{display:none}
.recipe-card{transition:transform .2s ease,box-shadow .2s ease;border:1px solid var(--line)}
.recipe-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px #263d2b14}
.recipe-card .food-photo{transition:transform .4s ease}.recipe-card:hover .food-photo{transform:scale(1.025)}
.recipe-media img.food-photo.photo-fallback{object-fit:contain}
.profile-dialog{padding:8px 4px 4px}.profile-dialog h2{font-size:clamp(1.9rem,4vw,2.8rem);line-height:1.12;margin:12px 0 14px;letter-spacing:-.03em}
.profile-dialog>p{color:var(--muted);font-size:.94rem;line-height:1.7;margin-bottom:22px;max-width:58ch}
.profile-dialog .eyebrow{color:var(--terra)}
.profile-list{display:grid;gap:10px;margin:22px 0}
.profile-choice{width:100%;display:grid;grid-template-columns:48px 1fr 24px;align-items:center;text-align:left;gap:14px;border:1px solid var(--line);border-radius:17px;padding:15px;background:var(--paper);color:var(--ink);min-height:82px}
.profile-choice:disabled{opacity:1;cursor:default}.profile-choice.is-active{border-color:var(--daily-accent);background:var(--daily-tint)}
.profile-choice:hover:not(:disabled){border-color:var(--daily-accent);background:var(--soft)}
.profile-choice strong,.profile-choice small{display:block}.profile-choice strong{overflow-wrap:anywhere;font-size:.97rem}.profile-choice small{font-size:.77rem;color:var(--muted);line-height:1.5;margin-top:4px}
.profile-monogram{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:var(--soft);border:1px solid var(--line);color:var(--ink);font:1.5rem var(--serif)}
.profile-choice.is-active .profile-monogram{background:var(--primary);color:var(--paper)}
.new-profile-form{margin-top:24px;border-top:1px solid var(--line);padding-top:22px;display:grid;grid-template-columns:1fr auto;align-items:end;gap:12px}
.new-profile-form .field{min-width:0}.new-profile-form .btn{margin:0;white-space:nowrap}
.profile-privacy{padding:14px 16px;background:var(--soft);border-radius:12px;color:var(--muted);font-size:.75rem;line-height:1.7;margin:20px 0 4px}
.quick-profile-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0}
.quick-profile-fields input,.quick-profile-fields select{width:100%;min-height:48px;font-size:.9rem}
.quick-profile-exclusions{border:1px solid var(--line);padding:14px 16px 18px;border-radius:14px;margin:20px 0}
.quick-profile-exclusions legend{padding:0 7px;font-weight:600;font-size:.87rem}
.quick-profile-exclusions .preference-choice{min-height:44px;padding:8px 12px;background:var(--paper)}
.quick-profile-exclusions .preference-choice:has(input:checked){border-color:var(--daily-accent);background:var(--soft)}
.quick-profile-exclusions input{accent-color:var(--daily-accent);width:17px;height:17px}
.profile-dialog .full{min-height:48px;margin-top:12px}.profile-advanced{display:flex;min-height:44px;align-items:center;font-size:.8rem;margin-top:12px;color:var(--muted)}
.profile-success{text-align:center;padding-top:25px}.profile-success .eyebrow{display:block}.profile-success p{margin-left:auto;margin-right:auto}.profile-success .text-button{min-height:44px;margin-top:16px}
.profile-success-mark{display:grid;place-items:center;width:66px;height:66px;border-radius:50%;margin:0 auto 22px;background:var(--daily-tint);border:1px solid var(--daily-line);color:var(--daily-accent);font-size:30px}
.profile-manager-panel{display:grid;grid-template-columns:1fr auto;align-items:center;gap:26px;margin:20px auto 32px;padding:30px;background:linear-gradient(120deg,var(--paper),var(--soft))}
.profile-manager-panel h2{font-size:1.8rem;line-height:1.25;margin:10px 0}.profile-manager-panel p{max-width:66ch;color:var(--muted);font-size:.9rem}.profile-manager-panel .fineprint{font-size:.77rem;margin-top:10px}.profile-manager-panel .btn{white-space:nowrap}
.daily-focus{margin-top:20px;margin-bottom:38px}.daily-focus-card{display:grid;grid-template-columns:.92fr 1.08fr;border:1px solid var(--daily-line);border-radius:30px;overflow:hidden;background:var(--paper);box-shadow:0 22px 60px #1936220d}
.daily-focus-photo{position:relative;min-height:330px}.daily-focus-photo>.recipe-media{position:absolute;inset:0;border-radius:0}.daily-focus-content{padding:32px 36px;align-self:center;min-width:0}
.daily-focus-topline{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.daily-focus-content h2{font:clamp(1.9rem,3vw,2.7rem)/1.12 var(--serif);letter-spacing:-.025em;margin:20px 0 14px;max-width:20ch}
.daily-focus-content>p{color:var(--muted);font-size:.86rem}.daily-progress-pill{padding:5px 10px;border:1px solid var(--line);border-radius:30px;white-space:nowrap;font-size:.7rem;color:var(--muted)}
.daily-stock{display:inline-flex;margin:16px 0 0;padding:7px 11px;border-radius:9px;background:var(--soft);font-size:.79rem;color:var(--ink)}.daily-stock.is-ready{background:var(--daily-tint);color:var(--daily-accent);font-weight:600}
.daily-focus-content .hero-actions{gap:10px;margin-top:20px}.daily-focus-content .hero-actions .btn{font-size:.81rem;padding:12px 16px;min-height:48px}
.daily-shortcuts{display:flex;gap:20px;flex-wrap:wrap;margin-top:13px}.daily-shortcuts a{display:flex;align-items:center;min-height:44px;font-size:.78rem;color:var(--muted)}
.daily-complete{border:1px solid var(--daily-line);border-radius:26px;background:var(--daily-tint);padding:36px}.daily-complete h2{font:2.4rem var(--serif);margin:14px 0}.daily-complete p{color:var(--muted)}
.use-every-choice{display:flex;gap:12px;align-items:flex-start;padding:16px 18px;border:1px solid var(--line);border-radius:16px;background:var(--paper);margin:18px 0 8px;cursor:pointer}
.use-every-choice input{width:18px;height:18px;flex-shrink:0;margin-top:3px;accent-color:var(--daily-accent)}.use-every-choice strong{font-size:.83rem;display:block}.use-every-choice small{font-size:.73rem;line-height:1.6;color:var(--muted);display:block;margin-top:4px}.use-every-choice:has(input:checked){border-color:var(--daily-accent);background:var(--daily-tint)}
#photo-kitchen[data-scan=on] #photo-analyze{opacity:1;box-shadow:0 0 0 4px #70966a1a}
#photo-kitchen[data-scan=on] #photo-analyze:after{content:'';width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:daily-spinner 1.2s linear infinite}
.scan-feedback{border-radius:22px;box-shadow:0 10px 28px #294d2b0d;background:linear-gradient(120deg,#edf5e9 0%,#fafcf5 55%,#eaf3e7 100%)}
.scan-orbit{width:52px;height:52px;background:radial-gradient(circle at 30% 25%,#f5faee,#c8dfbc);box-shadow:0 0 0 8px #dcebd640}
.scan-feedback-top{gap:20px}.scan-feedback-top strong{font-size:1.04rem}.scan-phase-list{margin-top:24px;column-gap:10px;font-size:.67rem}
.photo-preview-wrap .scan-stage{border:1px solid var(--daily-line);box-shadow:0 14px 38px #193d2314}
.scan-readout{backdrop-filter:blur(12px);border:1px solid #ffffff3d}
#photo-kitchen[data-scan-phase=security] .scan-tint{opacity:.15}
#photo-kitchen[data-scan-phase=analyze] .scan-tint{opacity:.65}
#photo-kitchen[data-scan=done] .scan-orbit{background:#dbeacd}
@keyframes daily-spinner{to{transform:rotate(360deg)}}
@media(min-width:1050px) and (max-width:1280px){.header-inner{gap:10px}.brand small{display:none}.quick-open kbd{display:none}.main-nav a{padding:10px}.brand{font-size:1.45rem}.header-actions .icon-btn{width:38px;min-width:38px}}
@media(max-width:900px){.profile-manager-panel{grid-template-columns:1fr}.profile-manager-panel .btn{justify-self:start}.daily-focus-content{padding:26px}.daily-focus-topline{align-items:flex-start}.daily-focus-content h2{font-size:2rem}}
@media(max-width:680px){.header-inner{gap:8px}.header-actions>a[aria-label="Settings and backups"]{display:none}.header-actions{gap:4px}.profile-trigger{width:40px;min-width:40px}.daily-focus-card{grid-template-columns:1fr;border-radius:24px}.daily-focus-photo{min-height:230px;max-height:270px}.daily-focus-content{padding:24px}.daily-focus-content h2{font-size:2.1rem}.daily-focus-content .hero-actions{display:grid;grid-template-columns:1fr 1fr}.daily-focus-content .hero-actions .btn{padding:11px 10px}.quick-profile-fields{gap:14px}.quick-profile-fields .field>span{font-size:.8rem}.profile-manager-panel{padding:24px}.profile-manager-panel .btn{width:100%}.profile-dialog>p{font-size:.86rem}.profile-privacy{font-size:.73rem}.action-dialog:has(.profile-dialog){max-height:calc(100dvh - 28px);width:calc(100% - 24px);padding:20px}.profile-dialog{padding:8px 0}.profile-dialog h2{padding-right:16px}.new-profile-form{grid-template-columns:1fr}.profile-choice{padding:12px;grid-template-columns:44px 1fr 20px}.profile-monogram{width:44px;height:44px}.use-every-choice{padding:14px}.scan-feedback{padding:18px}.scan-feedback-top strong{font-size:.9rem}.scan-phase-list{font-size:.6rem;gap:7px}.scan-orbit{width:45px;height:45px}}
@media(max-width:420px){.header-actions .quick-open{display:none}.header-actions .icon-btn{width:38px;min-width:38px;min-height:44px}.header-inner .brand{font-size:1.18rem;gap:8px}.brand-mark{width:36px;height:36px}.brand small{display:none}.quick-profile-fields{grid-template-columns:1fr}.daily-focus-content .hero-actions{grid-template-columns:1fr}.daily-shortcuts{gap:14px}.daily-focus-content{padding:22px}}
@media(prefers-reduced-motion:reduce){.recipe-card,.recipe-card .food-photo{transition:none}.recipe-card:hover,.recipe-card:hover .food-photo{transform:none}#photo-kitchen[data-scan=on] #photo-analyze:after{animation:none}.scan-readout{backdrop-filter:none}}
@media print{.profile-manager-panel,.profile-trigger,.use-every-choice,.daily-shortcuts,.daily-focus-content .hero-actions{display:none!important}.daily-focus-card{box-shadow:none;break-inside:avoid}.daily-focus-photo{min-height:220px}}
.results-line:has(.use-every-choice){display:block}.results-line:has(.use-every-choice)>*{max-width:100%}.results-line #match-summary{overflow-wrap:anywhere}
.scan-preview-toolbar{display:none;align-items:center;justify-content:space-between;gap:14px;padding:13px 16px;background:var(--paper);border:1px solid var(--daily-line);border-radius:0 0 17px 17px;margin-top:-3px;position:relative;color:var(--ink)}
.scan-preview-toolbar>span{min-width:0}.scan-preview-toolbar strong{display:block;font-size:.83rem;line-height:1.5}.scan-preview-toolbar small{display:block;font-size:.72rem;color:var(--muted);margin-top:2px}.scan-preview-toolbar .btn{min-height:44px;padding:9px 14px;font-size:.8rem;flex-shrink:0}
#photo-kitchen[data-scan=on] .scan-preview-toolbar{display:flex}#photo-kitchen[data-scan=on] #photo-dimensions{display:none}
#photo-preview-wrap{scroll-margin-top:110px}
@media(max-width:420px){.scan-preview-toolbar{padding:12px;gap:9px}.scan-preview-toolbar strong{font-size:.75rem}.scan-preview-toolbar .btn{padding:8px 12px}#photo-preview-wrap{scroll-margin-top:100px}}
@media print{.scan-preview-toolbar{display:none!important}}

/* Daily-use performance: show the first screen immediately; retain only useful
   request-state animation, not idle floating or delayed opacity reveals. */
.home-v5-copy > *, .home-v5-visual, .page-heading > * {
 animation:none; opacity:1; transform:none;
}
.floating-kitchen-card, .live-dot { animation:none; }
/* v10 Daily kitchen workbench - one visual system, no additional font or animation dependency. */
.dt-shell{--dt-paper:#fffdf8;--dt-soft:#f0f2e8;--dt-ink:#203c2f;--dt-muted:#586657;--dt-line:#d9dfd1;--dt-accent:#b74d27;max-width:1260px;margin-inline:auto;padding:28px 24px 68px;color:var(--dt-ink)}
[data-theme=dark] .dt-shell,[data-theme=dark] .dt-dialog,[data-theme=dark] .dt-cook{--dt-paper:#17261e;--dt-soft:#23372b;--dt-ink:#edf3e6;--dt-muted:#bac8b7;--dt-line:#415744;--dt-accent:#f2ab88}
.dt-shell :is(input,select,textarea),.dt-dialog :is(input,select,textarea),.dt-cook :is(input,select,textarea){font:inherit;color:inherit;background:var(--dt-paper,#fffdf8);border:1px solid var(--dt-line,#d9dfd1);border-radius:12px;min-height:44px;padding:10px 12px;max-width:100%;width:100%}
.dt-shell input[type=checkbox],.dt-dialog input[type=checkbox],.dt-cook input[type=checkbox]{width:20px;min-width:20px;height:20px;min-height:20px;padding:0;accent-color:#45694b}
.dt-shell :is(button,a,input,select,textarea):focus-visible,.dt-dialog :is(button,a,input,select,textarea):focus-visible,.dt-cook :is(button,a,input,select,textarea):focus-visible{outline:3px solid #cf6b31;outline-offset:4px}
.dt-shell [hidden]{display:none!important}.dt-shell :is(h1,h2,h3,h4,p){overflow-wrap:anywhere}.dt-shell h1{font-size:clamp(2.3rem,4.5vw,4.5rem);line-height:1.07;letter-spacing:-.045em;margin:10px 0 16px;max-width:840px}.dt-shell h2{font-size:clamp(1.55rem,2.5vw,2.1rem);line-height:1.17;letter-spacing:-.025em}.dt-shell h3{font-size:1.5rem;line-height:1.2;margin:8px 0 12px}.dt-shell p{line-height:1.65}.dt-shell .btn,.dt-dialog .btn,.dt-cook .btn{min-height:44px;white-space:normal;line-height:1.35;padding:11px 16px;border-radius:12px;text-align:center}.dt-shell .btn.text{padding:8px 4px;color:var(--dt-muted)}
.dt-shell button[aria-pressed=true].secondary,.dt-tabs button[aria-pressed=true],.dt-chip[aria-pressed=true]{background:#274b35;color:#fff;border-color:#274b35}.dt-shell :disabled{opacity:.55;cursor:not-allowed}
.dt-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:32px 0 26px}.dt-heading>div{min-width:0}.dt-heading p{color:var(--dt-muted);max-width:680px;margin:0}.dt-heading .eyebrow{color:var(--dt-accent);font-size:.73rem;letter-spacing:.17em}.dt-heading .dt-actions{max-width:320px}
.dt-preferences{display:flex;align-items:center;gap:20px;border-bottom:1px solid var(--dt-line);padding:0 0 22px}.dt-profile{display:flex;align-items:center;gap:12px;border:0;background:none;text-align:left;color:inherit;min-height:52px;flex:0 0 auto;max-width:300px}.dt-profile strong,.dt-profile small{display:block}.dt-profile small{font-size:.78rem;color:var(--dt-muted)}.dt-avatar{display:grid;place-items:center;background:#e1e8d6;color:#2c4d35;border-radius:50%;width:44px;height:44px;font-family:Georgia,serif;font-size:1.4rem}.dt-chips{display:flex;gap:8px;flex-wrap:wrap}.dt-chip{display:inline-flex;align-items:center;gap:8px;min-height:40px;border:1px solid var(--dt-line,#d9dfd1);border-radius:100px;background:var(--dt-paper,#fffdf8);color:var(--dt-ink,#203c2f);padding:8px 13px;font-size:.82rem;font-weight:600;line-height:1.35;cursor:pointer}.dt-profile:hover,.dt-chip:hover{filter:brightness(.96)}
.dt-date-nav{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap;min-width:255px}.dt-date-nav span{font-size:.85rem;font-weight:700;min-width:60px;text-align:center}.dt-day-progress{display:flex;align-items:center;gap:14px;padding:14px 18px;background:var(--dt-soft);border-radius:14px;margin:0 0 22px;font-size:.85rem}.dt-day-progress progress{flex:1;max-width:250px;height:7px;min-width:60px}.dt-day-progress small{margin-left:auto;color:var(--dt-muted)}progress{accent-color:#4c754d}
.dt-card{min-width:0;display:flex;flex-direction:column;background:var(--dt-paper);border:1px solid var(--dt-line);border-radius:22px;overflow:hidden;box-shadow:0 4px 24px #16271705}.dt-card .dt-photo{display:block;position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--dt-soft)}.dt-card .recipe-media{display:block;width:100%;height:100%;position:relative}.dt-card .recipe-media img{height:100%;width:100%;object-fit:cover;display:block;aspect-ratio:auto}.dt-card .media-label{position:absolute;left:12px;right:auto;top:auto;bottom:12px;max-width:calc(100% - 24px);z-index:2;background:#142c23eb;color:#fff;padding:6px 10px;border-radius:8px;font-size:11px;line-height:1.4;opacity:1;display:block}.dt-card-body{padding:22px;min-width:0}.dt-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.dt-card-top .eyebrow{font-size:.69rem;letter-spacing:.1em;color:var(--dt-muted)}.dt-card a{color:inherit}.dt-card h3 a,.dt-card h2 a{text-decoration:none}.dt-card h3 a:hover,.dt-card h2 a:hover{text-decoration:underline}.dt-card .dt-meta{color:var(--dt-muted);font-size:.8rem;margin:8px 0}.dt-allergens{font-size:.74rem;line-height:1.45!important;color:var(--dt-muted);margin:6px 0 12px}.dt-why{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.dt-badge{border:1px solid var(--dt-line);background:var(--dt-soft);border-radius:8px;padding:5px 8px;font-size:.71rem;font-weight:600;line-height:1.45}.dt-badge.priority,.dt-stock-chip.priority{background:#edf2cf;color:#365020;border-color:#bbc897}.dt-badge.caution,.dt-warning{color:#803516;background:#fff0e4;border-radius:10px;border:1px solid #e2baa0;padding:9px 12px;font-size:.8rem;line-height:1.6}.dt-warning a{color:inherit}.dt-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:16px}.dt-actions .primary{flex:1}.dt-meal-options{display:flex;flex-wrap:wrap;gap:5px;font-size:.75rem;margin-top:4px}.dt-meal-options .btn{min-height:36px;font-size:.75rem}
.dt-needed{font-size:.79rem;line-height:1.6;margin:12px 0;border-top:1px solid var(--dt-line);border-bottom:1px solid var(--dt-line);padding:10px 0}.dt-needed summary{min-height:30px;cursor:pointer;font-weight:600}.dt-needed ul{list-style:none;padding:0;margin:8px 0}.dt-needed li{display:flex;justify-content:space-between;gap:16px;padding:7px 0;border-bottom:1px dashed var(--dt-line)}.dt-needed li strong{flex:0 0 auto}.dt-needed small,.dt-needed p{color:var(--dt-muted)}.dt-feedback{font-size:.77rem;line-height:1.5;margin:12px 0 0}.dt-feedback summary{cursor:pointer;min-height:30px}.dt-feedback .dt-chips{margin:8px 0}.dt-feedback small{display:block;color:var(--dt-muted)}
.dt-hero{display:grid;grid-template-columns:1fr 1.06fr;margin-bottom:32px;background:var(--dt-soft)}.dt-hero .dt-photo{aspect-ratio:auto;min-height:400px}.dt-hero .dt-card-body{padding:32px}.dt-hero h2{font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.1;margin:14px 0}.dt-hero .dt-card-top .eyebrow{color:var(--dt-accent)}.dt-eaten-control{display:flex;align-items:center;gap:8px;font-size:.77rem;min-height:44px;cursor:pointer}.dt-eaten{border-color:#9bad85}.dt-day-columns{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;align-items:start}.dt-meal-list{display:grid;gap:18px}.dt-meal-list .dt-card{display:grid;grid-template-columns:180px 1fr}.dt-meal-list .dt-photo{aspect-ratio:auto;height:100%;min-height:180px}.dt-meal-list .dt-card-body{padding:20px}.dt-meal-list h3{font-size:1.3rem}.dt-daily-side{display:grid;gap:18px}.dt-panel{padding:24px;background:var(--dt-paper,#fffdf8);color:var(--dt-ink,#203c2f);border:1px solid var(--dt-line,#d9dfd1);border-radius:20px;min-width:0}.dt-panel h2,.dt-panel h3{margin-top:0}.dt-panel p,.dt-panel label{font-size:.88rem}.dt-panel textarea{margin:8px 0 12px}.dt-water{font-size:.8rem;color:var(--dt-muted)}.dt-water strong{font-size:2.6rem;color:var(--dt-ink);font-weight:600;line-height:1}.dt-daily-side .dt-chips .btn{font-size:.8rem;flex:1;padding:8px 10px}.dt-inline-form{display:flex;gap:10px;align-items:end;margin:16px 0}.dt-inline-form label{flex:1;min-width:0}.dt-inline-form input{margin-top:5px}.dt-inline-form button{flex:0 0 auto}.dt-section{margin:38px 0}.dt-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.dt-section-head h2{margin:0}.dt-section-head a{font-size:.85rem}.dt-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.dt-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dt-backup{display:flex;align-items:center;gap:16px;padding:20px;border:1px dashed var(--dt-line);border-radius:16px;margin:28px 0}.dt-backup span{flex:1;font-size:.85rem}.dt-backup strong{display:block}.dt-trust{font-size:.78rem;text-align:center;color:var(--dt-muted);padding-top:28px;line-height:1.7}.dt-inline-swap{margin-top:18px;padding:16px;background:var(--dt-soft);border:1px solid var(--dt-line);border-radius:14px}.dt-inline-swap h4{margin:0 0 8px;font-size:1.05rem}.dt-inline-swap p{font-size:.78rem}.dt-swap-option{display:block;width:100%;min-height:58px;text-align:left;padding:12px;margin:8px 0;background:var(--dt-paper);border:1px solid var(--dt-line);border-radius:10px;color:inherit}.dt-swap-option strong,.dt-swap-option small{display:block}.dt-swap-option small{font-size:.75rem;color:var(--dt-muted);margin-top:3px}
.dt-tabs{display:flex;gap:8px;overflow-x:auto;padding:3px 0 8px;scrollbar-width:thin}.dt-tabs .btn{white-space:nowrap;min-width:96px;flex-shrink:0}.dt-library-tools{background:var(--dt-paper);border:1px solid var(--dt-line);border-radius:18px;padding:18px;margin-bottom:16px}.dt-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:12px 0}.dt-filter-grid label{font-size:.78rem;min-width:0;font-weight:600;display:block}.dt-filter-grid :is(input,select){margin-top:6px;font-weight:400}.dt-filter-grid .dt-search{grid-column:span 1}.dt-filter-details{border-top:1px solid var(--dt-line);padding-top:12px;margin-top:14px}.dt-filter-details summary{font-size:.85rem;min-height:38px;cursor:pointer}.dt-filter-footer{display:flex;gap:16px;align-items:center;flex-wrap:wrap;font-size:.82rem}.dt-check{display:flex!important;align-items:center;gap:9px;font-size:.84rem;min-height:40px}.dt-check small{font-size:.7rem;color:var(--dt-muted)}#dt-library-count{font-size:.84rem;color:var(--dt-muted);margin:20px 0}#dt-library-more{text-align:center;margin:28px 0}
.dt-planner-controls{display:grid;grid-template-columns:270px 1fr;gap:26px;align-items:center;margin:20px 0}.dt-planner-controls label{font-weight:600}.dt-planner-controls input{margin-top:5px}.dt-menu-theme{font-size:.88rem;color:var(--dt-muted)}.dt-days{margin:24px 0}.dt-days .btn{min-width:90px;display:flex;flex-direction:column;gap:6px}.dt-days small{font-size:.71rem;font-weight:400}.dt-table-scroll{overflow:auto}.dt-week-overview{margin-top:30px}.dt-week-overview summary{cursor:pointer;font-size:1.1rem}.dt-week-overview table{min-width:780px;width:100%;border-collapse:collapse;font-size:.78rem}.dt-week-overview td,.dt-week-overview th{border-bottom:1px solid var(--dt-line);padding:12px;text-align:left;vertical-align:top}.dt-week-overview caption{text-align:left;padding:16px 0}
.dt-shopping-summary{display:flex;justify-content:space-between;gap:16px;align-items:center}.dt-shop-progress{display:flex;align-items:center;gap:18px;padding:18px 0;font-size:.85rem}.dt-shop-progress progress{flex:1;max-width:340px;height:8px}.dt-shopping-groups{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:24px;margin-bottom:28px}.dt-shop-group{border:1px solid var(--dt-line);border-radius:18px;background:var(--dt-paper);overflow:hidden}.dt-shop-group h2{padding:20px;margin:0;background:var(--dt-soft);font-size:1.3rem}.dt-shop-food{padding:16px 20px;border-bottom:1px solid var(--dt-line)}.dt-shop-food:last-child{border:0}.dt-shop-food-title{display:flex;align-items:center;justify-content:space-between;gap:14px}.dt-shop-food-title h3{font-size:1.05rem;margin:0}.dt-shop-food-title .btn{font-size:.69rem;min-height:32px;padding:6px}.dt-shop-line{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:8px 0}.dt-shop-line label{display:flex;align-items:center;gap:10px;min-height:44px;font-size:.78rem;flex:1}.dt-shop-line>strong{font-size:1rem;text-align:right}.dt-shop-line label:has(input:checked){text-decoration:line-through;color:var(--dt-muted)}.dt-shop-sources{font-size:.72rem;color:var(--dt-muted)}.dt-shop-sources summary{min-height:28px;cursor:pointer}.dt-shop-sources ul{list-style:none;padding:0}.dt-shop-sources li{padding:8px 0;display:flex;align-items:center;justify-content:space-between;gap:12px}.dt-shop-sources .btn{font-size:.69rem;min-height:32px}.dt-footer-tools{display:flex;gap:10px;flex-wrap:wrap;padding:24px 0}.dt-footer-tools a{align-self:center;font-size:.8rem}
.dt-dialog,.dt-cook{--dt-paper:#fffdf8;--dt-soft:#f0f2e8;--dt-ink:#203c2f;--dt-muted:#586657;--dt-line:#d9dfd1;color:var(--dt-ink);max-width:100%;padding:4px}.dt-dialog .dt-filter-grid{grid-template-columns:1fr 1fr}.dt-dialog label{font-size:.86rem;display:block;margin:12px 0}.dt-dialog input,.dt-dialog select{margin-top:6px}.dt-allergen-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px}.dt-dialog .dt-check{margin:4px 0}.dt-dialog h2{font-size:2rem;line-height:1.15}.dt-dialog p{font-size:.88rem;line-height:1.6}.dt-cook-step{font-family:Georgia,serif;font-size:clamp(1.7rem,3.5vw,2.4rem);line-height:1.45;letter-spacing:-.02em;min-height:160px}.dt-cook h2{font-size:1.6rem}.dt-cook .dt-day-progress{margin-top:16px}.dt-timer{background:var(--dt-soft);padding:16px;border-radius:14px;margin:18px 0}.dt-timer>strong{font-variant-numeric:tabular-nums;font-size:1.5rem}.dt-timer .dt-inline-form{margin:8px 0}.dt-timer label{font-size:.82rem}.dt-timer p{font-size:.77rem}.dt-cook-navigation{display:flex;justify-content:space-between;gap:10px;padding:14px 0;position:sticky;bottom:-24px;background:var(--dt-paper);border-top:1px solid var(--dt-line)}.dt-cook-navigation .btn{flex:1}
.dt-photo-fold{margin-block:24px 44px;border:1px solid var(--line,#d9dfd1);border-radius:18px;overflow:hidden;padding:0}.dt-photo-fold>summary{display:flex;justify-content:space-between;align-items:center;gap:14px;cursor:pointer;min-height:72px;padding:20px 24px;font-weight:600}.dt-photo-fold>summary small{font-size:.8rem;font-weight:400}.dt-photo-fold .photo-lab{margin:0}.dt-photo-fold .photo-lab>header{display:none}.dt-stock-grid{display:grid;gap:8px}.dt-stock-chip{display:block;width:100%;text-align:left;padding:10px 12px;border:1px solid #d9dfd1;border-radius:10px;background:var(--card,#fffdf8);color:inherit}.dt-stock-chip strong,.dt-stock-chip small{display:block}.dt-stock-chip small{font-size:.73rem;margin-top:4px}.dt-priority{outline:2px solid #91a267}.dt-quick-scroll{max-height:220px;overflow:auto}.dt-inline-profile{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.dt-static-photo-label{display:block;position:relative;font:11px/1.4 system-ui;background:#21392a;color:#fff;padding:6px 10px}.dt-recipe-facts{margin:28px 0}.dt-recipe-facts p{max-width:85ch}
[data-theme=dark] .dt-shell .dt-warning{color:#ffd5bc;background:#482e20;border-color:#8d654c}[data-theme=dark] .dt-shell .dt-badge.priority,[data-theme=dark] .dt-stock-chip.priority{background:#344b2a;color:#e2f2cb;border-color:#6c844c}[data-theme=dark] .dt-panel{background:#17261e;color:#edf3e6;border-color:#415744}[data-theme=dark] .dt-shell .btn.text{color:#ccd8c4}[data-theme=dark] .dt-shell .dt-chip{background:#17261e;color:#edf3e6}
@media(min-width:1100px){.dt-library-tools{position:sticky;top:82px;z-index:8;box-shadow:0 6px 20px #182b1310}}
@media(max-width:1050px){.dt-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dt-day-columns{grid-template-columns:minmax(0,1fr) 265px;gap:18px}.dt-meal-list .dt-card{grid-template-columns:1fr}.dt-meal-list .dt-photo{aspect-ratio:16/9;min-height:0}.dt-preferences{align-items:flex-start}.dt-filter-grid{grid-template-columns:1fr 1fr}.dt-hero .dt-card-body{padding:24px}.dt-hero .dt-photo{min-height:320px}.dt-planner-controls{grid-template-columns:1fr 1.5fr}}
@media(max-width:700px){.dt-shell{padding:18px 16px 60px}.dt-preferences{display:block}.dt-profile{margin-bottom:14px;max-width:100%}.dt-chips{gap:6px}.dt-chip{font-size:.75rem;min-height:40px;padding:8px 11px}.dt-heading{display:block;padding:24px 0}.dt-heading h1{font-size:2.5rem}.dt-heading p{font-size:.9rem}.dt-date-nav{justify-content:flex-start;margin-top:20px;min-width:0}.dt-day-progress{flex-wrap:wrap;gap:8px 12px;padding:12px}.dt-day-progress small{margin:0;flex-basis:100%}.dt-day-progress progress{margin-left:auto}.dt-hero{grid-template-columns:1fr;border-radius:18px}.dt-hero .dt-photo{aspect-ratio:16/10;min-height:0}.dt-hero .dt-card-body{padding:20px}.dt-hero h2{font-size:2rem}.dt-day-columns{grid-template-columns:1fr}.dt-daily-side{grid-template-columns:1fr}.dt-meal-list .dt-card{grid-template-columns:1fr}.dt-meal-list .dt-photo{aspect-ratio:16/9}.dt-grid,.dt-plan-grid,.dt-shopping-groups{grid-template-columns:1fr;gap:18px}.dt-card{border-radius:18px}.dt-card-body{padding:20px}.dt-card h3{font-size:1.45rem}.dt-section-head{align-items:flex-start}.dt-section-head h2{font-size:1.65rem}.dt-section-head>a{max-width:100px;text-align:right}.dt-backup{flex-wrap:wrap;padding:16px}.dt-backup span{flex-basis:100%}.dt-trust{text-align:left}.dt-planner-controls{grid-template-columns:1fr;padding:18px;gap:12px}.dt-shopping-summary{display:block}.dt-shop-progress{flex-wrap:wrap;gap:8px 16px}.dt-shop-progress .dt-check{flex-basis:100%}.dt-shop-progress progress{max-width:160px}.dt-shopping-groups{gap:18px}.dt-shop-food{padding:14px 16px}.dt-shop-line{gap:10px}.dt-shop-line>strong{font-size:.88rem}.dt-shop-food-title h3{font-size:1rem}.dt-filter-grid{gap:12px}.dt-library-tools{padding:14px}.dt-filter-grid .dt-search{grid-column:1/-1}.dt-filter-footer{gap:8px}.dt-filter-footer .dt-check{flex-wrap:wrap}.dt-filter-footer .dt-check small{flex-basis:100%}.dt-allergen-grid{grid-template-columns:1fr}.dt-dialog .dt-filter-grid{grid-template-columns:1fr 1fr}.dt-photo-fold>summary{display:block;padding:18px}.dt-photo-fold>summary small{display:block;margin-top:5px}.dt-photo-fold .photo-lab{padding:18px}.dt-footer-tools{padding-inline:16px}.dt-needed li{gap:8px}.dt-needed li strong{max-width:115px;text-align:right}}
@media(prefers-reduced-motion:reduce){.dt-shell *,.dt-cook *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.dt-preferences,.dt-library-tools,.dt-heading .dt-actions,.dt-card .dt-actions,.dt-meal-options,.dt-feedback,.dt-backup,.dt-footer-tools,.dt-shop-food-title .btn,.dt-shop-sources .btn,.dt-shop-progress label,.dt-tabs,.dt-planner-controls{display:none!important}.dt-shell{max-width:none;color:#000;padding:0}.dt-shopping-groups{display:block}.dt-shop-group,.dt-card{break-inside:avoid;margin:12px 0;border:1px solid #aaa;box-shadow:none}.dt-card .dt-photo{display:none}.dt-shop-food{padding:8px}.dt-week-overview{display:block}.dt-week-overview>div{display:block!important}.dt-shop-line label{min-height:28px}}

.dt-own-ingredient{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:10px;align-items:end;margin:14px 0;padding:14px;border:1px solid var(--border);border-radius:16px}.dt-own-ingredient label{min-width:0}.dt-own-ingredient select{max-width:100%}.dt-own-ingredient .btn{min-width:0}@media(max-width:650px){.dt-own-ingredient{grid-template-columns:1fr 1fr}.dt-own-ingredient label:first-child{grid-column:1/-1}}

.dt-variety-note{padding:14px 18px;border-left:3px solid var(--accent);background:var(--surface);border-radius:12px;font-size:.92rem}.dt-week-overview td[draggable]{cursor:grab}.dt-week-overview td[draggable]:active{cursor:grabbing}

.recipe-media picture{display:block;width:100%;height:100%}.recipe-media picture img{display:block;width:100%;height:100%;object-fit:cover}.dt-static-photo-label,.media-label{white-space:normal;line-height:1.35}.dt-collection-links{display:flex;gap:12px;flex-wrap:wrap;padding:18px 0}.dt-collection-links a{padding:10px 14px;border:1px solid var(--border);border-radius:24px}
.dt-menu-recipes{display:grid;grid-template-columns:1fr 1fr;gap:20px;list-style:none;padding:0}.dt-menu-recipes li{display:grid;gap:6px}.dt-menu-recipes small{color:var(--muted)}@media(max-width:650px){.dt-menu-recipes{grid-template-columns:1fr}}

/* All kitchen tabs remain discoverable on small screens; list actions have touch space. */
.dt-shopping-summary{gap:12px}.dt-shopping-summary .text-button{display:inline-flex;margin:4px 0 4px 12px;min-height:44px;align-items:center}
.dt-shop-food-title .btn,.dt-shop-sources .btn,.dt-meal-options .btn,.dt-feedback summary,.dt-shop-sources summary{min-height:44px}
@media(max-width:700px){.dt-library-tools .dt-tabs{flex-wrap:wrap;overflow:visible}.dt-library-tools .dt-tabs .btn{flex:1 1 auto;white-space:normal}.dt-shell .dt-heading{padding-block:18px}.dt-shell .dt-heading h1{font-size:2.2rem}.dt-shopping-summary .text-button{display:flex;margin-left:0}.dt-shell .dt-preferences{padding-bottom:14px}}

/* Pantry clarity and quick-return improvements; existing photographic design remains intact. */
.pantry-allergen-choices{border:1px solid var(--border, #d0d5c8);padding:.8rem;border-radius:1rem;min-width:0}
.pantry-allergen-choices legend{font-weight:700;padding:0 .35rem}
.pantry-allergen-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:.25rem .75rem}
.pantry-allergen-grid label{display:flex;align-items:center;gap:.5rem;min-height:44px;cursor:pointer;font-size:.87rem}
.pantry-allergen-grid input{width:18px;height:18px;accent-color:var(--olive,#2b4332)}
.recipe-mode-tabs button{white-space:normal;min-height:44px}
.match-why-line,.match-method{font-size:.88rem;line-height:1.48;margin:.45rem 0;}
.match-why-line{border-left:3px solid #668c65;padding-left:.7rem}
.match-method{color:var(--text,inherit)}
.stock-shortage,.match-ingredients small{display:block;margin-top:.25rem;line-height:1.5}
.pantry-return-shortcuts{padding-block:1rem 1.35rem;margin-block:.5rem;background:var(--surface,transparent);border-radius:1rem}
.pantry-return-shortcuts[hidden]{display:none}
.pantry-return-shortcuts .return-recipe-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.pantry-top-actions{display:grid;gap:.4rem;justify-items:end}
.pantry-backup-note{font-size:.8rem;text-align:right;text-decoration:underline}
.pantry-chip button{min-width:40px;min-height:40px}
@media(max-width:680px){.pantry-return-shortcuts .return-recipe-grid{grid-template-columns:1fr}.pantry-top-actions{justify-items:start}}
@media(prefers-reduced-motion:reduce){.pantry-return-shortcuts *{scroll-behavior:auto}}
