:root{--bg: #fafaf7;--surface: #fff;--text: #26382e;--muted: #59685e;--line: #dce2d8;--accent: #a94b2e;--accent-soft: #fff0e9;--green: #314f3b;--soft: #f0f4ed;--shadow: 0 4px 18px #27362708;--border: var(--line);--success: #355b40;--warning: #855318;--warning-soft: #fff3df;--danger: #a4312a;--danger-soft: #fff0ea;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--text-caption: .75rem;--text-small: .875rem;--text-body: 1rem;--text-section: 1.375rem;--text-page: clamp(2rem, 3.4vw, 2.75rem);--sidebar-width: 224px;color-scheme:light}*{box-sizing:border-box}html{font-size:16px}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.55}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit}button:disabled{opacity:.45;cursor:not-allowed}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}button{border:0;background:none}a{color:inherit}h1,h2,h3,p{margin:0}h1{font-family:Georgia,Times New Roman,serif;font-size:var(--text-page);line-height:1.2;font-weight:500;letter-spacing:-1.5px}h2{font-size:var(--text-section);line-height:1.35;letter-spacing:-.6px}h3{font-size:18px}p{color:var(--muted)}.app-shell{min-height:100vh}.sidebar{position:fixed;width:var(--sidebar-width);height:100dvh;padding:36px 20px 20px;background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:20}.brand{font-family:Georgia,serif;font-size:35px;font-weight:700;letter-spacing:-1.8px;line-height:1.2;text-align:left;padding:0 10px}.brand span{font-family:Arial;font-size:var(--text-small);color:var(--accent);margin-left:3px}.brand-caption{font-size:var(--text-caption);letter-spacing:1.5px;color:var(--muted);margin:12px 10px 35px}.nav-item{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:13px 15px;margin:3px 0;border-radius:9px;font-size:var(--text-small);color:var(--muted);font-weight:500}.nav-item:hover{background:var(--bg)}.nav-item.active{background:var(--soft);color:var(--green);font-weight:700}.nav-count{margin-left:auto;font-size:var(--text-caption);background:#fff9;padding:0 6px;border-radius:4px}.sidebar-bottom{margin-top:auto}.private-note{display:flex;gap:10px;padding:16px 10px 20px;color:var(--green)}.private-note strong{font-size:var(--text-caption);display:block}.private-note span{font-size:var(--text-caption);color:var(--muted)}.profile{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);margin-top:16px;padding-top:22px}.avatar{border-radius:50%;background:var(--accent-soft);color:var(--accent);width:38px;height:38px;display:grid;place-items:center}.profile strong{font-size:var(--text-caption);display:block}.profile span{font-size:var(--text-caption);color:var(--muted)}.main-shell{margin-left:var(--sidebar-width)}.topbar{height:72px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 42px;gap:20px}.breadcrumb{font-size:var(--text-caption);color:var(--muted)}.breadcrumb span{padding:0 12px;color:var(--muted)}.breadcrumb strong{font-weight:500;color:var(--text)}.top-actions{display:flex;gap:20px;align-items:center}.global-search{display:flex;align-items:center;gap:9px;color:var(--muted)}.global-search input{width:225px;font-size:var(--text-caption);border:0;background:none;color:var(--text)}.button{background:var(--green);color:#fff;padding:12px 20px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:600;font-size:var(--text-small);min-height:44px;text-decoration:none;transition:filter .15s,transform .15s}.button:hover{filter:brightness(1.12);transform:translateY(-1px)}.button.small{padding:10px 15px;font-size:var(--text-caption);min-height:39px}.button.secondary{background:var(--surface);border:1px solid var(--line);color:var(--text)}.button.danger{background:#a63d36}.button.orange{background:var(--accent)}main{max-width:1480px;margin:auto;padding:38px 42px}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:27px;gap:15px}.overline{font-size:var(--text-caption);font-weight:700;letter-spacing:1.6px;color:var(--accent);margin-bottom:11px}.page-heading p:not(.overline){font-size:var(--text-small);margin-top:12px}.date-label{font-size:var(--text-caption);color:var(--muted);white-space:nowrap;margin-bottom:4px}.inspiration-banner{display:grid;grid-template-columns:1.04fr 1fr;min-height:326px;border-radius:16px;overflow:hidden;background:#eff2e9}.banner-copy{padding:32px 36px;position:relative;z-index:1}.pill{font-size:var(--text-caption);font-weight:700;letter-spacing:1px;display:inline-flex;align-items:center;gap:7px;color:var(--muted)}.banner-copy h2{font-family:Georgia,serif;font-size:37px;font-weight:500;line-height:1.15;letter-spacing:-1px;margin:14px 0}.banner-copy p{font-size:13px;line-height:1.7;color:var(--muted)}.banner-copy .button{margin-top:22px;min-width:172px}.banner-footnote{display:block;font-size:var(--text-caption);color:var(--muted);margin-top:11px}.banner-image{position:relative;min-width:0}.banner-image img{width:100%;height:100%;object-fit:cover;position:absolute}.image-caption{position:absolute;bottom:22px;left:22px;background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:11px 16px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow)}.image-caption span{display:block;font-size:var(--text-caption);text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.image-caption strong{font-size:var(--text-caption);color:var(--text)}.quick-filters{display:flex;gap:8px;flex-wrap:wrap;margin:23px 0 33px}.quick-filters button,.chip{border:1px solid var(--line);background:var(--surface);border-radius:7px;padding:8px 12px;font-size:var(--text-caption);display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.quick-filters button:hover,.chip.active{background:var(--green);color:#fff}.section{margin:32px 0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.section-heading p{font-size:var(--text-caption);margin-top:5px}.text-button{display:inline-flex;align-items:center;gap:8px;font-size:var(--text-caption);font-weight:600;color:var(--green);padding:6px 0;text-decoration:none}.recipe-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.recipe-card{border-radius:var(--radius-md);overflow:hidden;background:var(--surface);border:1px solid var(--line);transition:box-shadow .2s,transform .2s}.recipe-card:hover{box-shadow:0 10px 30px #2736270c;transform:translateY(-1px)}.card-photo{position:relative;aspect-ratio:4 / 3}.photo-link{width:100%;height:100%;display:block;padding:0;overflow:hidden}.card-photo img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.recipe-card:hover img{transform:scale(1.035)}.favorite{position:absolute;right:10px;top:10px;border-radius:50%;background:#fffffff0;width:31px;height:31px;display:grid;place-items:center;color:#82907e}.favorite.selected{color:var(--accent)}.photo-badge{position:absolute;left:10px;bottom:10px;font-size:var(--text-caption);font-weight:600;padding:3px 8px;border-radius:4px;background:#fffffff0;color:#4c6245}.card-body{padding:14px}.eyebrow{text-transform:uppercase;letter-spacing:1.1px;font-size:var(--text-caption);color:var(--muted);display:flex;justify-content:space-between}.stars{display:flex;align-items:center;gap:3px;color:var(--warning)}.card-title{text-align:left;padding:7px 0 12px;font-weight:600;font-size:15px;line-height:1.35;min-height:55px;display:block}.card-meta{display:flex;align-items:center;flex-wrap:wrap;gap:9px;font-size:var(--text-caption);color:var(--muted);border-top:1px solid var(--line);padding-top:11px}.card-meta span{display:flex;align-items:center;gap:4px}.home-bottom{display:grid;grid-template-columns:1.15fr 1fr;gap:20px;margin:33px 0}.week-teaser,.pantry-teaser{padding:25px 28px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface)}.week-teaser .section-heading{margin-bottom:12px}.week-teaser .overline{font-size:var(--text-caption)}.week-teaser h2,.pantry-teaser h2{font-size:20px}.week-teaser p,.pantry-teaser p{font-size:var(--text-caption);margin:10px 0 14px;line-height:1.8}.pantry-teaser{background:#f1f2e9;position:relative;padding-right:70px}.teaser-icon{position:absolute;right:24px;top:28px;color:#7b876a}.planned-list button{display:flex;align-items:center;text-align:left;gap:10px;font-size:var(--text-caption);padding:8px 0;width:100%}.planned-list button span{color:var(--muted);width:24px}.planned-list button svg{margin-left:auto}.footer{display:flex;justify-content:space-between;padding-top:30px;margin-top:45px;border-top:1px solid var(--line);font-size:var(--text-caption);color:var(--muted)}.footer>span:first-child{font-family:Georgia;font-size:18px;color:var(--text)}.orange-dot{color:var(--accent);font-size:var(--text-caption)}.bottom-nav,.more-menu{display:none}.overlay{position:fixed;inset:0;background:#17261fcc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;animation:fade .15s}.modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(620px,calc(100% - 32px));max-height:92dvh;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:26px;z-index:51;box-shadow:0 30px 100px #0003}.modal.wide{width:min(1040px,calc(100% - 32px))}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:24px}.modal-head h2{font-size:22px;margin:0}.modal-head-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.icon-button{display:inline-grid;place-items:center;min-width:36px;min-height:36px;border-radius:var(--radius-sm)}.icon-button:hover{background:var(--soft)}.recipe-detail>.modal-head .modal-close{width:44px;height:44px;min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:50%;background:var(--bg);color:var(--text);box-shadow:0 5px 16px #00000014}.recipe-detail>.modal-head .modal-close:hover{border-color:color-mix(in srgb,var(--green) 45%,var(--line));background:var(--soft)}.recipe-detail>.modal-head .modal-close svg{width:20px;height:20px;stroke-width:2.25}.portions{display:flex;align-items:center;gap:10px;background:var(--soft);border-radius:9px;padding:3px;width:fit-content;font-size:var(--text-small)}.portions span{min-width:90px;text-align:center}.toast{position:fixed;bottom:max(20px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);width:max-content;max-width:min(500px,calc(100vw - 32px));padding:9px 9px 9px 12px;border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--surface) 94%,transparent);color:var(--text);box-shadow:0 12px 32px #1b2b2124;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);z-index:110;display:flex;align-items:center;gap:9px;font-size:13px;line-height:1.4;animation:notification-in .18s ease-out}.toast-icon{display:grid;place-items:center;flex:0 0 auto;width:27px;height:27px;border-radius:50%;background:var(--soft);color:var(--green)}.toast-message{min-width:0;overflow-wrap:anywhere}.toast-warning .toast-icon{background:var(--warning-soft);color:var(--warning)}.toast-error .toast-icon{background:var(--danger-soft);color:var(--danger)}.notification-close{display:grid;place-items:center;flex:0 0 auto;width:30px;height:30px;padding:0;border-radius:8px;color:var(--muted)}.notification-close:hover{background:var(--soft);color:var(--text)}@keyframes notification-in{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}.empty{text-align:center;padding:60px 20px;color:var(--muted)}.empty svg{color:var(--accent);margin-bottom:12px}.empty h3{color:var(--text);margin-bottom:8px}.empty p{margin-bottom:18px}.field{display:flex;flex-direction:column;gap:7px;font-size:var(--text-small);margin-bottom:16px}.field>span{font-weight:600;font-size:13px}input:not([type=checkbox]):not([type=radio]),select,textarea{border:1px solid var(--line);border-radius:var(--radius-sm);padding:11px 12px;background:var(--surface);color:var(--text);min-width:0;width:100%;outline-color:var(--green)}input[type=checkbox]{accent-color:var(--green);width:18px;height:18px;flex-shrink:0}.global-search input{border:0!important;padding:6px!important;background:none!important}textarea{resize:vertical;min-height:85px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:22px}.loading{min-height:100vh;display:grid;align-content:center;justify-content:center;gap:20px}.tag-list{display:flex;gap:7px;flex-wrap:wrap}.muted{color:var(--muted);font-size:13px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:24px;margin-bottom:20px}.panel h2{margin-bottom:18px}.check-label{display:flex;gap:10px;align-items:center;font-size:var(--text-small);cursor:pointer}.toolbar{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.toolbar>input{flex:1;min-width:160px!important}.toolbar>select{width:auto}.stack{display:grid;gap:12px}.divider{height:1px;background:var(--line);margin:24px 0}@keyframes fade{0%{opacity:0}to{opacity:1}}[data-theme=dark]{--bg: #19211c;--surface: #222d25;--text: #ebf1e7;--muted: #a1b09f;--line: #364337;--accent: #ee936d;--accent-soft: #493b2e;--green: #48684e;--soft: #2d3e30;--success: #afcfb6;--warning: #efc589;--warning-soft: #423725;--danger: #ffb5ab;--danger-soft: #462c2a;color-scheme:dark}[data-theme=dark] .inspiration-banner,[data-theme=dark] .pantry-teaser{background:#2b3b2b}[data-theme=dark] .banner-copy p,[data-theme=dark] .banner-footnote,[data-theme=dark] .pill{color:#bac9ae}[data-theme=dark] .text-button{color:#a5cda9}@media(min-width:1500px){.recipe-grid{gap:24px}.card-photo{aspect-ratio:4 / 3}.card-title{font-size:17px}.card-meta{font-size:var(--text-caption)}.banner-copy{padding:38px 44px}.inspiration-banner{min-height:370px}.banner-copy h2{font-size:44px}}@media(max-width:1150px){.sidebar{width:205px;padding:30px 14px}.main-shell{margin-left:205px}main{padding:30px 28px}.topbar{padding:0 28px}.recipe-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.global-search{display:none}.banner-copy{padding:26px}.banner-copy h2{font-size:32px}.date-label{display:none}.brand-caption{font-size:var(--text-caption)}.card-meta{gap:7px}}@media(max-width:800px){.sidebar{display:none}.main-shell{margin-left:0}.topbar{height:65px;padding:0 22px}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--surface);border-top:1px solid var(--line);padding:8px 8px calc(8px + env(safe-area-inset-bottom));z-index:30;justify-content:space-around}.bottom-nav button{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:var(--text-caption);color:var(--muted);min-width:52px;padding:4px}.bottom-nav button.active{color:var(--accent);background:var(--accent-soft);border-radius:var(--radius-md);font-weight:700}main{padding:28px 22px 95px}.home-bottom{gap:14px}.week-teaser,.pantry-teaser{padding:22px}.pantry-teaser{padding-right:50px}.teaser-icon{right:14px}.toast{bottom:90px}.inspiration-banner{min-height:300px}.recipe-grid{gap:14px}}@media(max-width:580px){html{font-size:16px}.topbar{padding:0 18px}.topbar .breadcrumb{font-size:var(--text-caption)}.top-actions .button{font-size:var(--text-caption);padding:9px 10px}.top-actions{gap:0}main{padding:24px 18px 90px}h1{font-size:33px;letter-spacing:-1px}.overline{font-size:var(--text-caption)}.page-heading p:not(.overline){font-size:13px}.inspiration-banner{grid-template-columns:1fr;position:relative;min-height:0}.banner-copy{padding:25px;max-width:none;z-index:2;background:var(--soft)}.banner-copy h2{font-size:31px}.banner-copy p{font-size:var(--text-caption)}.banner-image{position:relative;height:148px;grid-row:1}.banner-image img{object-position:50%}.image-caption{display:none}.banner-footnote{font-size:var(--text-caption)}.banner-copy .button{min-width:0;font-size:var(--text-caption);padding:12px 14px}.quick-filters{flex-wrap:nowrap;overflow:auto;margin:17px -18px 26px;padding:0 18px;scrollbar-width:none}.quick-filters button{font-size:var(--text-caption)}.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card-body{padding:11px}.card-title{font-size:var(--text-small);min-height:57px}.card-meta{font-size:var(--text-caption);gap:6px}.card-photo{aspect-ratio:4 / 3}.photo-badge{font-size:var(--text-caption);left:8px;bottom:8px}.favorite{right:8px;top:8px;width:29px;height:29px}.section-heading h2{font-size:21px}.section-heading p,.text-button{font-size:var(--text-caption)}.home-bottom{grid-template-columns:1fr}.footer{gap:15px}.footer>span:last-child{font-size:var(--text-caption);max-width:140px;text-align:right}.modal{padding:20px;width:calc(100% - 20px);max-height:94dvh}.modal.wide{width:calc(100% - 20px)}.form-grid{grid-template-columns:1fr}.section-heading{gap:9px}.panel{padding:18px}[data-theme=dark] .banner-copy{background:var(--soft)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.results-bar{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--muted);margin:22px 0 16px}.detail-hero{height:300px;position:relative;border-radius:var(--radius-md);overflow:hidden}.detail-hero>img{width:100%;height:100%;object-fit:cover}.detail-photo-note{position:absolute;bottom:10px;right:10px;background:var(--surface);color:var(--muted);font-size:var(--text-caption);padding:4px 8px;border-radius:5px}.detail-hero.recipe-example{height:auto}.detail-hero.recipe-example>img{display:block;height:auto;object-fit:contain}.recipe-example .detail-photo-note{position:static;display:block;padding:8px 10px}.detail-intro{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin:22px 0}.detail-intro p{margin:15px 0;font-size:var(--text-small);max-width:670px}.detail-intro .actions{margin:0;flex-wrap:nowrap}.rating-button{display:flex;align-items:center;gap:4px;color:var(--warning);padding:0}.rating-button span{font-size:var(--text-caption);color:var(--muted);margin-left:8px}.recipe-facts{display:flex;flex-wrap:wrap;gap:24px;padding:20px 0;border-top:1px solid var(--line)}.recipe-facts div{display:flex;flex-direction:column;font-size:var(--text-small);gap:4px}.recipe-facts span{font-size:var(--text-caption);color:var(--muted)}.nutrition{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;background:var(--soft);border-radius:10px;padding:20px;margin:5px 0 30px}.nutrition div{display:flex;flex-direction:column;gap:4px}.nutrition strong{font-size:21px}.nutrition div:first-child strong{font-size:var(--text-small)}.nutrition span{font-size:var(--text-caption);color:var(--muted)}.detail-columns{display:grid;grid-template-columns:1fr 1.2fr;gap:36px}.detail-columns .section-heading{flex-wrap:wrap}.detail-columns h2{font-size:20px}.ingredient-line{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);font-size:var(--text-small);align-items:center;cursor:pointer}.ingredient-line strong{font-weight:600}.ingredient-line small{display:block;color:var(--muted)}.ingredient-checks{margin-bottom:22px}.done label>span,.ingredient-line.done>span{text-decoration:line-through;color:var(--muted);opacity:.65}.full{width:100%;margin-top:18px}.collection-checks{margin-top:18px}.step{display:flex;gap:14px;margin-bottom:25px}.step-number{width:30px;height:30px;background:var(--soft);border-radius:50%;display:grid;place-items:center;flex-shrink:0;font-size:13px;font-weight:700}.step h3{font-size:16px;margin:3px 0 9px}.step p{font-size:var(--text-small);line-height:1.8}.step-image{max-width:100%;max-height:200px;object-fit:cover;border-radius:var(--radius-sm);display:block;margin:12px 0}.timer{display:inline-flex;margin-top:12px;gap:8px;align-items:center;background:var(--accent-soft);color:var(--accent);padding:7px;border-radius:7px}.timer button{display:flex;gap:6px;align-items:center;font-size:13px;min-height:30px}.timer.finished{background:var(--accent);color:#fff}.history-summary{margin-top:30px}.history-summary p{font-size:13px;margin-top:6px}.personal-note{font-style:italic}.rate-stars{display:flex;gap:8px;color:var(--warning);margin:24px 0}.rate-stars button{padding:6px}progress{width:100%;height:7px;border:0;border-radius:var(--radius-sm);overflow:hidden;accent-color:var(--green)}progress::-webkit-progress-bar{background:var(--line)}progress::-webkit-progress-value{background:var(--green)}.editor-columns{display:grid;grid-template-columns:1.2fr 1fr;gap:30px}.upload-preview{height:190px;border:1px dashed var(--line);background:var(--soft);border-radius:10px;display:grid;place-items:center;margin-bottom:15px;overflow:hidden}.upload-preview img{width:100%;height:100%;object-fit:cover}.editor-rows{margin:20px 0}.ingredient-edit{display:grid;grid-template-columns:95px 90px 1fr 1fr 36px;gap:10px;align-items:center}.ingredient-edit .field{margin:0}.step-edit{padding:20px;border:1px solid var(--line);border-radius:10px;background:var(--bg)}.step-edit h3{display:flex;align-items:center;gap:8px}.form-error{color:var(--danger);background:var(--danger-soft);padding:15px;white-space:pre-wrap}.recommendations{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:20px}.wizard>div>p{margin-bottom:24px}.wizard>section{border-top:1px solid var(--line);margin-top:30px;padding-top:25px}.planner-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin:25px 0}.week-picker{display:flex;align-items:center;gap:12px;font-size:15px}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.day-card{background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:12px;min-width:0}.day-card>header{display:flex;flex-direction:column;align-items:center;gap:3px;margin:5px 0 18px}.day-card>header span{font-size:var(--text-caption);letter-spacing:1px;color:var(--muted)}.day-card>header strong{font-family:Georgia;font-size:25px;font-weight:500}.meal-label{display:block;text-transform:capitalize;color:var(--muted);font-size:var(--text-caption);margin-bottom:8px}.meal-slot{margin:14px 0}.add-meal{border:1px dashed var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border-radius:7px;width:100%;min-height:166px;color:var(--muted)}.add-meal span{font-size:var(--text-caption)}.planned-recipe{padding:0;text-align:left;display:block;width:100%}.planned-recipe img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:7px}.planned-recipe strong{display:block;font-size:var(--text-caption);margin:8px 0}.planned-recipe span{font-size:var(--text-caption);color:var(--muted)}.meal-slot select{font-size:var(--text-caption);padding:7px;margin-top:8px}.slot-actions{display:flex;justify-content:space-between;align-items:center}.slot-actions .text-button{font-size:var(--text-caption)}.planner-note{margin-top:18px}.recipe-picker{max-height:420px;overflow:auto}.week-recipe-picker-modal .recipe-picker{max-height:none;overflow:visible}.recipe-picker>button{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:12px 0;border-bottom:1px solid var(--line)}.recipe-picker img{width:65px;height:55px;object-fit:cover;border-radius:7px}.recipe-picker strong{font-size:var(--text-small);display:block}.recipe-picker span{font-size:var(--text-caption);color:var(--muted)}.recipe-picker svg{margin-left:auto}.shopping-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:flex-start}.shopping-grid .panel{margin:0}.shopping-grid h2{font-size:19px}.shopping-row{display:flex;align-items:center;border-top:1px solid var(--line);padding:13px 0;gap:6px}.shopping-row label{display:flex;align-items:center;gap:12px;flex:1;cursor:pointer;font-size:15px}.shopping-row small{display:block;color:var(--muted);font-size:var(--text-caption)}.shopping-row .icon-button{min-width:30px}.shopping-progress{margin:5px 0 28px}.pantry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.pantry-item{display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:var(--surface);padding:16px;border-radius:10px}.pantry-item>div:nth-child(2){flex:1;min-width:0}.pantry-item strong{font-size:var(--text-small);display:block;overflow-wrap:anywhere}.pantry-item span{display:block;font-size:var(--text-caption);color:var(--muted)}.pantry-symbol{width:34px;height:34px;background:var(--soft);border-radius:var(--radius-sm);display:grid;place-items:center;font-family:Georgia;color:var(--green)}.pantry-item .icon-button{min-width:26px}.pantry-matches{margin-top:22px}.match-info{padding:12px 3px}.match-info strong{font-size:var(--text-caption);color:var(--green)}.match-info p{font-size:var(--text-caption);margin-top:5px}.settings-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:24px;align-items:flex-start}.settings-grid .panel h2{display:flex;align-items:center;gap:10px;font-size:20px}.settings-grid .panel p{font-size:var(--text-small)}.settings-grid .panel p.settings-note{font-size:var(--text-caption);margin-top:18px}.ingredient-preference-list{display:grid;gap:7px;max-height:360px;overflow:auto;padding-right:3px}.ingredient-preference-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(145px,auto);align-items:center;gap:10px;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:var(--bg);font-size:13px}.ingredient-preference-row select{padding:8px}.personalisation-panel{margin-top:24px;border-color:color-mix(in srgb,var(--accent) 30%,var(--line))}.personalisation-list{display:grid;gap:10px}.personalisation-list article{padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}.personalisation-list article>p{margin:5px 0 0;color:var(--muted);font-size:13px}.personalisation-list .actions{margin-top:10px}.cooking-personal-note{padding:10px 12px;border-left:3px solid var(--accent);border-radius:4px;background:color-mix(in srgb,var(--accent) 8%,transparent)}.upload-label{position:relative;overflow:hidden;cursor:pointer}.upload-label input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}.status-list{margin:0}.status-list>div{display:flex;justify-content:space-between;font-size:13px;border-top:1px solid var(--line);padding:11px 0}.status-list dt{color:var(--muted)}.status-list dd{margin:0}.status-dot{display:inline-block;width:7px;height:7px;background:#75926a;border-radius:50%}.history-row{display:flex;align-items:center;gap:20px}.history-row>button:first-child{padding:0}.history-row img{width:110px;height:100px;object-fit:cover;border-radius:9px}.history-row>div{flex:1}.history-row .card-title{min-height:0;padding:6px 0;font-size:18px}.history-row p{font-size:13px;margin-top:10px}.history-row .stars{font-size:var(--text-caption);flex-wrap:wrap}@media(max-width:1150px){.week-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.filter-grid,.pantry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ingredient-edit{grid-template-columns:80px 75px 1fr 1fr 30px}}@media(max-width:800px){.detail-columns{gap:22px}.settings-grid{grid-template-columns:1fr}.editor-columns{gap:20px}.week-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:580px){.page-heading{flex-wrap:wrap;align-items:flex-start}.page-heading>.button{margin-top:10px}.detail-hero{height:180px}.detail-intro{flex-direction:column}.detail-intro .actions{margin-top:-10px}.detail-columns{grid-template-columns:1fr}.recipe-facts{gap:20px}.nutrition{gap:17px}.nutrition>div:first-child{width:100%}.nutrition strong{font-size:20px}.recipe-facts div{font-size:13px}.editor-columns{grid-template-columns:1fr}.ingredient-edit{grid-template-columns:1fr 1fr 36px;border:1px solid var(--line);border-radius:10px;padding:12px}.ingredient-edit .field:nth-child(3){grid-column:1/3;grid-row:1}.ingredient-edit .field:nth-child(4){grid-column:1/3}.ingredient-edit .icon-button{grid-column:3;grid-row:1}.step-edit{padding:14px}.recommendations{grid-template-columns:1fr}.recommendations .card-photo{aspect-ratio:1.8}.week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.week-picker{gap:3px;font-size:13px}.shopping-grid,.pantry-grid{grid-template-columns:1fr}.pantry-symbol{display:none}.history-row{gap:12px;padding:14px}.history-row img{width:68px;height:75px}.history-row .card-title{font-size:15px}.history-row .muted,.history-row .stars{font-size:var(--text-caption)}.toolbar>select{flex:1}.detail-columns .section-heading{gap:10px}}@media(max-width:800px){.icon-button{min-width:44px;min-height:44px}.favorite{width:40px;height:40px}.pantry-item .icon-button{min-width:44px}.bottom-nav button{min-height:48px}.banner-copy{max-width:none}.banner-copy .pill,.banner-footnote{font-size:10px}.banner-copy .button{position:relative}.card-meta{font-size:var(--text-caption)}}.field>label{font-weight:600;font-size:13px}.app-shell,.main-shell,.panel,.modal,.recipe-card,.card-body{min-width:0}.modal-head{position:sticky;top:-26px;background:var(--surface);z-index:3;padding:10px 0;align-items:flex-start}.modal-head h2{overflow-wrap:anywhere}.modal-head .icon-button{flex-shrink:0}.recipe-editor-header-save{min-width:104px;min-height:40px}.shopping-row label,.shopping-row label span{min-width:0;overflow-wrap:anywhere}.recipe-card .card-title{overflow-wrap:anywhere}.conflict-banner{position:fixed;bottom:max(20px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;width:min(620px,calc(100vw - 32px));padding:10px 10px 10px 13px;border:1px solid color-mix(in srgb,var(--warning) 32%,var(--line));border-radius:13px;background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:0 12px 32px #1b2b2124;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);z-index:111;color:var(--warning);font-size:13px;animation:notification-in .18s ease-out}.conflict-banner>span{display:grid;min-width:0;color:var(--text);line-height:1.35}.conflict-banner small{color:var(--muted);font-size:11px}.conflict-banner .text-button{min-height:36px;padding-inline:8px;white-space:nowrap}@media(max-width:580px){.conflict-banner{bottom:calc(82px + env(safe-area-inset-bottom));grid-template-columns:auto minmax(0,1fr) auto;gap:8px}.conflict-banner .text-button{grid-column:2;justify-self:start;min-height:30px;padding:0}.conflict-banner .notification-close{grid-column:3;grid-row:1 / span 2}.modal-head{top:-20px}.recipe-editor-header-save{min-width:44px;width:44px;padding:0}.recipe-editor-header-save span{display:none}.field>label{font-size:var(--text-small)}input,select,textarea{font-size:16px}.quick-filters button,.chip{min-height:40px}.bottom-nav button{font-size:11px}.day-card{padding:10px}.week-picker{flex-wrap:wrap}.week-picker strong{flex:1;min-width:0}.rating-button{flex-wrap:wrap}}.recipe-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#eee5d7;color:#796044}.recipe-placeholder.plant{background:#e2e8d8;color:#4d6443}.recipe-placeholder.fish{background:#dfe9e5;color:#496d68}.recipe-placeholder>span{font-family:Georgia,serif;font-size:22px;text-transform:capitalize}.planning-start{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:0 0 20px}.planning-start p{margin:0;color:var(--muted)}.week-summary{display:flex;flex-wrap:wrap;gap:12px 22px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:18px;margin:18px 0;font-size:var(--text-small)}.week-summary strong{color:var(--green)}.week-preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px;margin:20px 0}.week-preview-card{margin:0;min-width:0}.week-preview-card h4{font-size:18px;line-height:1.4;margin:14px 0 8px;overflow-wrap:anywhere}.week-preview-card li{font-size:13px;line-height:1.6;margin-bottom:6px}.preview-photo{height:130px;border-radius:10px;overflow:hidden}.preview-photo img{width:100%;height:100%;object-fit:cover}.week-wizard details{margin:12px 0}.advanced-options{margin:20px 0;border-top:1px solid var(--line);padding:16px 0}summary{cursor:pointer;min-height:40px;padding:10px 0;font-weight:600}.day-rules{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,175px),1fr));gap:14px;margin-top:14px}.day-rules>div{border:1px solid var(--line);padding:12px;border-radius:10px}.day-rules strong{display:block;margin-bottom:12px}.day-rules .field{margin-bottom:10px}.avoid-picker{margin:16px 0}.personal-profile{padding:0;border:0;box-shadow:none;margin-top:24px}.personal-profile h3{margin-top:24px}.personal-profile .check-label{padding:8px 0}.wizard-footer{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap;margin-top:24px;padding-top:16px;border-top:1px solid var(--line)}.recommendation-explanation{padding:16px 4px}.recommendation-explanation ul{padding-left:18px;line-height:1.7;font-size:13px}.recommendation-explanation p{font-size:13px;line-height:1.7;overflow-wrap:anywhere}.recommendation-explanation pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px}.match-label{display:inline-block;background:var(--surface);border:1px solid var(--line);padding:6px 12px;border-radius:var(--radius-lg);font-size:var(--text-caption)}.replacement-option{padding:14px 0;border-bottom:1px solid var(--line)}.notice{padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:10px}.planned-recipe>.recipe-placeholder{height:86px;border-radius:var(--radius-sm);margin-bottom:8px}.planned-recipe>.recipe-placeholder svg{width:24px;height:24px}.planned-recipe>.recipe-placeholder span{font-size:var(--text-small)}.picker-photo{width:52px;height:52px;flex-shrink:0;border-radius:var(--radius-sm);overflow:hidden}.picker-photo .recipe-placeholder span{display:none}.picker-photo .recipe-placeholder svg{width:24px;height:24px}.slot-actions{flex-wrap:wrap;gap:6px}.slot-actions .chip{font-size:11px;padding:6px}.pantry-item small{display:block;font-size:11px;color:var(--muted);margin-top:4px}.use-soon{margin-bottom:20px}@media(max-width:600px){.week-summary{gap:10px;font-size:var(--text-caption)}.week-preview-card{padding:16px}.planning-start>.button{width:100%}.recommendation-explanation{padding:12px 2px}}.photo-quick-start{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:24px;border:1px solid color-mix(in srgb,var(--green) 32%,var(--line));border-radius:22px;background:radial-gradient(circle at 100% 0%,#ffffffa8 0,transparent 38%),var(--soft);box-shadow:0 14px 36px #233a2b0d}.photo-quick-start:focus-within,.photo-quick-start:hover{border-color:color-mix(in srgb,var(--green) 62%,var(--line))}.photo-quick-icon{width:62px;height:62px;display:grid;place-items:center;border-radius:18px;background:var(--green);color:#fff;box-shadow:0 10px 24px #314f3b24}.photo-quick-copy{display:grid;gap:4px}.photo-quick-copy h3{font-family:Georgia,Times New Roman,serif;font-size:25px;font-weight:500;line-height:1.2}.photo-quick-copy p:not(.overline){max-width:52ch;font-size:14px}.photo-quick-button{min-height:50px;white-space:nowrap;cursor:pointer}.photo-quick-start>small{grid-column:2 / -1;margin-top:-9px;color:var(--muted);font-size:12px}.import-alternative-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:26px 2px 10px}.import-alternative-heading span{color:var(--muted);font-size:12px}.import-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:24px 0}.import-options-secondary{gap:10px;margin:0 0 18px}.import-option{text-align:left;display:flex;flex-direction:row;align-items:center;gap:12px;cursor:pointer;min-height:80px;color:inherit;position:relative}.import-option:hover{border-color:var(--green)}.import-option.recommended{border-color:color-mix(in srgb,var(--green) 45%,var(--line));background:var(--soft)}.import-option-icon{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:50%;color:var(--green);background:var(--surface)}.import-option>span:nth-child(2){display:grid;gap:4px}.import-option small{color:var(--muted);line-height:1.45}.import-option em{position:absolute;top:9px;right:10px;color:var(--green);font-size:10px;font-style:normal;font-weight:700;letter-spacing:.8px;text-transform:uppercase}.import-text{min-height:320px}.photo-import-preview{display:grid;place-items:center;width:min(100%,560px);min-height:220px;max-height:380px;margin:8px 0 20px;overflow:hidden;border:1px dashed var(--line);border-radius:18px;background:var(--bg)}.photo-import-grid{min-height:190px;margin:8px 0 20px;border:1px dashed var(--line);border-radius:18px;background:var(--bg);overflow:hidden}.photo-import-grid.has-photos{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;border:0;background:transparent}.photo-import-card{min-width:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--bg)}.photo-import-card .photo-import-preview{width:100%;min-height:160px;height:180px;margin:0;border:0;border-radius:0;position:relative}.photo-import-card .photo-import-preview img{height:100%;max-height:none;object-fit:contain}.photo-import-card .photo-import-preview>span{position:absolute;left:8px;bottom:8px;padding:4px 7px;border-radius:7px;background:var(--surface);font-size:11px}.photo-import-empty{min-height:190px;display:grid;place-items:center;align-content:center;gap:7px;padding:25px;text-align:center;color:var(--muted);cursor:pointer;transition:color .15s,background .15s}.photo-import-empty:hover,.photo-import-empty:focus-within{color:var(--green);background:var(--soft)}.photo-import-empty strong{color:var(--text)}.photo-edit-actions{display:flex;align-items:center;justify-content:center;padding:5px;border-top:1px solid var(--line)}.photo-edit-actions .icon-button.active{color:var(--surface);background:var(--green)}.photo-recognized-text{min-height:360px}.photo-ocr-progress{width:100%;height:8px;overflow:hidden;border:0;border-radius:999px;accent-color:var(--green)}.photo-picker-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:-4px}.photo-picker-actions label{cursor:pointer}.photo-import-hint{max-width:68ch;margin-top:14px}.photo-import-processing{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(280px,1.3fr);align-items:center;gap:30px;min-height:390px;padding:24px;border:1px solid var(--line);border-radius:22px;background:var(--bg)}.photo-processing-preview{position:relative;display:grid;place-items:center;min-height:300px;max-height:420px;overflow:hidden;border-radius:16px;background:var(--surface)}.photo-processing-preview img{width:100%;max-height:420px;object-fit:contain;opacity:.68}.photo-processing-preview>span{position:absolute;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:var(--green);color:#fff;box-shadow:0 12px 30px #1d3126aa;animation:import-pulse 1.8s ease-in-out infinite}.photo-processing-copy{display:grid;gap:10px}.photo-processing-copy h3{font-family:Georgia,Times New Roman,serif;font-size:clamp(27px,4vw,38px);font-weight:500;line-height:1.15}.photo-processing-copy>p:not(.overline){min-height:24px}.photo-progress-row{display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:center;gap:12px;margin-top:4px}.photo-progress-row strong{text-align:right;font-variant-numeric:tabular-nums;font-size:13px}.photo-processing-stages{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.photo-processing-stages span{padding-top:8px;border-top:3px solid var(--line);color:var(--muted);font-size:11px}.photo-processing-stages span.active,.photo-processing-stages span.done{border-color:var(--green);color:var(--text)}.photo-processing-stages span.done{opacity:.62}.photo-cancel{width:fit-content;margin-top:12px}@keyframes import-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.quick-import-success{display:flex;align-items:flex-start;gap:12px;margin-bottom:20px;padding:14px 16px;border-radius:14px;background:var(--soft);color:var(--green)}.quick-import-success svg{flex:0 0 auto;margin-top:2px}.quick-import-success>div{display:grid;gap:2px}.quick-import-success span{color:var(--muted);font-size:13px}.quick-import-layout{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(0,1.3fr);align-items:start;gap:24px}.quick-import-layout>img{display:block;width:100%;max-height:430px;object-fit:contain;border:1px solid var(--line);border-radius:16px;background:var(--bg)}.quick-import-layout .overline{margin:2px 0 4px}.quick-import-layout h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(28px,4vw,38px);font-weight:500;line-height:1.1;letter-spacing:-.8px}.quick-import-facts{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0 16px}.quick-import-facts span{display:inline-flex;align-items:center;gap:5px;min-height:30px;padding:5px 9px;border:1px solid var(--line);border-radius:999px;background:var(--bg);color:var(--muted);font-size:12px;white-space:nowrap}.quick-import-facts span.quality{border-color:color-mix(in srgb,var(--green) 32%,var(--line));background:var(--soft);color:var(--green)}.quick-import-facts span.review{border-color:color-mix(in srgb,var(--warning) 30%,var(--line));background:var(--warning-soft);color:var(--warning)}.quick-import-ingredients{display:grid;gap:0;margin:0;padding:0;list-style:none}.quick-import-ingredients li{display:grid;grid-template-columns:88px minmax(0,1fr);gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:14px}.quick-import-ingredients strong{white-space:nowrap}.quick-import-ingredients-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:44px;margin-top:8px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:var(--soft);color:var(--green);font-size:13px;font-weight:700}.quick-import-ingredients-toggle:hover{border-color:color-mix(in srgb,var(--green) 35%,var(--line));background:color-mix(in srgb,var(--soft) 82%,var(--surface))}.quick-import-actions{position:sticky;bottom:-26px;z-index:2;margin:24px -26px -26px;padding:16px 26px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--surface) 94%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.quick-import-actions .text-button{min-height:44px}@media(max-width:580px){.photo-quick-start{grid-template-columns:auto minmax(0,1fr);gap:14px;padding:18px}.photo-quick-icon{width:52px;height:52px;border-radius:15px}.photo-quick-copy h3{font-size:22px}.photo-quick-copy p:not(.overline){grid-column:1 / -1}.photo-quick-button,.photo-quick-start>small{grid-column:1 / -1;width:100%}.photo-quick-start>small{margin-top:-7px;text-align:center}.import-alternative-heading{display:grid;gap:2px;margin-top:22px}.photo-import-processing{grid-template-columns:1fr;gap:20px;min-height:0;padding:16px}.photo-processing-preview{min-height:180px;max-height:250px}.photo-processing-preview img{max-height:250px}.photo-cancel,.photo-picker-actions .button{width:100%}.quick-import-review.modal{padding-bottom:max(24px,env(safe-area-inset-bottom))}.quick-import-layout{grid-template-columns:1fr;gap:18px}.quick-import-layout>img{max-height:230px}.quick-import-actions{display:grid;grid-template-columns:1fr;bottom:calc(-1*max(24px,env(safe-area-inset-bottom)));margin:24px -18px calc(-1*max(24px,env(safe-area-inset-bottom)));padding:14px 18px max(18px,env(safe-area-inset-bottom))}.quick-import-actions .button,.quick-import-actions .text-button{width:100%;justify-content:center}}.backup-reminder,.backup-status,.barcode-match{display:flex;align-items:center;gap:12px}.backup-reminder{padding:14px 16px;margin-bottom:20px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}.backup-reminder>div,.barcode-match{display:grid;gap:3px}.backup-reminder span,.backup-status,.barcode-match span{color:var(--muted);font-size:13px}.backup-reminder .text-button{margin-left:auto;flex-shrink:0}.backup-status{margin:16px 0}.device-sync-panel h2{display:flex;align-items:center;gap:8px}.google-login-screen{display:grid;min-height:100dvh;padding:max(28px,env(safe-area-inset-top)) 20px max(28px,env(safe-area-inset-bottom));place-items:center;background:radial-gradient(circle at 18% 12%,#e9efe5 0,transparent 32%),radial-gradient(circle at 84% 86%,#f2e6da 0,transparent 34%),var(--background)}.google-login-shell{width:min(100%,520px)}.google-login-shell>.brand-lockup{display:inline-flex;margin-bottom:clamp(40px,8vh,72px)}.google-login-intro{margin-bottom:24px}.google-login-intro h1{max-width:460px;margin:7px 0 12px;font-size:clamp(36px,7vw,54px);line-height:.98}.google-login-intro>p:last-child{max-width:450px;color:var(--muted);font-size:var(--text-body)}.google-login-screen .google-account-panel{box-shadow:0 18px 50px #20372a14}.google-login-footnote{max-width:420px;margin:18px auto 0;color:var(--muted);font-size:var(--text-caption);text-align:center}.google-account-panel{position:relative;overflow:hidden;border-color:color-mix(in srgb,var(--green) 24%,var(--line));background:radial-gradient(circle at 100% 0,#dfe9dd 0,transparent 42%),var(--surface)}.google-account-panel:after{content:"";position:absolute;width:96px;height:96px;right:-38px;bottom:-42px;border:18px solid color-mix(in srgb,var(--green) 8%,transparent);border-radius:50%;pointer-events:none}.google-account-heading{display:flex;align-items:center;gap:12px;margin-bottom:16px}.google-account-heading h2{margin:1px 0 0!important}.google-account-heading .eyebrow{color:var(--accent);font-weight:700}.google-account-icon,.google-account-avatar{display:grid;place-items:center;flex:0 0 auto;width:44px;height:44px;border-radius:13px;background:var(--green);color:#fff}.google-account-avatar{border-radius:50%;font-family:Georgia,Times New Roman,serif;font-size:21px}.google-sign-in{width:100%;margin-top:20px;background:#fff;border:1px solid #cdd5ca;color:#23372a;box-shadow:0 2px 8px #26382e0c}.cloud-privacy-note{display:flex;align-items:flex-start;gap:8px;margin-top:14px;color:var(--muted);font-size:var(--text-caption)!important}.cloud-privacy-note svg{flex:0 0 auto;margin-top:1px;color:var(--green)}.google-account-profile{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px;margin:4px 0 14px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--surface) 82%,var(--soft))}.google-account-profile strong,.google-account-profile small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.google-account-profile small{color:var(--muted);font-size:var(--text-caption)}.cloud-status{padding:5px 8px;border-radius:99px;background:var(--soft);color:var(--green);font-size:11px;font-weight:700}.cloud-status-conflict,.cloud-status-reconnect,.cloud-status-error{background:var(--warning-soft);color:var(--warning)}.google-account-panel.is-reconnect{border-color:color-mix(in srgb,var(--warning) 28%,var(--line));background:color-mix(in srgb,var(--surface) 94%,var(--warning-soft))}.google-account-panel.is-reconnect .google-sign-in{width:auto;min-height:44px;margin-top:14px}.cloud-reconnect-notice{position:fixed;right:20px;bottom:max(20px,env(safe-area-inset-bottom));z-index:109;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:9px;width:min(460px,calc(100vw - 40px));padding:9px 9px 9px 11px;border:1px solid color-mix(in srgb,var(--warning) 24%,var(--line));border-radius:13px;background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:0 12px 32px #1b2b2124;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);animation:cloud-notice-in .18s ease-out}.cloud-reconnect-icon{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:var(--warning-soft);color:var(--warning)}.cloud-reconnect-copy{display:grid;min-width:0;line-height:1.3}.cloud-reconnect-copy strong{font-size:13px}.cloud-reconnect-copy small{overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.cloud-reconnect-notice .text-button{min-height:36px;padding-inline:8px;white-space:nowrap}@keyframes cloud-notice-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.cloud-choice{padding:14px;margin-top:12px;border:1px solid color-mix(in srgb,var(--warning) 35%,var(--line));border-radius:12px;background:var(--warning-soft)}.cloud-choice p{margin-top:4px}.cloud-choice-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.cloud-choice-comparison>span{display:grid;gap:2px;padding:10px 11px;border:1px solid color-mix(in srgb,var(--warning) 22%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--surface) 82%,transparent)}.cloud-choice-comparison strong{font-size:12px}.cloud-choice-comparison small{color:var(--muted);font-size:11px}.cloud-choice .actions{margin-top:14px}.advanced-sync-panel>summary{display:flex;align-items:center;gap:9px;cursor:pointer;font-size:var(--text-small);font-weight:700;list-style:none}.advanced-sync-panel>summary::-webkit-details-marker{display:none}.advanced-sync-panel[open]>summary{margin-bottom:20px}.advanced-sync-panel h2{font-size:18px!important}@media(max-width:580px){.cloud-reconnect-notice{right:12px;bottom:calc(82px + env(safe-area-inset-bottom));width:calc(100vw - 24px);grid-template-columns:auto minmax(0,1fr) auto;gap:8px}.cloud-reconnect-notice .text-button{grid-column:2;justify-self:start;min-height:28px;padding:0}.cloud-reconnect-notice .notification-close{grid-column:3;grid-row:1 / span 2}.google-account-profile{grid-template-columns:auto minmax(0,1fr)}.google-account-profile .cloud-status{grid-column:2;justify-self:start}.cloud-choice .actions,.google-account-panel>.actions{display:grid;grid-template-columns:1fr}}.barcode-match{padding:16px;margin-top:18px;border-radius:14px;background:var(--soft)}.barcode-match .button{margin-top:8px}@media(max-width:580px){.import-options{grid-template-columns:1fr;gap:10px;margin:16px 0}.import-option{min-height:76px;padding:13px}.import-option em{display:none}.photo-import-grid.has-photos{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.photo-import-card{flex:0 0 78%;scroll-snap-align:center}.backup-reminder{align-items:flex-start;flex-wrap:wrap}.backup-reminder .text-button{margin-left:32px}}.photo-import-preview img{display:block;width:100%;max-height:380px;object-fit:contain}.photo-import-preview>div{display:grid;gap:8px;padding:28px;text-align:center;color:var(--muted)}.photo-import-preview strong{color:var(--text)}.photo-import-tips{margin:14px 0;padding-left:22px}.photo-import-tips li{margin:6px 0}@media(max-width:580px){.photo-import-preview{min-height:180px;max-height:300px}.photo-import-preview img{max-height:300px}}.import-review-notice{padding:20px;border:1px solid var(--line);border-radius:16px;margin-bottom:24px;background:var(--bg);overflow-wrap:anywhere}.import-review-notice li{margin-bottom:8px}.import-ingredient-check{grid-column:1/-1;padding:12px;border-left:3px solid #a88b49;overflow-wrap:anywhere}.import-ingredient-check small{display:block}.import-ingredient-check .field{max-width:450px}.import-log{overflow-wrap:anywhere}@media(min-width:701px){.ingredient-edit>.icon-button{grid-column:5;grid-row:1}}.nutrition-panel{margin:24px 0}.nutrition-values{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:14px;margin:20px 0}.nutrition-values strong{display:block;font-size:1.45rem}.nutrition-values span{color:var(--muted)}.conversion-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border-bottom:1px solid var(--line);padding:16px 0}.ingredient-nutrition-check{grid-column:1/-1}.ingredient-nutrition-check:empty{display:none}.missing-nutrition{margin-bottom:24px}@media(max-width:600px){.conversion-row{grid-template-columns:1fr 1fr}}.batch-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:10px;min-width:0}.batch-card h3{margin:0}.batch-card small,.soon-row small{color:var(--muted);display:block}.batch-card .actions{margin-top:auto;flex-wrap:wrap}.pantry-insights{margin:24px 0}.soon-row{display:flex;gap:16px;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--border)}.staple-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.pantry-status-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}@media(max-width:600px){.soon-row{align-items:flex-start;flex-direction:column;gap:6px}}.cooking-backdrop{position:fixed;inset:0;z-index:200;background:var(--bg)}.cooking-screen{position:fixed;inset:0;z-index:201;background:var(--bg, #fafaf7);color:var(--text, #26372b);display:flex;flex-direction:column;outline:none;height:100dvh}.cooking-screen .button,.cooking-sheet .button,.cooking-screen input,.cooking-sheet input,.cooking-sheet select{min-height:48px}.cooking-screen button:focus-visible,.cooking-sheet button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.cooking-header{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:18px max(24px,env(safe-area-inset-right)) 16px max(24px,env(safe-area-inset-left));border-bottom:1px solid var(--line)}.cooking-header h2{font:600 clamp(18px,2.4vw,28px) / 1.2 var(--font-body, Arial);margin:0 0 6px}.cooking-header .overline{margin:0 0 6px;font-size:10px}.cooking-body{flex:1;min-height:0;overflow:auto;display:grid;grid-template-columns:minmax(230px,30%) minmax(0,1fr)}.cooking-main{padding:32px clamp(24px,5vw,84px);min-width:0}.cooking-main:has(.cooking-completion){grid-column:1/-1;width:min(100%,850px);margin:auto}.cooking-desktop-ingredients{padding:24px;border-right:1px solid var(--line);background:var(--surface);overflow:auto}.cooking-ingredient{display:flex;align-items:flex-start;gap:12px;padding:16px 4px;border-bottom:1px solid var(--line);cursor:pointer;min-height:56px}.cooking-ingredient>label{display:flex;align-items:flex-start;gap:12px;min-width:0;flex:1;cursor:pointer}.cooking-ingredient>.icon-button{flex:0 0 auto;margin-left:auto}.cooking-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.cooking-section-heading .button{flex:0 0 auto}.session-substitutions{margin:22px 0;padding-top:18px;border-top:1px solid var(--line)}.session-substitutions h3{margin-bottom:10px}.substitution-option{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px;margin-bottom:8px;text-align:left;border:1px solid var(--line);border-radius:11px;background:var(--surface)}.substitution-option span{display:grid;gap:3px}.substitution-option span:last-child{justify-items:end;font-size:12px;color:var(--muted)}.substitution-option small{color:var(--muted)}.substitution-option em{color:var(--green);font-style:normal;font-weight:700}.cooking-adjustment-summary{border-left:4px solid var(--accent)}.cooking-adjustment-summary h3{margin:4px 0 10px}.cooking-adjustment-summary ul{margin:0 0 18px;padding-left:20px}.variant-completion-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}.variant-completion-options .button[aria-pressed=true]{border-color:var(--green);background:var(--soft);color:var(--green)}.variant-confirm-change{align-items:flex-start;padding:12px;background:var(--soft);border-radius:10px}.cooking-ingredient input{width:24px;height:24px;min-height:24px!important;flex-shrink:0;margin-top:0;accent-color:var(--accent)}.cooking-ingredient small{display:block;margin-top:5px;line-height:1.5;color:var(--muted)}.cooking-ingredient.checked strong{text-decoration:line-through;color:var(--muted)}.cooking-progress{margin-bottom:24px}.cooking-progress p{margin:0 0 12px;font-weight:700;color:var(--text)}.cooking-progress progress{width:100%;height:7px;accent-color:var(--accent)}.cooking-step h2,.cooking-prep h2,.cooking-completion h2{font-size:clamp(26px,3.2vw,42px);line-height:1.15;margin:0 0 24px}.cooking-step h2:focus{outline:none}.cooking-instruction{font-size:clamp(24px,2.5vw,34px);line-height:1.55;white-space:pre-line;margin:0 0 24px}.text-small .cooking-instruction{font-size:clamp(21px,2.1vw,28px)}.text-large .cooking-instruction{font-size:clamp(30px,3.3vw,44px)}.cooking-temperature{font-weight:700;padding:18px;background:var(--surface);border-left:4px solid var(--accent);border-radius:var(--radius-sm)}.cooking-step-timer-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.cooking-relevant{padding:16px 0;color:var(--text);font-size:16px;line-height:1.6}.cooking-step-image{display:block;max-height:250px;max-width:100%;object-fit:contain;margin:20px 0;border-radius:var(--radius-md)}.cooking-nav{display:flex;gap:16px;justify-content:space-between;margin-top:32px}.cooking-nav button{flex:1;min-height:64px!important;font-size:18px}.cooking-footer{flex-shrink:0;border-top:1px solid var(--line);background:var(--surface);padding-bottom:env(safe-area-inset-bottom)}.cooking-footer nav{display:flex;justify-content:center;gap:4px;padding:8px 12px}.cooking-footer nav button{min-height:54px;padding:10px 18px;border-radius:var(--radius-sm);font-weight:700;font-size:var(--text-small)}.cooking-timer-bar{width:100%;display:flex;gap:18px;overflow-x:auto;align-items:center;padding:12px 24px;background:var(--green);color:#fff;min-height:50px;white-space:nowrap}.cooking-timer-bar strong{font-variant-numeric:tabular-nums;margin-left:6px}.cooking-timer-bar .completed{font-weight:800;text-decoration:underline}.cooking-alerts{max-height:25dvh;overflow:auto;background:#ffe7b5;color:#463300;padding:12px 24px}.cooking-alerts>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.cooking-alerts .button{background:#fff7e8;color:#463300}.cooking-sheet-overlay{position:fixed;inset:0;background:#0007;z-index:210}.cooking-sheet{position:fixed;z-index:211;right:20px;top:20px;bottom:20px;width:min(540px,calc(100vw - 40px));border-radius:var(--radius-lg);background:var(--bg, #fafaf7);color:var(--text);padding:24px;overflow:auto;box-shadow:0 12px 60px #0003}.cooking-sheet>header{display:flex;gap:15px;justify-content:space-between;align-items:center;margin-bottom:24px}.cooking-sheet h2{font-size:26px;margin:0}.cooking-sheet textarea{font-size:18px}.cooking-sheet .check-label{padding:10px 0;min-height:48px}.cooking-sheet .check-label input{min-height:24px;height:24px;width:24px}.cooking-timer{padding:20px 0;border-bottom:1px solid var(--line);display:flex;gap:16px;justify-content:space-between}.cooking-timer h3{margin:0 0 8px}.cooking-timer small{display:block;margin:8px 0}.cooking-clock{font-size:36px;line-height:1.2;font-variant-numeric:tabular-nums}.cooking-timer.completed{color:var(--accent)}.cooking-timer-actions{display:flex;flex-direction:column;gap:6px}.cooking-step-list{display:grid;gap:12px}.cooking-step-list button{text-align:left;justify-content:flex-start}.cooking-step-list [aria-current=step]{border:2px solid var(--accent)}.cooking-completion .panel{margin:24px 0}.cooking-completion .check-label{min-height:48px}.cooking-stars{display:flex;gap:8px}.cooking-stars button{font-size:25px;flex:1}.cooking-notice{margin:0;padding:12px 24px;background:var(--surface)}.cooking-floating-timers{position:fixed;z-index:60;bottom:85px;left:50%;transform:translate(-50%);padding:16px 24px;background:var(--green);color:#fff;border-radius:16px;max-width:90vw;box-shadow:0 3px 24px #0003}.cooking-resume{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:24px;border:2px solid var(--accent)}.cooking-resume h2,.cooking-resume p{margin:4px 0}.cooking-detail-cta{padding:10px 0 24px}.cooking-detail-cta .button{width:100%;min-height:54px;font-size:18px}.cooking-detail-cta p{text-align:center;color:var(--muted)}.cooking-mobile-prep{display:none}.cooking-landing{max-width:900px;padding:40px 24px;margin:auto}@media(max-width:760px){.cooking-header{padding:14px 16px;gap:12px}.cooking-header h2{font-size:18px}.cooking-header .button{max-width:118px;padding:8px 12px;font-size:13px}.cooking-header .overline{display:none}.cooking-body{display:block}.cooking-desktop-ingredients{display:none}.cooking-main{padding:24px 20px 32px}.cooking-mobile-prep{display:block}.cooking-footer nav{padding:6px 4px;gap:0}.cooking-footer nav button{font-size:11px;padding:8px 6px;flex:1}.cooking-sheet{inset:auto 0 0;max-height:86dvh;width:100%;border-radius:22px 22px 0 0;padding:20px 20px max(24px,env(safe-area-inset-bottom))}.cooking-timer-bar{padding:10px 16px;font-size:var(--text-small)}.cooking-nav{gap:12px}.cooking-nav button{font-size:16px}.cooking-alerts{padding:10px 16px}.cooking-alerts .button{font-size:var(--text-caption);padding:8px}.cooking-instruction{font-size:25px}}@media(max-height:500px)and (orientation:landscape){.cooking-header{padding:8px 16px}.cooking-header small{display:none}.cooking-main{padding:20px 24px}.cooking-footer nav button{min-height:44px;padding:6px 12px}.cooking-timer-bar{min-height:38px;padding:6px 16px}.cooking-sheet{max-height:95dvh}}@media(prefers-reduced-motion:reduce){.cooking-screen *,.cooking-sheet *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.cooking-screen,.cooking-sheet{--muted: #536159}[data-theme=dark] .cooking-screen,[data-theme=dark] .cooking-sheet{--muted: #bdcbc1}.cooking-instruction,.cooking-main p{color:var(--text)}:where(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--accent);outline-offset:3px}:where(button,.button):active:not(:disabled){transform:scale(.98)}:where(h1,h2,h3,.card-title,.planned-recipe strong,.batch-card){overflow-wrap:anywhere}:where(.field,.panel,.detail-columns>section,.history-row>div,.shopping-row label,.shopping-row label>span){min-width:0}input,select,textarea{max-width:100%}input[type=checkbox]{flex-shrink:0;accent-color:var(--green)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}.nav-count{background:var(--soft);color:var(--text)}.nav-item.active{color:var(--text)}.skip-link{position:fixed;top:-100px;left:16px;z-index:300;padding:12px 20px;background:var(--surface);border:2px solid var(--accent)}.skip-link:focus{top:12px}#main-content:focus{outline:none}.card-title{display:block;white-space:normal;overflow-wrap:anywhere;height:auto;max-height:none}.recipe-card.featured .card-photo{aspect-ratio:16 / 9}.recipe-card.compact .card-body{padding:var(--space-3)}.recipe-card.horizontal{display:grid;grid-template-columns:minmax(100px,30%) minmax(0,1fr)}.recipe-card.horizontal .card-photo{aspect-ratio:auto;min-height:140px}.recipe-card.horizontal .card-title{min-height:0}.recipe-card .favorite{width:44px;height:44px;color:#52604e}.recipe-card .favorite.selected{color:#a94b2e}.search-field{display:flex;flex:1;min-width:180px;align-items:center;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-sm)}.search-field input{border:0;flex:1;min-width:0;background:transparent}.search-field:focus-within{outline:2px solid var(--accent);outline-offset:2px}.search-field input:focus{outline:none}.active-filters{margin-block:var(--space-4)}.sheet-actions,.form-save{position:sticky;bottom:0;background:var(--surface);border-top:1px solid var(--line);padding:var(--space-4) 0 max(var(--space-2),env(safe-area-inset-bottom));display:flex;gap:var(--space-3);z-index:2;margin-top:var(--space-5)}.sheet-actions .button:last-child{flex:1}.bottom-sheet .filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bottom-sheet .actions{gap:var(--space-4)}.more-destinations{display:grid;gap:var(--space-2)}.settings-filters{margin-block:var(--space-4) var(--space-6)}.settings-filters .check-label{min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius-sm)}.personal-profile{padding:var(--space-5) 0;border:0;border-top:1px solid var(--line);border-radius:0}.settings-grid form>h2{margin-top:var(--space-5)}.history-group{margin-block:var(--space-4)}.history-photo{width:110px;height:100px;flex-shrink:0;overflow:hidden;border-radius:var(--radius-sm)}.history-photo>*{width:100%;height:100%}.day-card.today{border-color:var(--green);box-shadow:inset 0 3px var(--green)}.day-card.today>header{color:var(--text)}.shopping-tools{margin-bottom:var(--space-5)}.shopping-row.done{background:var(--bg)}.step p{color:var(--text);font-size:var(--text-body);line-height:1.7}.ingredient-line>span{display:grid;grid-template-columns:5.5rem minmax(0,1fr);column-gap:var(--space-3);flex:1}.ingredient-line small{grid-column:2}.batch-card{border-radius:var(--radius-md)}.batch-card .actions{gap:var(--space-2)}.skeleton{background:var(--line);border-radius:var(--radius-sm);animation:breathe 1.6s ease-in-out infinite alternate}.skeleton-line{height:16px;margin:16px 0;width:70%}.skeleton-title{height:36px;width:50%;margin:24px 0}.skeleton-photo{aspect-ratio:4 / 3}.skeleton-row{height:60px;margin-block:12px}.loading-surface{max-width:1200px;width:100%;margin:auto;padding:32px}@keyframes breathe{to{opacity:.45}}@media(min-width:801px)and (max-width:1150px){.week-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:800px){.topbar{padding-top:env(safe-area-inset-top);height:calc(65px + env(safe-area-inset-top))}main{padding-bottom:calc(100px + env(safe-area-inset-bottom))}.modal.bottom-sheet{top:auto;bottom:0;left:0;transform:none;width:100%;max-height:90dvh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding-bottom:max(20px,env(safe-area-inset-bottom))}.collection-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px}.collection-tabs .chip{flex-shrink:0}}@media(max-width:580px){.toolbar .search-field{flex-basis:100%}.card-meta>span:last-child:not(:nth-child(2)):not(:first-child){display:none}.card-body .eyebrow{font-size:10px;letter-spacing:.6px}.banner-copy{padding:var(--space-5)}.banner-copy h2{font-size:28px}.banner-copy h2 br{display:none}.bottom-sheet .filter-grid{grid-template-columns:1fr}.history-photo{width:64px;height:72px}.history-photo .recipe-placeholder span{display:none}.form-save .button{width:100%}}@media(max-width:374px){main{padding-inline:12px}.recipe-grid{gap:8px}.card-body{padding:10px}.week-grid{grid-template-columns:1fr}.bottom-nav button{min-width:0;font-size:10px;flex:1}.topbar .breadcrumb{display:none}.topbar{justify-content:flex-end}}@media(prefers-reduced-motion:reduce){.skeleton{animation:none}}.recipe-characteristics{margin-block:20px}.recipe-characteristics .tag-list{margin-top:12px}[data-theme=dark] .recipe-placeholder{background:#3d382e;color:#d5c3a5}[data-theme=dark] .recipe-placeholder.plant{background:#35432e;color:#c4d7b5}[data-theme=dark] .recipe-placeholder.fish{background:#2c413c;color:#b7d9d0}[data-theme=dark] .week-summary strong,[data-theme=dark] .match-info strong,[data-theme=dark] .private-note{color:var(--success)}@media(max-width:374px){.quick-filters{margin-inline:-12px;padding-inline:12px}}.undo-notice{display:flex;align-items:center;gap:12px;padding:12px;background:var(--soft);border-radius:var(--radius-sm);flex-wrap:wrap;margin-block:16px}.generator-entry{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px;margin:24px 0;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.generator-entry h2{font-size:1.25rem;margin:0 0 6px}.generator-entry p{margin:0}.generator-library-entry{margin-bottom:20px}.generator-flow{padding:0 4px 8px}.generator-intro{max-width:65ch;color:var(--muted)}.generator-flow h3{margin-top:22px}.generator-flow .chip[aria-pressed=true]{background:var(--green);color:#fff;border-color:var(--green)}.generator-ingredient-options{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 20px}.generator-selected>div{padding:12px 0;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.generator-selected label{display:flex;align-items:center;gap:6px}.generator-footer{position:sticky;bottom:0;z-index:2;background:var(--surface);display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;border-top:1px solid var(--border);padding:16px 0 max(16px,env(safe-area-inset-bottom));margin-top:24px}.generator-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.generator-card{padding:20px;border:1px solid var(--border);border-radius:16px;background:var(--surface);min-width:0}.generator-card h3{margin:10px 0;font-size:1.15rem}.generator-card ul{padding-left:18px;color:var(--muted)}.generator-card .actions{flex-wrap:wrap}.generator-message{padding:16px;border-radius:12px;background:var(--soft);border:1px solid var(--border)}.generator-ingredients{list-style:none;padding:0}.generator-ingredients li{padding:10px 0;display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--border)}.generator-ingredients small{display:block;color:var(--muted)}.generator-steps{padding-left:24px}.generator-steps li{padding:10px 0 14px 8px}.generator-steps p{line-height:1.65;margin:8px 0}@media(max-width:800px){.generator-results{grid-template-columns:1fr}.generator-entry{align-items:stretch;flex-direction:column}.generator-footer .button{flex:1}}.library-folders{margin:20px 0}.library-folders h2{display:flex;align-items:center;gap:8px;font-size:1rem;margin-bottom:12px}.meal-type-filters{margin:20px 0 16px}.folder-create-form{display:grid;gap:10px;margin-top:16px}.card-folder-button{margin-top:12px;min-height:36px}.card-manage-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:0 10px;margin-top:12px}.card-manage-actions .card-folder-button{margin-top:0}.card-delete-button{min-height:36px;font-size:12px}.folder-done{margin-top:20px}.recipe-folders .check-label{overflow-wrap:anywhere}.folder-heading,.folder-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.folder-heading{justify-content:space-between;margin-bottom:12px}.folder-heading h2{margin:0}.folder-actions:not(:empty){margin-top:12px}.folder-actions strong{overflow-wrap:anywhere}.library-controls{padding:0 0 8px}.library-controls .toolbar{margin:0}.library-controls .meal-type-filters{margin:10px 0;display:flex;align-items:center;flex-wrap:nowrap;gap:8px;min-width:0;overflow-x:auto;padding:4px 2px;scroll-padding-inline:2px;scrollbar-width:none;overscroll-behavior-x:contain}.library-controls .meal-type-filters::-webkit-scrollbar{display:none}.library-controls .meal-type-filters .chip{flex:0 0 auto;min-height:44px;height:44px;padding:0 14px;font-weight:500}.library-secondary{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.library-controls .library-folders{margin:0;flex:1;min-width:0}.library-folders summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:600;overflow-wrap:anywhere}.folder-picker-controls{display:flex;flex-wrap:wrap;gap:10px;padding:8px 0}.folder-picker-controls .field{flex-basis:100%}.library-secondary>.text-button{min-height:44px;flex-shrink:0}.recipe-detail .detail-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0}.detail-shortcuts{position:sticky;top:0;z-index:3;padding:8px 0;background:var(--surface)}.detail-shortcuts .cooking-detail-cta{margin:0 0 8px}.detail-shortcuts .actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.detail-secondary-actions,.detail-nutrition{margin:12px 0}.detail-nutrition summary{cursor:pointer;padding:12px 0;font-weight:600}.recipe-detail .detail-columns>section{scroll-margin-top:135px}.day-card{scroll-margin-top:90px}@media(max-width:800px){.library-heading{margin-bottom:12px}.library-heading .overline,.library-heading h1+p{display:none}.library-heading h1{font-size:30px;margin:0}.library-controls .toolbar{gap:8px}.library-controls .meal-type-filters{margin:8px 0 10px}.library-secondary{gap:8px}.library-secondary>.text-button{font-size:13px}.recipe-detail .detail-hero,.recipe-detail .detail-hero.recipe-example{height:140px;margin:10px 0}.recipe-detail .detail-hero>img,.recipe-detail .detail-hero.recipe-example>img{width:100%;height:140px;object-fit:cover}.recipe-detail .detail-photo-note{font-size:10px;padding:4px 8px}.recipe-detail .detail-intro{margin:8px 0;gap:8px}.recipe-detail .detail-intro p{margin:0 0 8px}.recipe-detail .detail-intro .rating-button{font-size:12px}.recipe-detail .recipe-facts{grid-template-columns:repeat(2,1fr)}}.results-actions,.bulk-recipe-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.bulk-recipe-toolbar{position:sticky;top:64px;z-index:11;padding:10px 12px;margin-bottom:16px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.bulk-recipe-toolbar strong{margin-right:auto;font-size:13px}.bulk-recipe-toolbar .chip,.bulk-recipe-toolbar select{min-height:38px;font-size:12px}.bulk-folder-picker select{width:auto;max-width:200px}.recipe-card.selecting{outline:1px solid var(--line)}.recipe-card.selecting.selected{outline:3px solid var(--green)}.recipe-card-select{position:absolute;z-index:3;top:8px;left:8px;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:var(--surface);box-shadow:var(--shadow)}.recipe-card-select input{width:20px;height:20px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:800px){.week-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;margin-inline:-18px;padding:3px 18px 14px;scrollbar-width:none}.week-grid .day-card{flex:0 0 min(82vw,330px);scroll-snap-align:center}.bulk-recipe-toolbar{top:calc(126px + env(safe-area-inset-top));overflow-x:auto;flex-wrap:nowrap;margin-inline:-18px;border-radius:0;padding-inline:18px}.bulk-recipe-toolbar>*{flex-shrink:0}}.recipe-detail .detail-shortcuts .cooking-detail-cta{padding:0;margin:0 0 8px}.recipe-detail .detail-shortcuts .actions{margin-top:0}.library-controls+.active-filters{margin:8px 0}.library-heading.page-heading{margin-bottom:12px}.library-search-toolbar{position:sticky;top:0;z-index:12;display:flex;align-items:center;gap:8px;padding:8px 0;background:var(--bg);border-bottom:1px solid var(--line)}.library-search-toolbar .search-field{flex:1;min-width:0;min-height:44px}.library-search-toolbar .search-field input{min-width:0;width:100%}.library-search-toolbar>.button{flex:0 0 auto;min-height:44px;padding:10px 12px;gap:6px;white-space:nowrap}.library-sort-row{display:flex;align-items:center;gap:12px;margin:8px 0}.library-sort-row label{color:var(--muted);font-size:13px}.library-sort-row select{width:auto;min-width:0;flex:1;max-width:260px}@media(max-width:800px){.library-search-toolbar{top:calc(72px + env(safe-area-inset-top))}.library-search-toolbar .search-field input{padding-inline:10px}.library-search-toolbar>.button{font-size:13px}}.settings-page{width:min(100%,1180px);margin-inline:auto;padding-bottom:24px}.settings-page .page-heading{align-items:center;margin-bottom:22px}.settings-page .page-heading h1{line-height:1}.settings-version{display:inline-flex;align-items:center;min-height:34px;padding:7px 11px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font-size:12px;font-weight:650;white-space:nowrap}.settings-account-spotlight{scroll-margin-top:92px}.settings-account-spotlight .google-account-panel{padding:clamp(22px,3vw,30px);margin-bottom:14px;overflow:hidden;border-color:color-mix(in srgb,var(--green) 26%,var(--line));border-radius:24px;background:radial-gradient(circle at 94% 4%,color-mix(in srgb,var(--green) 13%,transparent) 0,transparent 34%),linear-gradient(135deg,color-mix(in srgb,var(--surface) 95%,var(--soft)),var(--surface));box-shadow:0 18px 50px #20372a10}.settings-account-spotlight .google-account-panel:after{width:150px;height:150px;right:-54px;bottom:-78px;border-width:26px}.settings-account-spotlight .google-account-heading{margin-bottom:18px}.settings-account-spotlight .google-account-heading h2{font-size:clamp(22px,2.2vw,28px)}.settings-account-spotlight .google-account-icon{width:48px;height:48px;border-radius:15px;box-shadow:0 8px 22px #24433324}.settings-account-body{position:relative;z-index:1}.settings-account-spotlight .google-account-onboarding{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px 28px}.settings-account-spotlight .google-account-copy{max-width:680px}.google-account-copy>strong{display:block;margin-bottom:5px;font-size:17px}.settings-account-spotlight .google-account-copy>p{margin:0;color:var(--muted);line-height:1.55}.settings-account-spotlight .google-account-onboarding .google-sign-in{width:auto;min-width:214px;margin:0}.settings-account-spotlight .google-account-onboarding .cloud-privacy-note{grid-column:1 / -1;max-width:760px;margin:0}.settings-account-spotlight .google-account-connected{display:grid;grid-template-columns:minmax(260px,.82fr) minmax(320px,1.18fr);align-items:center;gap:18px 32px}.settings-account-spotlight .google-account-profile{margin:0;padding:13px 14px;background:color-mix(in srgb,var(--surface) 88%,transparent)}.settings-account-spotlight .google-account-sync{min-width:0}.settings-account-spotlight .google-account-sync>.settings-note{margin:0;line-height:1.55}.settings-account-spotlight .google-account-sync>.actions{margin-top:13px}.settings-jump-nav{position:sticky;top:10px;z-index:14;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;padding:6px;margin-bottom:20px;border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:16px;background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:0 10px 30px #20372a0d;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.settings-jump-nav button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:0;min-height:42px;padding:8px 10px;border:0;border-radius:11px;background:transparent;color:var(--muted);font-family:inherit;font-size:12px;font-weight:700;white-space:nowrap}.settings-jump-nav button:hover,.settings-jump-nav button:focus-visible{background:var(--soft);color:var(--green);outline:none}.settings-layout{display:grid;grid-template-columns:minmax(0,1.36fr) minmax(340px,.82fr);gap:22px;align-items:start}.settings-preferences,.settings-secondary{min-width:0}.settings-section.panel{scroll-margin-top:84px;padding:0;margin-bottom:16px;overflow:clip;border-radius:18px;box-shadow:0 8px 30px #263b2e07}.settings-section>summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;min-height:76px;padding:16px 18px;margin:0;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.settings-section>summary::-webkit-details-marker{display:none}.settings-section>summary:hover{background:color-mix(in srgb,var(--soft) 60%,transparent)}.settings-section-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--soft);color:var(--green)}.settings-section-title{display:grid;min-width:0;gap:3px}.settings-section-title strong{font-size:17px;line-height:1.25}.settings-section-title small{overflow:hidden;color:var(--muted);font-size:12px;font-weight:450;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.settings-section-chevron{color:var(--muted);transition:transform .2s ease}.settings-section[open]>summary .settings-section-chevron{transform:rotate(180deg)}.settings-section-content{padding:20px;border-top:1px solid var(--line)}.settings-field-grid,.settings-toggle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.settings-field-grid .field{margin-bottom:4px}.settings-toggle-grid{margin-top:14px}.settings-toggle-card{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:11px;min-height:70px;padding:13px;border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--bg) 66%,var(--surface));cursor:pointer}.settings-toggle-card:hover{border-color:color-mix(in srgb,var(--green) 35%,var(--line))}.settings-toggle-card input{margin-top:2px}.settings-toggle-card span,.settings-toggle-card strong,.settings-toggle-card small{display:block;min-width:0}.settings-toggle-card strong{margin-bottom:3px;font-size:13px}.settings-toggle-card small{color:var(--muted);font-size:11px;line-height:1.4}.settings-toggle-single{width:100%;margin-top:4px}.settings-inline-note{display:flex;align-items:center;gap:7px;margin:15px 0 0;color:var(--muted);font-size:12px!important}.settings-inline-note svg{flex:0 0 auto;color:var(--accent)}.settings-lead{margin:0 0 18px;color:var(--muted);line-height:1.55}.settings-subsection+.settings-subsection,.settings-subsection+.settings-nested-details,.settings-nested-details+.settings-subsection{padding-top:20px;margin-top:20px;border-top:1px solid var(--line)}.settings-subsection-heading{margin-bottom:15px}.settings-subsection-heading h3{margin:0 0 4px;font-size:16px;line-height:1.35}.settings-subsection-heading p{margin:0;color:var(--muted);font-size:12px!important;line-height:1.5}.settings-section-content>.personal-profile{padding:0;margin:0;border:0}.settings-section-content>.personal-profile>h3:first-child{margin-top:0}.settings-section-content .personal-profile h3{font-size:16px}.settings-section-content .personal-profile .check-label{min-height:42px;padding:7px 10px;border:1px solid var(--line);border-radius:11px}.settings-section-content .personal-profile .tag-list{gap:7px}.settings-filters{margin:0}.settings-filters .check-label{background:color-mix(in srgb,var(--bg) 60%,var(--surface))}.settings-days .check-label{min-width:68px;justify-content:center}.settings-save-bar{position:sticky;bottom:14px;z-index:12;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 10px 10px 15px;margin:0 6px 20px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));border-radius:16px;background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:0 14px 40px #20372a20;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);animation:notification-in .2s ease-out}.settings-save-state{display:flex;align-items:center;gap:9px;color:var(--text);font-size:12px;font-weight:650}.settings-save-state>span{width:8px;height:8px;flex:0 0 auto;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 14%,transparent)}.settings-save-bar .button{min-height:42px}.settings-form-error{margin:0 6px 10px}.settings-secondary>.personalisation-panel{margin-top:0;border-radius:18px}.settings-callout{padding:12px 13px;margin:0 0 14px;border-left:3px solid var(--accent);border-radius:4px 12px 12px 4px;background:color-mix(in srgb,var(--accent) 8%,transparent);line-height:1.55}.settings-data-actions{margin-top:14px}.settings-data-actions .button{min-height:44px;padding:10px 13px;font-size:12px}.settings-nested-details{border:0}.settings-nested-details>summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;min-height:46px;padding:0;color:var(--text);font-size:13px;list-style:none}.settings-nested-details>summary::-webkit-details-marker{display:none}.settings-nested-details>summary svg:last-child{color:var(--muted);transition:transform .2s ease}.settings-nested-details[open]>summary svg:last-child{transform:rotate(180deg)}.settings-nested-content{padding-top:14px}.settings-nested-content>p:first-child{margin:0 0 15px;color:var(--muted);line-height:1.55}.settings-status-list>div:first-child{border-top:0}.settings-status-list dd{font-weight:650}.settings-info-details{margin-top:10px;border-top:0}.settings-info-details>summary{min-height:42px;padding:7px 0;color:var(--green);font-size:12px}.settings-info-details .settings-note{margin-top:8px!important;line-height:1.55}@media(max-width:1100px){.settings-layout{grid-template-columns:1fr;gap:0}}@media(max-width:800px){.settings-page{padding-bottom:8px}.settings-page .page-heading{margin-bottom:18px}.settings-page .page-heading h1{font-size:34px}.settings-version{min-height:30px;padding:5px 9px;font-size:11px}.settings-account-spotlight{scroll-margin-top:138px}.settings-account-spotlight .google-account-panel{padding:20px;border-radius:21px}.settings-account-spotlight .google-account-onboarding,.settings-account-spotlight .google-account-connected{grid-template-columns:1fr;gap:15px}.settings-account-spotlight .google-account-onboarding .google-sign-in{width:100%}.settings-account-spotlight .google-account-onboarding .cloud-privacy-note{grid-column:auto}.settings-account-spotlight .google-account-sync>.actions{display:grid;grid-template-columns:1fr 1fr}.settings-account-spotlight .google-account-sync>.actions .button{min-width:0;padding-inline:10px}.settings-jump-nav{top:calc(72px + env(safe-area-inset-top));display:flex;gap:4px;overflow-x:auto;margin-inline:-6px;margin-bottom:16px;padding:5px;border-radius:14px;scrollbar-width:none}.settings-jump-nav::-webkit-scrollbar{display:none}.settings-jump-nav button{flex:0 0 auto;min-height:40px;padding-inline:10px}.settings-section.panel{scroll-margin-top:138px;border-radius:16px}.settings-section>summary{min-height:72px;padding:14px 15px}.settings-section-icon{width:40px;height:40px}.settings-section-content{padding:17px}.settings-field-grid,.settings-toggle-grid{grid-template-columns:1fr}.settings-save-bar{bottom:calc(82px + env(safe-area-inset-bottom));margin-inline:0}}@media(max-width:520px){.settings-page .page-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.settings-page .page-heading>div{min-width:0}.settings-page .page-heading p:not(.overline){grid-column:1 / -1}.settings-account-spotlight .google-account-heading{align-items:flex-start}.settings-account-spotlight .google-account-heading h2{font-size:22px}.settings-account-spotlight .google-account-sync>.actions,.settings-data-actions{display:grid;grid-template-columns:1fr}.settings-account-spotlight .google-account-sync>.actions .button,.settings-data-actions .button{width:100%}.settings-section-title small{display:-webkit-box;overflow:hidden;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}.ingredient-preference-row{grid-template-columns:1fr;gap:7px}.settings-save-bar{display:grid;grid-template-columns:1fr;gap:8px;padding:10px;border-radius:15px}.settings-save-state{padding:2px 4px}.settings-save-bar .button{width:100%}}.library-search-toolbar{gap:10px;padding:9px 0 12px;background:color-mix(in srgb,var(--bg) 94%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.library-refine-button{position:relative;min-height:48px;display:inline-flex;align-items:center;gap:9px;padding:5px 9px 5px 7px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--text);box-shadow:0 5px 16px #2235280a;text-align:left;transition:border-color .15s,background .15s,transform .15s}.library-refine-button:hover{border-color:color-mix(in srgb,var(--green) 42%,var(--line));transform:translateY(-1px)}.library-refine-button.active{border-color:color-mix(in srgb,var(--green) 58%,var(--line));background:color-mix(in srgb,var(--soft) 70%,var(--surface))}.library-refine-icon{width:36px;height:36px;display:grid;place-items:center;flex:0 0 auto;border-radius:10px;background:var(--soft);color:var(--green)}.library-refine-button.active .library-refine-icon{background:var(--green);color:#fff}.library-refine-copy{display:grid;min-width:105px;line-height:1.15}.library-refine-copy strong{font-size:12px;font-weight:750;white-space:nowrap}.library-refine-copy small{max-width:115px;overflow:hidden;color:var(--muted);font-size:10px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.library-refine-count{min-width:22px;height:22px;display:grid;place-items:center;flex:0 0 auto;padding-inline:5px;border-radius:999px;background:var(--accent);color:#fff;font-size:11px;font-weight:800}.library-folder-shelf{margin:14px 0 8px;padding:18px;overflow:hidden;border:1px solid color-mix(in srgb,var(--green) 18%,var(--line));border-radius:20px;background:radial-gradient(circle at 95% 0%,color-mix(in srgb,var(--accent-soft) 65%,transparent),transparent 34%),color-mix(in srgb,var(--soft) 45%,var(--surface))}.library-folder-shelf.collapsed{padding-block:12px}.library-folder-header,.library-folder-title,.library-folder-header-actions,.library-folder-selection,.library-folder-selection>div{display:flex;align-items:center}.library-folder-header{justify-content:space-between;gap:16px;margin-bottom:14px}.library-folder-shelf.collapsed .library-folder-header{margin-bottom:0}.library-folder-toggle{min-width:0;display:flex;align-items:center;flex:1 1 auto;gap:12px;padding:2px;border-radius:13px;color:var(--text);text-align:left}.library-folder-toggle:hover .library-folder-title-icon,.library-folder-toggle:focus-visible .library-folder-title-icon{transform:translateY(-1px);box-shadow:0 9px 20px color-mix(in srgb,var(--green) 28%,transparent)}.library-folder-title{gap:11px;min-width:0}.library-folder-title-icon{width:40px;height:40px;display:grid;place-items:center;flex:0 0 auto;border-radius:12px;background:var(--green);color:#fff;box-shadow:0 7px 18px color-mix(in srgb,var(--green) 22%,transparent);transition:transform .15s,box-shadow .15s}.library-folder-title h2{margin:0;font-size:16px;line-height:1.2}.library-folder-title p{margin:3px 0 0;color:var(--muted);font-size:12px}.library-folder-toggle-summary{min-width:0;display:grid;justify-items:end;gap:1px;margin-left:auto;padding-left:10px;line-height:1.25}.library-folder-toggle-summary strong{max-width:190px;overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.library-folder-toggle-summary small{color:var(--muted);font-size:10px}.library-folder-toggle-chevron{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;border:1px solid color-mix(in srgb,var(--green) 24%,var(--line));border-radius:50%;background:color-mix(in srgb,var(--surface) 84%,transparent);color:var(--green)}.library-folder-toggle-chevron svg{transition:transform .2s ease}.library-folder-toggle[aria-expanded=true] .library-folder-toggle-chevron svg{transform:rotate(180deg)}.library-folder-header-actions{gap:8px;flex-shrink:0}.library-new-folder-button,.library-new-recipe-button{min-height:40px;gap:7px;padding:9px 13px;border-radius:12px;font-size:12px;white-space:nowrap}.library-new-recipe-button{box-shadow:0 7px 16px color-mix(in srgb,var(--green) 18%,transparent)}.library-new-folder-button{border-color:color-mix(in srgb,var(--green) 30%,var(--line));color:var(--green)}.library-folder-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(178px,220px);gap:10px;overflow-x:auto;overscroll-behavior-inline:contain;padding:2px 2px 8px;scroll-padding-inline:2px;scroll-snap-type:inline proximity;scrollbar-width:thin}.library-folder-card{position:relative;min-width:0;min-height:76px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:15px;background:var(--surface);color:var(--text);box-shadow:0 5px 15px #22352808;text-align:left;scroll-snap-align:start;transition:border-color .15s,box-shadow .15s,transform .15s}.library-folder-card:hover{border-color:color-mix(in srgb,var(--green) 42%,var(--line));box-shadow:0 8px 20px #22352812;transform:translateY(-1px)}.library-folder-card.active{border-color:color-mix(in srgb,var(--green) 68%,var(--line));background:color-mix(in srgb,var(--soft) 72%,var(--surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--green) 16%,transparent)}.library-folder-card-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:var(--soft);color:var(--green)}.library-folder-card.active .library-folder-card-icon{background:var(--green);color:#fff}.library-folder-card-copy{min-width:0;display:grid;gap:4px}.library-folder-card-copy strong{overflow:hidden;font-size:13px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.library-folder-card-copy small{color:var(--muted);font-size:11px}.library-folder-card-check{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--green);color:#fff}.library-folder-selection{justify-content:space-between;gap:12px;margin:8px 2px 0;padding-top:10px;border-top:1px solid color-mix(in srgb,var(--line) 75%,transparent);color:var(--muted);font-size:12px}.library-folder-selection strong{color:var(--text)}.library-folder-selection>div{gap:14px}.library-folder-selection .text-button{min-height:36px;font-size:12px}.danger-text{color:var(--danger)}.library-filter-sheet .modal-head{margin-bottom:12px}.library-filter-section{padding:18px 0;border-top:1px solid var(--line)}.library-filter-section:first-of-type{border-top:0;padding-top:8px}.library-filter-section.compact{display:grid;grid-template-columns:minmax(145px,.28fr) minmax(0,1fr);gap:20px}.library-filter-section-heading{display:flex;align-items:center;gap:10px;margin-bottom:13px}.library-filter-section-icon{width:36px;height:36px;display:grid;place-items:center;flex:0 0 auto;border-radius:10px;background:var(--soft);color:var(--green)}.library-filter-section h3,.library-filter-copy h3{margin:0;font-size:15px}.library-filter-section-heading p,.library-filter-copy p{margin:3px 0 0;color:var(--muted);font-size:11px}.library-sort-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.library-sort-option{min-height:66px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);text-align:left}.library-sort-option:hover{border-color:color-mix(in srgb,var(--green) 38%,var(--line))}.library-sort-option.active{border-color:color-mix(in srgb,var(--green) 65%,var(--line));background:var(--soft)}.library-sort-option>span:first-child{min-width:0;display:grid;gap:3px}.library-sort-option strong{font-size:12px;line-height:1.2}.library-sort-option small{color:var(--muted);font-size:10px;line-height:1.25}.library-sort-option-check{width:22px;height:22px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%}.library-sort-option.active .library-sort-option-check{border-color:var(--green);background:var(--green);color:#fff}.library-filter-sheet .filter-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.library-extra-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.library-extra-filters .check-label{min-height:44px;padding:9px 11px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}.recipe-folders-intro{display:flex;align-items:center;gap:11px;padding:13px;border:1px solid color-mix(in srgb,var(--green) 18%,var(--line));border-radius:13px;background:color-mix(in srgb,var(--soft) 58%,var(--surface))}.recipe-folders-intro-icon{width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;border-radius:11px;background:var(--green);color:#fff}.recipe-folders-intro strong{font-size:13px}.recipe-folders-intro p{margin:3px 0 0;color:var(--muted);font-size:11px}.recipe-folder-list{display:grid;gap:8px;max-height:min(340px,42dvh);overflow-y:auto;margin:12px 0;padding:1px 3px 2px 1px}.recipe-folder-option{width:100%;min-height:62px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 11px;border:1px solid var(--line);border-radius:13px;background:var(--surface);color:var(--text);text-align:left}.recipe-folder-option:hover{border-color:color-mix(in srgb,var(--green) 42%,var(--line))}.recipe-folder-option.selected{border-color:color-mix(in srgb,var(--green) 65%,var(--line));background:var(--soft)}.recipe-folder-option-icon,.recipe-folder-option-state{display:grid;place-items:center;flex:0 0 auto}.recipe-folder-option-icon{width:38px;height:38px;border-radius:10px;background:var(--soft);color:var(--green)}.recipe-folder-option.selected .recipe-folder-option-icon{background:var(--green);color:#fff}.recipe-folder-option-copy{min-width:0;display:grid;gap:3px}.recipe-folder-option-copy strong{overflow-wrap:anywhere;font-size:13px}.recipe-folder-option-copy small{color:var(--muted);font-size:11px}.recipe-folder-option-state{width:28px;height:28px;border:1px solid var(--line);border-radius:50%;color:var(--muted)}.recipe-folder-option.selected .recipe-folder-option-state{border-color:var(--green);background:var(--green);color:#fff}.recipe-folders-empty{display:grid;justify-items:center;gap:5px;padding:24px 16px;border:1px dashed color-mix(in srgb,var(--green) 30%,var(--line));border-radius:13px;color:var(--muted);text-align:center}.recipe-folders-empty strong{color:var(--text);font-size:13px}.recipe-folders-empty p{max-width:310px;margin:0;font-size:11px}.folder-create-form{gap:9px;margin-top:12px;padding:13px;border-radius:13px;background:color-mix(in srgb,var(--soft) 58%,var(--surface))}.folder-create-heading{display:flex;align-items:center;gap:7px;color:var(--green);font-size:12px}.folder-create-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:9px}.folder-create-row .field{min-width:0}.folder-create-row .button{min-height:44px;padding-inline:14px}@media(max-width:900px){.library-sort-options,.library-filter-sheet .filter-grid,.library-extra-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.library-folder-header{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.library-folder-toggle{width:100%}.library-folder-header-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:8px;padding-top:10px;border-top:1px solid color-mix(in srgb,var(--line) 72%,transparent)}.library-folder-header-actions>:only-child{grid-column:1 / -1}.library-new-recipe-button,.library-new-folder-button{width:100%;min-height:44px;padding:10px 12px;overflow:visible;gap:7px;font-size:12px;font-weight:700}.library-new-recipe-button svg,.library-new-folder-button svg{flex:0 0 auto}.library-folder-shelf.initializing{padding-block:12px}.library-folder-shelf.initializing .library-folder-header{margin-bottom:0}.library-folder-shelf.initializing .library-folder-header-actions,.library-folder-shelf.initializing .library-folder-content{display:none}}@media(max-width:800px){.library-search-toolbar{margin-inline:-2px;padding-inline:2px}.library-refine-copy{min-width:0}.library-refine-copy small{display:none}.library-folder-shelf{margin-inline:-4px;padding:15px 14px 12px;border-radius:17px}.library-folder-title p,.library-folder-shelf.expanded .library-folder-toggle-summary{display:none}.library-folder-strip{grid-auto-columns:minmax(164px,72vw);margin-inline:-14px;padding-inline:14px;scroll-padding-inline:14px;scrollbar-width:none}.library-folder-strip::-webkit-scrollbar{display:none}.library-folder-selection{align-items:flex-start}.library-folder-selection>span{padding-top:9px}.library-filter-section.compact{grid-template-columns:1fr;gap:11px}}@media(max-width:580px){.library-search-toolbar .search-field{min-width:0}.library-refine-button{min-width:48px;padding:5px}.library-refine-copy{display:none}.library-refine-count{position:absolute;align-self:flex-start;margin:-7px 0 0 34px;min-width:19px;height:19px;font-size:10px;box-shadow:0 0 0 2px var(--bg)}.library-folder-title-icon{width:36px;height:36px}.library-folder-title h2{font-size:15px}.library-folder-selection{display:grid;grid-template-columns:1fr;gap:3px}.library-folder-selection>span{padding-top:0}.library-folder-selection>div{justify-content:flex-start}.library-sort-options,.library-filter-sheet .filter-grid,.library-extra-filters{grid-template-columns:1fr}.library-sort-options{gap:7px}.library-sort-option{min-height:58px}.folder-create-row{grid-template-columns:1fr}.folder-create-row .button{width:100%}}:root{--bg: #f8f6f1;--soft: #eef1e8;--line: #e4e5dc;--text: #253a30;--green: #294e3d;--accent: #a74c31;--radius-sm: 12px;--radius-md: 16px;--radius-lg: 24px;--shadow: 0 8px 30px #263b2e08}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}html{scroll-padding-top:100px}button,a,input,select,textarea{touch-action:manipulation}button:active:not(:disabled){transform:scale(.98)}button,a{transition:background-color .18s,box-shadow .18s,transform .18s}.topbar{background:var(--bg)}.mobile-brand{display:none}.sidebar{padding-top:max(32px,env(safe-area-inset-top));overflow-y:auto}.nav-item{border-radius:14px;min-height:48px}.nav-item.active{background:var(--green);color:#fff}.nav-count{background:#ffffff25}.brand-caption{font-size:10px;line-height:1.8}.global-search{border:1px solid var(--line);background:var(--surface);border-radius:30px;padding:10px 16px}.global-search input{outline:none;font-size:14px}.global-search:focus-within{box-shadow:0 0 0 3px var(--accent-soft);border-color:var(--accent)}.button{border-radius:14px;min-height:48px}.button.small{min-height:44px}.page-heading{margin-bottom:28px}.page-heading .overline{font-size:10px;letter-spacing:2px}h1{font-size:clamp(32px,3.7vw,48px);letter-spacing:-1.7px}.inspiration-banner{border-radius:26px;background:var(--soft)}.banner-copy{padding:36px;align-self:center}.banner-copy h2{font-size:clamp(28px,3.3vw,42px);max-width:310px}.banner-copy p{font-size:14px}.banner-image img{object-position:center}.image-caption{border:0;border-radius:14px;padding:12px 16px}.generator-entry{border-radius:18px;background:transparent}.quick-filters button,.chip{border-radius:24px;min-height:44px}.recipe-card{border-radius:20px;box-shadow:var(--shadow);overflow:hidden}.card-photo{aspect-ratio:4 / 3}.card-body{padding:17px}.card-title{font-weight:650;line-height:1.45;letter-spacing:-.25px}.card-meta{flex-wrap:wrap}.favorite{width:44px;height:44px;top:10px;right:10px;background:#ffffffed;color:#294e3d;border:1px solid #ffffff70;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 2px 10px #18231b13}.favorite.selected{color:var(--accent);background:#fff4eb}.section-heading h2{font-size:24px;letter-spacing:-.7px}.section-heading .text-button{min-height:44px}.panel,.week-teaser,.pantry-teaser,.day-card{border-radius:20px;box-shadow:var(--shadow)}.toolbar{gap:12px}.search-field{min-height:48px;border-radius:14px}input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px}.icon-button{min-width:44px;min-height:44px}.overlay{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#13231bb3}.modal{border-radius:24px;box-shadow:0 24px 100px #0f201d30;overscroll-behavior:contain}.modal-head{gap:16px}.modal-head h2{line-height:1.3}.detail-hero{border-radius:18px}.detail-hero.recipe-example>img{height:auto;object-fit:contain}.detail-intro h1{font-size:clamp(28px,3vw,38px)}.more-destinations .nav-item{color:var(--text);padding:16px;border:1px solid var(--line)}.more-destinations .nav-item.active{color:#fff}.install-panel p{margin:12px 0}.install-panel .actions{margin-top:16px}[data-theme=dark]{--bg: #17231d;--surface: #213027;--soft: #2b3b30;--line: #3b4d3f;--text: #f0f1e7;--muted: #b6c3b6;--green: #42694f;--accent: #f1b08d;--accent-soft: #45362b}[data-theme=dark] .inspiration-banner{background:var(--soft)}@media(min-width:801px)and (max-width:1150px){:root{--sidebar-width: 186px}.sidebar{width:var(--sidebar-width);padding-inline:12px}.brand{font-size:29px}.brand-caption{margin-bottom:24px;letter-spacing:1px}.nav-item{padding:12px 10px;gap:9px;font-size:13px}.private-note,.profile{display:none}main{padding:28px 24px 40px}.topbar{padding-inline:24px}.breadcrumb{display:none}.top-actions{width:100%;justify-content:space-between;gap:12px}.global-search{display:flex;flex:1;min-width:0}.global-search input{width:100%;min-width:0}.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.banner-copy{padding:26px}.banner-copy .pill{font-size:10px;letter-spacing:.8px}.banner-copy h2{font-size:32px}.banner-image .image-caption{left:12px;right:12px;bottom:12px}.modal.wide{width:min(92vw,960px)}}@media(max-width:800px){.topbar{height:auto;min-height:calc(72px + env(safe-area-inset-top));padding:calc(12px + env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) 12px max(20px,env(safe-area-inset-left));position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 93%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.mobile-brand{display:block;padding:0;font:700 29px/1.1 Georgia,serif;letter-spacing:-1.5px;white-space:nowrap}.mobile-brand span{color:var(--accent)}.breadcrumb{display:none}.top-actions{width:auto;gap:8px}.top-actions .global-search{display:none}.top-actions .button{width:44px;height:44px;padding:0;border-radius:50%}.top-actions .button span{display:none}.top-actions .button svg{width:22px;height:22px}main{padding:28px max(24px,env(safe-area-inset-right)) calc(110px + env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left))}.bottom-nav{padding:8px max(8px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));box-shadow:0 -4px 28px #20332909;background:color-mix(in srgb,var(--surface) 96%,transparent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);gap:3px}.bottom-nav button{flex:1;min-width:0;min-height:54px;font-size:10px;gap:5px;border-radius:16px;padding:7px 2px}.bottom-nav button.active{background:var(--soft);color:var(--text);border-radius:16px}.bottom-nav button.active svg{stroke-width:2.5px}.page-heading{align-items:flex-start}.date-label{display:none}.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.more-destinations{padding-top:12px}.toast{bottom:calc(92px + env(safe-area-inset-bottom));border-radius:16px}.modal{max-height:calc(100dvh - env(safe-area-inset-top) - 24px)}}@media(max-width:580px){main{padding-inline:max(18px,env(safe-area-inset-left)) max(18px,env(safe-area-inset-right));padding-top:24px}h1{font-size:35px;line-height:1.15}.page-heading{margin-bottom:24px}.page-heading p:not(.overline){font-size:14px;line-height:1.6;margin-top:10px}.inspiration-banner{border-radius:22px}.banner-image{height:auto;aspect-ratio:16 / 10}.banner-copy{padding:24px}.banner-copy .pill{font-size:9px;letter-spacing:1.15px}.banner-copy h2{font-size:31px;margin:12px 0 10px;max-width:none}.banner-copy p{font-size:14px}.banner-copy .button{width:100%;margin-top:18px;min-height:48px;font-size:14px}.banner-footnote{text-align:center;font-size:11px}.generator-entry{padding:18px 0;gap:14px;border-width:0 0 1px;border-radius:0}.generator-entry h2{font-size:18px}.generator-entry p{font-size:13px}.quick-filters{margin-block:20px 26px}.quick-filters button{font-size:13px}.section{margin:30px 0}.recipe-grid{gap:14px 12px}.recipe-card{border-radius:16px}.card-body{padding:12px}.card-title{font-size:14px;min-height:0;margin-block:7px 12px}.card-body .eyebrow{font-size:10px}.card-meta{font-size:11px;gap:7px}.favorite{width:44px;height:44px;top:5px;right:5px}.section-heading h2{font-size:23px}.section-heading p{font-size:13px}.section-heading .text-button{font-size:12px}.modal,.modal.wide{width:100%;left:0;top:env(safe-area-inset-top);transform:none;height:calc(100dvh - env(safe-area-inset-top));max-height:none;border-radius:0;padding:20px 18px max(24px,env(safe-area-inset-bottom))}.modal.bottom-sheet{top:auto;height:auto;max-height:calc(92dvh - env(safe-area-inset-top));border-radius:26px 26px 0 0}.modal-head{padding-top:8px}.detail-intro{padding-inline:0}.detail-intro .actions .button{flex:1 1 130px}.detail-columns{gap:28px}.toolbar>.button,.toolbar>select{flex:1}.panel{padding:20px}.form-save{padding-bottom:max(12px,env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){button,a{transition:none}button:active:not(:disabled){transform:none}}@media(max-width:800px){.library-heading>.button{display:none}.generator-library-entry{margin:-8px 0 16px;border:0;background:transparent;padding:0;color:var(--accent);min-height:44px}}.brand-lockup{display:inline-flex;align-items:center;gap:11px;color:var(--text);vertical-align:middle}.brand .brand-lockup,.mobile-brand .brand-lockup{margin:0;padding:0;color:var(--text)}.brand-symbol{display:block;width:38px;height:42px;flex-shrink:0}.brand .brand-wordmark,.mobile-brand .brand-wordmark,.brand-wordmark{font-family:Georgia,Times New Roman,serif;font-size:46px;font-weight:400;line-height:1;letter-spacing:-2.7px;color:inherit;margin:0}.brand-caption{margin-top:15px;font-size:9px;letter-spacing:1.55px}.brand-lockup.compact{gap:7px}.brand-lockup.compact .brand-symbol{width:25px;height:29px}.brand-lockup.compact .brand-wordmark{font-size:32px;letter-spacing:-1.8px}@media(max-width:1150px){.brand .brand-wordmark{font-size:40px}.brand .brand-symbol{width:31px;height:36px}}@media(max-width:800px){.mobile-brand .brand-wordmark{font-size:36px;letter-spacing:-2px}.mobile-brand .brand-symbol{width:30px;height:36px}.mobile-brand .brand-lockup{gap:8px}}.recipe-detail.modal{background:var(--surface);padding:28px 32px 36px}.recipe-detail>.modal-head{position:absolute;z-index:5;top:44px;right:48px;width:auto;margin:0;padding:0;background:transparent}.recipe-detail>.modal-head h2{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.recipe-detail>.modal-head .icon-button{position:relative;isolation:isolate;flex-shrink:0;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:0;border-radius:0;background:transparent;color:#fff;box-shadow:none;appearance:none;-webkit-appearance:none;transition:transform .14s ease}.recipe-detail>.modal-head .icon-button:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;border:1px solid color-mix(in srgb,white 32%,transparent);border-radius:50%;background:color-mix(in srgb,var(--green) 88%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 6px 20px color-mix(in srgb,#07140f 26%,transparent);transition:background-color .14s ease,box-shadow .14s ease}.recipe-detail>.modal-head .icon-button:hover{background:transparent;transform:scale(1.04)}.recipe-detail>.modal-head .icon-button:hover:before{background:var(--green);box-shadow:0 8px 24px color-mix(in srgb,#07140f 32%,transparent)}.recipe-detail>.modal-head .icon-button:active{transform:scale(.96)}.recipe-detail>.modal-head .icon-button svg{position:relative;z-index:1;width:21px;height:21px;stroke-width:2.4}.detail-overview{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:stretch}.recipe-detail .detail-hero,.recipe-detail .detail-hero.recipe-example{height:340px;margin:0;border-radius:18px;background:var(--soft)}.recipe-detail .detail-hero>img,.recipe-detail .detail-hero.recipe-example>img{width:100%;height:100%;object-fit:cover}.recipe-detail .detail-hero .recipe-placeholder{height:100%}.detail-editorial-intro{display:flex;flex-direction:column;justify-content:center;min-width:0}.detail-eyebrow{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:1.3px;text-transform:uppercase}.detail-eyebrow span{padding:0 5px}.detail-title{margin:8px 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(30px,3.3vw,42px);font-weight:500;line-height:1.08;letter-spacing:-1.1px}.detail-description{font-size:16px;line-height:1.65;margin:12px 0 14px;color:var(--text)}.variant-selector{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;margin:12px 0 6px;padding:9px 10px;border:1px solid var(--line);border-radius:11px;background:var(--bg);font-size:12px}.variant-selector select{padding:8px 10px;font-weight:650;background:var(--surface)}.variant-selector .text-button{white-space:nowrap}.variant-warning{margin:8px 0 0;padding:9px 11px;border-left:3px solid var(--warning, #b77716);background:var(--soft);border-radius:4px 9px 9px 4px;font-size:12px}.detail-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;font-size:13px;color:var(--muted)}.detail-meta>span,.detail-rating{display:inline-flex;align-items:center;gap:6px}.detail-meta>span:first-child{color:var(--text);font-weight:600}.detail-rating{min-height:44px;padding:0;font-size:13px;color:var(--muted)}.detail-score{color:var(--text)}.detail-primary-actions{display:grid;grid-template-columns:minmax(170px,auto) minmax(180px,1fr);align-items:stretch;gap:10px;margin-top:16px}.detail-primary-portions{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;padding-left:12px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}.detail-primary-portions>span{color:var(--muted);font-size:11px}.detail-primary-portions .portions{justify-self:end;border:0;background:transparent}.detail-primary-portions .portions span{min-width:72px;white-space:nowrap}.detail-primary-start{min-height:50px;justify-content:center}.detail-save-actions{display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin-top:8px}.detail-tool{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:8px;font-size:12px;border-radius:8px}.detail-tool[aria-pressed=true]{background:var(--soft);color:var(--text)}.detail-tool:hover,.detail-more:hover{background:var(--soft)}.detail-more{margin-left:auto}.detail-management-shortcuts{display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px;margin-top:2px}.detail-management-link{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:7px 8px;border-radius:8px;font-size:12px;font-weight:600}.detail-management-link:hover{background:var(--soft)}.detail-recipe-nav{position:sticky;top:0;z-index:3;display:flex;align-items:center;gap:8px;background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:26px 0;padding:8px 0}.detail-section-tabs{display:flex;align-items:center;gap:4px}.detail-section-tabs>button{min-height:44px;padding:10px 16px;font-size:14px;border-radius:9px}.detail-section-tabs>button{position:relative;color:var(--muted)}.detail-section-tabs>button:hover{background:var(--soft)}.detail-section-tabs>button.active{color:var(--text);font-weight:700}.detail-section-tabs>button.active:after{content:"";position:absolute;right:12px;bottom:-9px;left:12px;height:3px;border-radius:3px 3px 0 0;background:var(--green)}.recipe-detail .detail-columns{grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);align-items:start;gap:32px;margin:0}.recipe-detail .detail-columns>section{min-width:0;scroll-margin-top:82px}.recipe-detail .detail-columns .section-heading{margin:0 0 18px;gap:8px;align-items:baseline}.recipe-detail .detail-columns h2{font:500 27px/1.2 Georgia,serif;letter-spacing:-.5px;margin:0}.detail-section-count{font-size:12px;color:var(--muted)}.detail-ingredients{padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--bg)}.detail-portions{display:flex;flex-direction:column;gap:8px;align-items:flex-start;margin-bottom:14px}.detail-portions>span{font-size:12px;color:var(--muted)}.detail-portions .portions{background:var(--surface);border:1px solid var(--line);border-radius:10px}.detail-section-hint{color:var(--muted);font-size:12px;margin:0 0 4px}.recipe-detail .ingredient-line{padding:13px 0;gap:12px;align-items:flex-start;font-size:14px;line-height:1.5;cursor:default;justify-content:space-between}.recipe-detail .ingredient-check-label{display:flex;align-items:flex-start;gap:12px;min-width:0;width:100%;cursor:pointer}.recipe-detail .ingredient-check-label input{margin-top:2px;flex-shrink:0}.recipe-detail .ingredient-check-label>span{display:grid;grid-template-columns:minmax(68px,auto) minmax(0,1fr);column-gap:8px;min-width:0}.recipe-detail .ingredient-line strong{display:inline;margin:0}.recipe-detail .ingredient-line small{display:block;grid-column:2;font-size:12px;line-height:1.5;margin-top:2px}.recipe-detail .ingredient-missing{flex:0 0 auto;font-size:11px;white-space:nowrap}.ingredient-substitutions-trigger{margin:10px 0 14px}.substitution-ingredient-list{display:grid;gap:8px;margin:18px 0}.substitution-ingredient{border:1px solid var(--line);border-radius:12px;background:var(--bg)}.substitution-ingredient>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:10px 14px;cursor:pointer;list-style:none}.substitution-ingredient>summary::-webkit-details-marker{display:none}.substitution-ingredient>summary>span:first-child{display:grid;gap:2px}.substitution-ingredient>summary small,.substitution-ingredient>summary>span:last-child{color:var(--muted);font-size:11px}.substitution-ingredient .session-substitutions,.substitution-ingredient>p{margin:0;padding:0 14px 14px}.substitution-unavailable-summary{margin:-6px 0 18px;font-size:12px}.detail-ingredients>.check-label{font-size:12px}.detail-ingredients>.panel{box-shadow:none;border:0;border-top:1px solid var(--line);border-radius:0;padding:16px 0 0;margin:20px 0 0;background:transparent;font-size:12px}.recipe-detail .step{padding:0 0 24px;margin:0 0 22px;gap:14px;border-bottom:1px solid var(--line)}.recipe-detail .step>div{min-width:0}.recipe-detail .step-number{width:32px;height:32px;background:var(--soft);color:var(--text);border:1px solid var(--line);font-size:13px}.recipe-detail .step h3{font-size:16px;margin:4px 0 8px;line-height:1.4}.recipe-detail .step p{font-size:15px;line-height:1.75;margin:0 0 10px}.recipe-detail .step .chip{font-size:11px;min-height:28px;padding:4px 8px;margin:2px 6px 0 0}.detail-step-time{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:4px 0;color:var(--green);font-size:12px;font-weight:700}.detail-info-panel{scroll-margin-top:128px}.detail-extra-info{border-top:1px solid var(--line);margin-top:28px}.recipe-detail .detail-extra-info>details{margin:0;border-bottom:1px solid var(--line);padding:0}.recipe-detail .detail-extra-info>details>summary{padding:20px 0;font-size:14px;font-weight:650;cursor:pointer}.recipe-detail .detail-extra-info>details[open]>summary{color:var(--green)}.recipe-detail .detail-nutrition .nutrition-panel{margin:0 0 20px;border:0;box-shadow:none;background:var(--bg)}.recipe-detail .detail-extra-info .tag-list{padding-bottom:20px}.recipe-detail .history-summary{box-shadow:none;background:var(--bg);border:1px solid var(--line);margin-top:24px;padding:20px}.detail-manage-actions{display:grid;gap:12px;margin:20px 0}.variant-list{display:grid;gap:10px;margin-top:20px}.variant-list-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}.variant-list-row>div:first-child{display:grid;gap:3px;min-width:120px}.variant-list-row small,.variant-reference small,.variant-original-copy{display:block;color:var(--muted);font-size:11px;line-height:1.45}.variant-row-actions{display:flex;align-items:center;gap:3px;flex-wrap:wrap;justify-content:flex-end}.variant-editor-section{margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}.variant-editor-section h3{margin:0 0 12px}.variant-edit-rows,.variant-step-rows{display:grid;gap:10px}.variant-edit-row{display:grid;grid-template-columns:minmax(150px,1.2fr) 90px 90px minmax(150px,1fr) minmax(140px,1fr) auto auto;align-items:center;gap:8px;padding:11px;border:1px solid var(--line);border-radius:11px;background:var(--bg)}.variant-edit-row input,.variant-edit-row select{padding:8px 9px;font-size:12px}.compact-check{white-space:nowrap;font-size:11px}.variant-add-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:10px}.variant-step-row{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;padding:15px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}.variant-step-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.variant-step-row .field{margin-bottom:10px}.nutrition-preview{padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}.danger-text{color:var(--danger, #a3372c)}.variant-debug{margin-top:10px;font-size:11px}.variant-debug pre{max-height:280px;overflow:auto;padding:10px;border-radius:10px;background:var(--soft);white-space:pre-wrap}.revision-snapshot{margin:10px 0}.variant-diff{display:grid;margin-top:8px;border:1px solid var(--line);border-radius:12px;overflow:hidden}.variant-diff-head,.variant-diff-row{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(150px,1fr) minmax(150px,1fr);gap:0}.variant-diff-head>*,.variant-diff-row>*{padding:12px;border-right:1px solid var(--line)}.variant-diff-head>*:last-child,.variant-diff-row>*:last-child{border-right:0}.variant-diff-head{background:var(--soft);font-size:12px}.variant-diff-row{border-top:1px solid var(--line);font-size:13px;line-height:1.5}.variant-diff-row.added .diff-kind,.variant-diff-row.modified .diff-kind{color:var(--green);font-weight:800}.variant-diff-row.removed{color:var(--muted)}.revision-list .panel{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 12px;padding:14px;margin-bottom:10px}.revision-list .panel p,.revision-list .panel small{grid-column:1;margin:0}.revision-list .panel .button{grid-column:2;grid-row:1 / span 3}.recipe-source-images>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;padding-bottom:20px}.recipe-source-images img{width:100%;max-height:520px;object-fit:contain;border:1px solid var(--line);border-radius:12px;background:var(--bg)}@media(max-width:800px){.recipe-detail.modal{padding:20px 20px max(28px,env(safe-area-inset-bottom))}.recipe-detail>.modal-head{top:30px;right:max(30px,calc(env(safe-area-inset-right) + 14px))}.detail-overview{grid-template-columns:1fr;gap:18px}.recipe-detail .detail-hero,.recipe-detail .detail-hero.recipe-example{height:210px}.detail-title{margin-top:7px;font-size:30px}.detail-description{font-size:15px;margin:8px 0}.detail-meta{gap:6px 14px;font-size:12px}.detail-primary-actions{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);margin-top:14px}.detail-primary-portions{grid-template-columns:1fr;gap:0;padding:5px 6px}.detail-primary-portions>span{display:none}.detail-primary-portions .portions{justify-self:stretch;justify-content:space-between}.detail-save-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 44px;gap:3px;margin-top:7px}.detail-tool{padding:7px;gap:5px}.detail-recipe-nav{margin:18px 0 22px;gap:2px}.detail-section-tabs{flex:1;min-width:0}.detail-section-tabs>button{flex:1;padding-inline:9px;font-size:13px}.recipe-detail .detail-columns{grid-template-columns:1fr;gap:32px}.detail-ingredients{padding:18px}.detail-panel.is-mobile-hidden,.detail-portions{display:none}.recipe-detail .step p{font-size:15px}.variant-edit-row{grid-template-columns:1fr 80px 80px}.variant-edit-row .variant-reference,.variant-edit-row select,.variant-edit-row input:nth-of-type(3){grid-column:1 / -1}.variant-edit-row .danger-text{grid-column:1 / -1;justify-self:start}.variant-diff{overflow-x:auto}.variant-diff-head,.variant-diff-row{min-width:580px}}@media(max-width:580px){.detail-primary-actions{grid-template-columns:1fr;gap:8px}.detail-primary-portions{grid-template-columns:auto minmax(0,1fr);gap:12px;min-height:52px;padding:4px 5px 4px 14px}.detail-primary-portions>span{display:block;font-size:12px;font-weight:650;color:var(--text)}.detail-primary-portions .portions{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;width:100%;min-width:0;gap:2px}.detail-primary-portions .portions .icon-button{width:44px;min-width:44px;height:44px;min-height:44px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.detail-primary-portions .portions .icon-button:not(:disabled):active{background:var(--soft)}.detail-primary-portions .portions span{min-width:0;padding-inline:4px;font-weight:700}.detail-primary-start{width:100%;min-height:52px}}@media(min-width:581px)and (max-width:800px){.recipe-detail .detail-hero,.recipe-detail .detail-hero.recipe-example{height:300px}.detail-save-actions{justify-content:flex-start;gap:12px}}.recipe-detail .detail-recipe-nav{top:-28px;margin-inline:-32px;padding-inline:32px}@media(max-width:800px){.recipe-detail .detail-recipe-nav{top:-20px;margin-inline:-20px;padding-inline:14px}.detail-section-tabs>button{padding-inline:7px}}@media print{body *{visibility:hidden!important}.recipe-detail,.recipe-detail *{visibility:visible!important}.recipe-detail.modal{position:absolute;inset:0;transform:none;width:100%;max-height:none;overflow:visible;box-shadow:none}.recipe-detail>.modal-head .icon-button,.detail-save-actions,.detail-management-shortcuts,.detail-recipe-nav,.detail-ingredients>.button,.detail-ingredients>.check-label,.ingredient-line input,.detail-preparation>.button,.overlay>.modal:not(.recipe-detail){display:none!important}.recipe-detail .detail-panel.is-mobile-hidden{display:block!important}.recipe-detail .detail-columns{grid-template-columns:1fr 1.25fr}.recipe-detail .detail-hero{height:220px}}.detail-overview>*{min-width:0}@media(max-width:800px){.detail-overview{grid-template-columns:minmax(0,1fr)}}@media(max-width:360px){.detail-save-actions{grid-template-columns:repeat(3,minmax(0,1fr)) 36px}.detail-tool{flex-direction:column;font-size:11px;padding:6px 2px}.detail-more{min-width:36px;margin:0}.variant-selector{grid-template-columns:1fr auto}.variant-selector>span{grid-column:1 / -1}.variant-list-row{align-items:flex-start;flex-direction:column}.variant-row-actions{width:100%;justify-content:flex-start}.variant-step-fields,.variant-add-row{grid-template-columns:1fr}}.home-heading{margin-bottom:18px}.home-search{display:flex;align-items:center;gap:12px;width:100%;min-height:52px;padding:12px 16px;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--muted);text-align:left;font-size:14px}.home-search span{flex:1;min-width:0}.home-search>svg{flex-shrink:0;color:var(--accent)}.home-overview>.section{margin-block:24px}.home-overview .section-heading{margin-bottom:14px}.home-overview .section-heading .text-button{min-height:44px;flex-shrink:0}.home-tools{border:1px solid var(--line);border-radius:18px;background:var(--surface)}.home-tools>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:68px;padding:14px 18px;cursor:pointer;list-style:none}.home-tools>summary::-webkit-details-marker{display:none}.home-tools>summary span,.home-inspiration-actions button span{display:grid;gap:5px;min-width:0}.home-tools strong{font-size:14px;line-height:1.35}.home-tools small{font-size:12px;line-height:1.4;color:var(--muted)}.home-tools>summary>svg{flex-shrink:0;color:var(--muted)}.home-tools[open]>summary>svg{transform:rotate(180deg)}.home-tools-content{border-top:1px solid var(--line);padding:16px}.home-inspiration-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.home-inspiration-actions button{display:flex;align-items:center;gap:12px;min-height:76px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--soft);text-align:left;color:var(--text)}.home-inspiration-actions button>svg{flex-shrink:0;color:var(--accent)}.home-inspiration-actions button>svg:last-child{margin-left:auto}.home-tools .quick-filters{margin-block:16px}.home-tools .quick-filters button{min-height:44px}.home-tools .home-bottom{margin-block:16px 0}.home-tools .week-teaser,.home-tools .pantry-teaser{padding:18px}.home-tools .overline{display:none}.home-tools .home-bottom h2{font-size:20px}.home-tools .pantry-insights{margin-top:16px}.home-backup-link{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 0;color:var(--muted);font-size:12px;text-align:left}.home-backup-link>svg{flex-shrink:0}.home-overview .cooking-resume{margin-block:16px 0;padding:16px;gap:12px}.home-overview .cooking-resume h2{font-size:20px}.home-overview .cooking-resume .overline{font-size:10px}.library-heading{margin-bottom:16px}.library-folder-shelf{padding:14px 16px}.library-folder-header{gap:12px}.library-folder-toggle-summary{min-width:0}.library-folder-toggle-summary strong,.library-folder-card-copy strong{white-space:normal;overflow:visible;text-overflow:clip}.library-folder-toggle-summary small{border-radius:20px;padding:2px 8px;background:var(--soft)}.library-filter-advanced{border-top:1px solid var(--border, #e1e6dc);margin-top:14px}.library-filter-advanced>summary{display:flex;align-items:center;gap:10px;padding:18px 0;font-weight:650;cursor:pointer;list-style:none}.library-filter-advanced>summary::-webkit-details-marker{display:none}.library-filter-advanced>summary span{margin-left:auto;font-size:12px;font-weight:400;color:var(--muted, #70766e)}.library-filter-advanced[open]>summary svg{transform:rotate(180deg)}.card-body{position:relative}.card-body .eyebrow{padding-right:32px}.card-options.icon-button{position:absolute;top:4px;right:4px;width:44px;height:44px;border-radius:50%;background:transparent;color:var(--muted, #70766e)}.card-title{padding-right:20px}.card-meta{flex-wrap:wrap;gap:6px 8px}.recipe-options-list{display:grid;gap:12px;margin-top:20px}.recipe-options-list .button{justify-content:flex-start;min-height:48px}.detail-batch-note{margin:14px 0 0;padding:12px 14px;border-radius:12px;background:var(--soft);font-size:13px;line-height:1.6;color:var(--muted)}.backup-reminder{padding:10px 14px;gap:10px;align-items:center}.backup-reminder strong{font-size:13px}.backup-reminder .text-button{min-height:44px;white-space:nowrap}@media(max-width:900px){.library-folder-shelf{padding:12px}.library-folder-header{flex-wrap:wrap}.library-folder-toggle{flex:1}.library-folder-toggle-summary strong{font-size:13px}.library-folder-strip{display:grid;grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;overflow:visible;margin-inline:0;padding-inline:0}.library-folder-title-icon{width:32px;height:32px;box-shadow:none}.library-folder-card-icon{width:28px;height:28px}.library-folder-card{padding:10px;gap:7px}.library-folder-card{min-width:0;max-width:none;min-height:64px}.library-folder-card-copy strong{line-height:1.35}.library-filter-advanced>summary span{display:none}.backup-reminder{margin-bottom:18px}.backup-reminder>div{flex:1}.backup-reminder>svg{width:18px;flex-shrink:0}.backup-reminder .text-button{font-size:12px}.page-heading h1{font-size:clamp(28px,5vw,38px);line-height:1.15}.page-heading>div>p:last-child{font-size:14px}.inspiration-banner{min-height:0}.inspiration-banner .banner-copy{padding:22px}.inspiration-banner h2{font-size:26px}.inspiration-banner p{font-size:14px;margin-bottom:16px}.recipe-editor-modal .recipe-editor-header-save{min-width:104px;width:auto;padding:0 14px;gap:7px}.recipe-editor-modal .recipe-editor-header-save span{display:inline}}@media(max-width:580px){main:has(>.home-overview){padding-top:18px}.home-overview .home-heading{margin-bottom:16px}.home-heading .overline{display:none}.home-heading h1{font-size:clamp(25px,6.5vw,30px);letter-spacing:-.7px}.home-search{min-height:48px;padding:12px;gap:9px;font-size:13px}.home-overview>.section{margin-block:18px 24px}.home-overview .section-heading{margin-bottom:8px}.home-overview .section-heading h2{font-size:21px}.home-overview .cooking-resume{padding:12px;gap:8px}.home-overview .cooking-resume>div{width:100%}.home-overview .cooking-resume h2{font-size:17px}.home-overview .cooking-resume p{font-size:12px}.home-overview .cooking-resume .button{min-height:44px}.home-overview .cooking-resume .text-button{min-height:44px;margin-left:auto;font-size:12px}.home-tools>summary{padding:14px}.home-tools-content{padding:12px}.home-inspiration-actions{grid-template-columns:minmax(0,1fr);gap:8px}.home-inspiration-actions button{min-height:68px;padding:12px;gap:10px}.inspiration-banner{position:relative;display:block}.inspiration-banner .banner-image{position:absolute;top:18px;right:18px;width:76px;height:76px;aspect-ratio:auto;border-radius:16px;overflow:hidden}.inspiration-banner .banner-copy{padding:18px}.inspiration-banner .pill,.inspiration-banner h2{max-width:calc(100% - 88px)}.inspiration-banner .pill{display:flex;align-items:center;font-size:9px}.inspiration-banner h2{font-size:24px;margin:10px 0}.inspiration-banner .button{margin-top:10px}.inspiration-banner .banner-footnote{display:none}.generator-entry{padding:14px 0;gap:10px}.generator-entry p{display:none}:is(.library-recipe-grid,.home-recipe-grid){grid-template-columns:minmax(0,1fr);gap:12px}:is(.library-recipe-grid,.home-recipe-grid) .recipe-card{display:grid;grid-template-columns:104px minmax(0,1fr);border-radius:16px}:is(.library-recipe-grid,.home-recipe-grid) .card-photo{width:100%;min-width:0;aspect-ratio:auto;height:100%;min-height:142px;border-radius:15px 0 0 15px}:is(.library-recipe-grid,.home-recipe-grid) .photo-link{height:100%}:is(.library-recipe-grid,.home-recipe-grid) .card-body{padding:15px 14px;min-width:0}:is(.library-recipe-grid,.home-recipe-grid) .card-title{font-size:16px;line-height:1.35;min-height:0;-webkit-line-clamp:unset;display:block;overflow:visible}:is(.library-recipe-grid,.home-recipe-grid) .card-meta{margin-top:10px}:is(.library-recipe-grid,.home-recipe-grid) .card-meta>span:last-child:not(:nth-child(2)):not(:first-child){display:inline-flex}:is(.library-recipe-grid,.home-recipe-grid) .favorite{top:auto;bottom:8px;right:8px;min-width:44px;min-height:44px}:is(.library-recipe-grid,.home-recipe-grid) .card-options{top:4px;right:2px}:is(.library-recipe-grid,.home-recipe-grid) .eyebrow{font-size:11px;padding-right:34px}}
