@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,500;9..144,600&display=swap");:root{--ink:#103d3c;--muted:#456b68;--coral:#f18475;--coral-strong:#a9443c;--leaf:#e5f4e8;--cream:#e7faf7;--paper:#fffdf4;--line:#b9e2dc;--yellow:#f2c86b;--red:#843932}*{box-sizing:border-box}body,html{background:var(--cream)}body{position:relative;margin:0;color:var(--ink);font-family:DM Sans,Segoe UI,sans-serif;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}.floral-frame{position:fixed;z-index:0;inset:0;overflow:hidden;pointer-events:none}.flower-edge{position:absolute;bottom:0;width:min(66.7svh,720px);max-height:100svh;object-fit:contain;opacity:.9;mix-blend-mode:multiply}.flower-edge-left{left:calc(25px - .24 * min(66.7svh, 720px))}.flower-edge-right{right:calc(25px - .24 * min(66.7svh, 720px));transform:scaleX(-1)}body>main{position:relative;z-index:1}button,input,select{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #12645e;outline-offset:3px}::selection{color:#103d3c;background:#b8e9e4}.shell{width:min(1120px,calc(100% - 56px));margin:0 auto}.topbar{height:82px;display:flex;justify-content:space-between;border-bottom:1px solid var(--line)}.brand,.topbar{align-items:center}.brand{display:inline-flex;gap:11px;color:var(--ink);font-size:17px;font-weight:700;letter-spacing:-.02em;text-decoration:none}.brand img{width:42px;height:42px;border-radius:13px;object-fit:cover}.top-note{gap:9px;color:var(--muted);font-size:12px}.account-actions,.top-note{display:flex;align-items:center}.account-actions{gap:18px}.account-tabs{display:flex;gap:6px;padding:14px 0 0;border-bottom:1px solid var(--line)}.account-tab{min-height:39px;padding:0 14px;border:0;border-bottom:2px solid transparent;color:var(--muted);background:transparent;font-size:13px;font-weight:700}.account-tab.active,.account-tab:hover{color:var(--coral-strong)}.account-tab.active{border-bottom-color:var(--coral)}.live-dot{width:8px;height:8px;border-radius:50%;background:var(--coral)}.welcome-shell{display:flex;flex-direction:column;width:min(1050px,calc(100% - 48px));min-height:calc(100svh - 80px);margin:40px auto;padding:30px clamp(28px,5vw,62px) 22px;border:1px solid var(--line);border-radius:26px;background:var(--paper);box-shadow:0 18px 48px rgba(11,83,78,.09)}.welcome-topbar{min-height:62px;height:auto;margin-bottom:16px;border-bottom:0}.welcome-topbar .brand img{width:54px;height:54px;border-radius:14px}.welcome-panel{display:grid;flex:1 1;grid-template-columns:minmax(0,1fr) minmax(250px,.82fr);align-items:center;grid-gap:clamp(32px,7vw,84px);gap:clamp(32px,7vw,84px);margin:0;padding:18px 0 34px;overflow:hidden;border:0;border-radius:0;background:transparent}.welcome-copy{max-width:560px}.welcome-copy h1{max-width:11ch;font-size:clamp(48px,5.4vw,68px);line-height:1.04}.welcome-copy h2{margin:16px 0 5px;color:#557a88;font-family:DM Sans,Segoe UI,sans-serif;font-size:clamp(20px,2.2vw,26px);font-weight:600;line-height:1.25}.welcome-copy .intro,.welcome-copy p:not(.notice){max-width:440px;margin:10px 0 25px;color:#527486;font-size:17px}.sign-in-button{width:min(100%,300px);min-height:56px;justify-content:flex-start;gap:14px;margin-top:5px;border:1px solid #d6e3e6;border-radius:9px;padding-inline:18px;color:#183b4b;background:#fff;box-shadow:0 1px 2px rgba(17,57,68,.08);text-decoration:none}.welcome-panel .sign-in-button{border-color:var(--coral);color:var(--ink);background:var(--coral)}.welcome-panel .sign-in-button:hover:not(:disabled){border-color:#f79b8d;color:var(--ink);background:#f79b8d}.google-mark{display:block;width:25px;height:25px;flex:none}.welcome-art{display:grid;place-items:center;width:min(100%,390px);aspect-ratio:1;justify-self:end;overflow:hidden;border-radius:16px;background:#c9f3ef}.welcome-art img{display:block;width:100%;height:100%;object-fit:contain}.welcome-recipes{display:grid;grid-template-columns:130px minmax(0,1fr);align-items:center;grid-gap:16px;gap:16px;margin:0;padding-top:18px;border-top:1px solid #d8e5e5}.welcome-recipes h2{margin:0;color:var(--ink);font-family:Fraunces,Georgia,serif;font-size:29px;font-weight:500;letter-spacing:-.03em}.recipe-marquee{min-width:0;overflow:hidden;border-block:1px solid var(--line)}.recipe-marquee-track{display:flex;width:max-content;animation:meal-scroll 38s linear infinite}.recipe-marquee-item{display:inline-flex;align-items:center;gap:12px;padding:10px 24px;color:var(--ink);font-family:Fraunces,Georgia,serif;font-size:17px;white-space:nowrap}.recipe-marquee-item img{display:block;width:56px;height:56px;flex:none;border-radius:9px;object-fit:cover}@keyframes meal-scroll{to{transform:translateX(-50%)}}.welcome-shell .footer{margin-top:18px;border-top-color:#d8e5e5}.landing-shell{display:flex;flex-direction:column;width:min(1080px,calc(100% - 48px));min-height:100svh;margin:0 auto}.landing-header{display:flex;align-items:center;min-height:84px;border-bottom:1px solid var(--line)}.landing-header .brand img{width:48px;height:48px}.landing-main{flex:1 1;grid-template-columns:minmax(0,1fr);justify-items:center;padding:clamp(40px,8vw,88px) 0}.landing-copy,.landing-main{display:grid;min-width:0;align-items:center}.landing-copy{width:100%;max-width:900px;grid-template-columns:minmax(0,1fr) minmax(220px,270px);grid-template-areas:"title action" "description action";grid-column-gap:clamp(28px,6vw,86px);column-gap:clamp(28px,6vw,86px)}.landing-copy h1{max-width:9ch;font-size:clamp(46px,6vw,70px);line-height:1.02;grid-area:title}.landing-copy>p{grid-area:description;max-width:520px;margin:20px 0 0;color:var(--muted);font-size:clamp(16px,1.8vw,19px);line-height:1.55}.landing-cta{grid-area:action;justify-self:center;width:min(100%,220px);min-height:52px;text-decoration:none}.landing-footer{display:flex;justify-content:space-between;gap:16px;padding:17px 0 24px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.workspace{display:grid;grid-template-columns:minmax(0,1.42fr) minmax(270px,.72fr);grid-gap:22px;gap:22px;padding:30px 0 52px;align-items:stretch}.planner-panel{min-width:0;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:29px 42px 40px;box-shadow:0 12px 30px rgba(11,83,78,.08)}.progress{display:flex;gap:7px;align-items:center;padding-bottom:29px;border-bottom:1px solid var(--line)}.progress-segment{height:4px;width:40px;border-radius:4px;background:#cfe9e5}.progress-segment.active{background:var(--coral)}.step-label{margin-left:7px;color:var(--muted);font-size:11px}.survey-navigation{margin-top:4px}.step-content{max-width:610px;margin:31px auto 0}.overline,.side-caption{margin:0 0 11px;color:var(--coral-strong);font-size:10px;font-weight:700;letter-spacing:.1em}.side-panel .side-caption,.welcome-recipes .side-caption{color:var(--ink)}h1{margin:0;font-family:Fraunces,Georgia,serif;font-size:clamp(37px,4.3vw,52px);font-weight:500;line-height:1.05;letter-spacing:-.04em}.intro{max-width:440px;margin:13px 0 26px;color:var(--muted);font-size:14px}.needs-form{display:grid;grid-gap:12px;gap:12px;margin-top:12px}.needs-section{min-width:0;margin:0;padding:16px;border:1px solid var(--line);border-radius:8px;background:#fffefa}.needs-intro-section{background:#f2faf7}.needs-intro-section .overline{margin-bottom:8px}.needs-intro-section h1{font-size:clamp(34px,4vw,43px)}.needs-intro-section .intro{margin-bottom:0}.household-section h2{margin:0 0 14px;color:var(--ink);font-family:Fraunces,Georgia,serif;font-size:19px;font-weight:500;letter-spacing:-.02em}.needs-form>.primary-button{margin-top:2px}fieldset{min-width:0;margin:0;padding:0;border:0}.number-fields label,legend{padding:0;color:var(--ink);font-size:13px;font-weight:700}.field-hint{margin:5px 0 10px;color:var(--muted);font-size:11px;font-weight:400}.custom-entry-field{display:grid;grid-gap:6px;gap:6px;margin-top:15px;color:var(--ink);font-size:12px;font-weight:700}.custom-entry-field .field-hint{margin:0}.custom-entry-field input,.custom-meal-form input{width:100%;min-width:0;height:42px;border:1px solid var(--line);border-radius:5px;padding:0 11px;color:var(--ink);background:white;font-size:12px}.custom-entry-field input::placeholder,.custom-meal-form input::placeholder{color:#56736f;opacity:1}.custom-meal-form{display:grid;grid-gap:12px;gap:12px;margin:22px 0 20px;padding:17px;border:1px solid var(--line);border-radius:8px;background:#f1fbf8}.custom-meal-form h2{margin:0;font-family:Fraunces,Georgia,serif;font-size:21px;font-weight:500;letter-spacing:-.02em}.custom-meal-form>label{display:grid;grid-gap:6px;gap:6px;color:var(--ink);font-size:12px;font-weight:700}.custom-meal-form>label .field-hint{margin:-2px 0 0}.custom-meal-form textarea{width:100%;min-width:0;min-height:84px;resize:vertical;border:1px solid var(--line);border-radius:5px;padding:10px 11px;color:var(--ink);background:white;font:inherit;font-size:12px;line-height:1.5}.ai-recipe-result input:focus,.custom-meal-form textarea:focus{border-color:#398a82;outline:2px solid #bde9e3}.ai-recipe-form{display:grid;grid-gap:12px;gap:12px}.ai-recipe-form label,.ai-recipe-result label{display:grid;grid-gap:6px;gap:6px;color:var(--ink);font-size:12px;font-weight:700}.ai-recipe-form label .field-hint,.ai-recipe-result label .field-hint{margin:-2px 0 0}.ai-recipe-form textarea{min-height:72px}.ai-recipe-maker .primary-button{justify-self:start}.ai-privacy-note{margin:12px 0 0;color:#356d68;font-size:11px;line-height:1.5}.ai-recipe-result{display:grid;grid-gap:12px;gap:12px;margin-top:15px;padding-top:15px;border-top:1px solid var(--line)}.ai-recipe-result h3{margin:0;font-family:Fraunces,Georgia,serif;font-size:20px;font-weight:500}.ai-recipe-result input{width:100%;min-width:0;height:42px;border:1px solid var(--line);border-radius:5px;padding:0 11px;color:var(--ink);background:white;font-size:12px}.ai-recipe-result .ai-recipe-meta{display:grid;grid-template-columns:minmax(90px,.6fr) minmax(0,1fr);grid-gap:12px;gap:12px}.recipe-back-button,.recipe-open-button{min-height:40px;padding:7px 0;border:0;background:transparent;color:var(--coral-strong);font:inherit;font-weight:700;text-align:left;cursor:pointer}.recipe-open-button{display:inline-flex;align-items:center;gap:8px}.recipe-open-button span{transition:transform .16s ease-out}.recipe-open-button:hover span{transform:translateX(3px)}.recipe-back-button:focus-visible,.recipe-open-button:focus-visible{outline:2px solid #087c73;outline-offset:3px;border-radius:3px}.recipe-detail-content{max-width:760px}.recipe-back-button{margin-bottom:12px}.recipe-detail-content h1{margin-bottom:18px}.recipe-artwork{display:block;width:100%;aspect-ratio:1.5;margin:0 0 16px;border-radius:12px;object-fit:cover;background:#dff7f2}.recipe-detail-meta{margin:0;color:var(--ink);font-size:15px;font-weight:700}.recipe-detail-tags{margin:6px 0 0;color:var(--muted);font-size:12px}.recipe-detail-section{margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}.recipe-detail-section h2{margin:0 0 12px}.recipe-detail-section ol,.recipe-detail-section ul{display:grid;grid-gap:10px;gap:10px;margin:0;padding-left:24px;line-height:1.6}.recipe-detail-section li{padding-left:3px}.recipe-detail-section p{margin:0;color:var(--muted)}.custom-meal-form fieldset{margin:0}.custom-meal-form legend{font-size:12px}.meal-tag-grid{margin-top:6px}.add-meal-button{justify-self:start;min-height:38px}.choice-grid{display:flex;flex-wrap:wrap;gap:7px}.choice-chip{position:relative;display:inline-flex;align-items:center;min-height:40px;padding:7px 13px;border:1px solid #b9dcd7;border-radius:6px;color:#234f4b;background:#fffefa;font-size:12px;cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease}.choice-chip:hover{border-color:#d96c60}.choice-chip.selected{color:var(--ink);border-color:#d96c60;background:#ffe2dc}.choice-chip input{position:absolute;width:1px;height:1px;opacity:0}.choice-chip:has(input:focus-visible){outline:3px solid #12645e;outline-offset:3px}.number-fields{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.number-fields label{display:grid;grid-gap:7px;gap:7px}.number-fields label .field-hint{display:inline;margin:0 0 0 4px}.number-fields input{width:100%;height:44px;border:1px solid var(--line);border-radius:5px;padding:0 12px;color:var(--ink);background:white}.number-fields input:focus{border-color:#398a82;outline:2px solid #bde9e3}.primary-button,.print-button,.secondary-button{min-height:45px;border:0;border-radius:6px;padding:0 18px;font-size:13px;font-weight:700;transition:background .16s ease,transform .16s ease}.primary-button{display:inline-flex;justify-content:space-between;align-items:center;min-width:185px;color:var(--ink);background:var(--coral)}.primary-button:hover:not(:disabled){background:#f79b8d;transform:translateY(-1px)}.primary-button:disabled{opacity:.58;cursor:wait}.secondary-button{color:#0c5b57;background:#def3ef}.secondary-button:hover{background:#c7eae5}.print-button{color:var(--coral-strong);border:1px solid #a9d8d2;background:transparent}.print-button:hover{background:#effaf7}.notice{margin:0;padding:10px 12px;border-radius:4px;font-size:12px}.notice.error{color:#783630;background:#fbe8e4}.notice.success{color:#164f48;background:#e4f4e9}.notice.success.deleted-notice{color:var(--coral-strong);background:#ffe2dc;border:1px solid #d96c60}.side-panel{display:flex;flex-direction:column;align-items:center;min-width:0;padding:25px 25px 24px;border:1px solid var(--line);border-radius:14px;background:#dff5f1}.side-art{display:grid;place-items:center;width:min(100%,230px);aspect-ratio:1;overflow:hidden;border-radius:8px;background:#fffefa}.side-art img{display:block;width:100%;height:100%;object-fit:cover}.side-caption{margin:21px 0 6px;text-align:center;font-size:9px}.side-copy{max-width:230px;margin:0 0 23px;color:var(--muted);text-align:center;font-family:DM Sans,Segoe UI,sans-serif;font-size:17px;font-weight:600;line-height:1.3}.saved-section{width:100%;padding-top:18px;border-top:1px solid var(--line)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.section-heading h2{margin:0;font-family:Fraunces,Georgia,serif;font-size:22px;font-weight:500;letter-spacing:-.02em}.saved-heading h2{font-size:17px}.item-count{color:var(--muted);font-size:11px}.empty-copy{margin:10px 0 13px;color:var(--muted);font-size:12px}.saved-list{margin:8px 0 14px}.saved-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:11px 0;border-bottom:1px solid var(--line)}.saved-row>div:first-child{display:grid;grid-gap:3px;gap:3px;min-width:0}.saved-row strong{font-size:11px;line-height:1.35}.saved-row span{color:var(--muted);font-size:10px}.saved-actions{display:flex;gap:9px;flex:none}.text-button{padding:0;border:0;color:var(--coral-strong);background:transparent;font-size:11px;font-weight:700}.text-button:hover{text-decoration:underline;text-underline-offset:3px}.text-button:disabled{opacity:.5}.delete-button{color:#8b473b}.new-plan-button{width:100%;min-height:37px;border:1px dashed #88c8c0;border-radius:6px;color:#0b5f5a;background:transparent;font-size:11px;font-weight:700}.new-plan-button:hover{background:rgba(255,255,255,.5)}.privacy-note{margin:13px 0 0;color:var(--muted);font-size:10px;line-height:1.5}.dashboard-workspace,.library-workspace,.plans-workspace{grid-template-columns:minmax(0,1fr)}.dashboard-workspace .planner-panel{min-height:min(700px,calc(100svh - 230px))}.dashboard-content,.plans-content{max-width:none;margin-top:8px}.dashboard-content h1{max-width:14ch;font-size:clamp(36px,4vw,46px)}.dashboard-actions{display:flex;flex-wrap:wrap;gap:10px}.dashboard-actions .primary-button{min-width:205px}.dashboard-countline{margin:24px 0 0;padding-bottom:18px;border-bottom:1px solid var(--line);color:var(--muted);font-size:12px}.dashboard-countline strong{color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dashboard-latest{margin-top:22px}.dashboard-latest .section-heading h2{font-size:21px}.dashboard-plan-name{margin:8px 0 0;color:var(--muted);font-size:12px}.dashboard-preview-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:22px;gap:22px;margin-top:14px}.dashboard-preview-grid>section+section{padding-left:22px;border-left:1px solid var(--line)}.dashboard-preview-grid h3{margin:0;font-size:13px}.dashboard-preview-grid .calendar-list{margin-top:8px}.dashboard-preview-grid .calendar-row{gap:9px;padding:8px 0}.dashboard-preview-grid .calendar-date{width:58px;height:36px}.dashboard-preview-grid .calendar-row strong{font-size:11px}.dashboard-preview-grid .shopping-list{grid-template-columns:1fr;margin-top:5px}.dashboard-preview-grid .shopping-list li{font-size:11px}.shopping-quantity-note{margin-bottom:4px}.meal-shopping-group+.meal-shopping-group{margin-top:14px;padding-top:10px;border-top:1px solid var(--line)}.meal-shopping-group h4{margin:0;color:var(--ink);font-family:Fraunces,Georgia,serif;font-size:15px;font-weight:500}.meal-shopping-group .shopping-list{margin-top:3px}.meal-shopping-group .shopping-list li{text-transform:none}.shopping-toggle{min-height:32px;margin-top:8px;padding:0 10px;border-radius:5px;color:var(--coral-strong);background:#fffefa}.shopping-toggle:hover{background:var(--leaf)}.shopping-measure-note{margin-top:10px}.dashboard-plan-actions{display:flex;justify-content:flex-end;margin-top:16px}.dashboard-empty{margin-top:26px;padding:20px 0;border-bottom:1px solid var(--line)}.dashboard-empty h2{margin:0;font-family:Fraunces,Georgia,serif;font-size:23px;font-weight:500}.dashboard-empty p{color:var(--muted);font-size:12px}.dashboard-empty .secondary-button{min-height:39px}.plans-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,260px);align-items:center;grid-gap:28px;gap:28px;padding:12px 0 22px;border-bottom:1px solid var(--line)}.plans-hero h1{font-size:clamp(36px,4vw,48px)}.plans-hero .side-caption{margin-bottom:8px;text-align:left}.plans-hero .intro{margin:10px 0 0}.plans-hero-art{display:flex;align-items:center;justify-content:flex-end;gap:14px}.plans-hero-art .side-art{width:min(100%,86px);flex:none}.plans-hero-art .side-copy{max-width:145px;margin:0;text-align:left;font-size:14px}.saved-week-card{padding:13px;border:1px solid var(--line);border-radius:10px;background:#f2faf7}.saved-week-card+.saved-week-card{margin-top:14px}.saved-week-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid var(--line)}.saved-week-header>div:first-child{display:grid;grid-gap:4px;gap:4px;min-width:0}.saved-week-header strong{color:var(--ink);font-size:13px}.saved-week-header span{color:var(--muted);font-size:10px}.saved-week-overview{display:grid;grid-gap:8px;gap:8px;padding-top:10px}.saved-week-day{display:grid;grid-template-columns:56px 104px minmax(0,1fr);align-items:center;grid-gap:12px;gap:12px;min-height:72px;padding:7px;border-radius:7px;background:#fffefa}.saved-week-date{display:grid;grid-gap:4px;gap:4px;justify-items:center;color:var(--muted);font-size:8px;font-weight:700}.saved-week-date strong{color:var(--coral-strong);font-size:10px}.saved-week-day .recipe-artwork{width:104px;height:58px;aspect-ratio:auto;margin:0;border-radius:6px}.saved-week-meal{display:grid;grid-gap:4px;gap:4px;min-width:0}.saved-week-recipe-link{width:-moz-fit-content;width:fit-content;padding:0;border:0;color:var(--ink);background:transparent;font-family:Fraunces,Georgia,serif;font-size:14px;font-weight:500;text-align:left}.saved-week-recipe-link:hover{text-decoration:underline;text-underline-offset:3px}.saved-week-recipe-link:focus-visible{outline:2px solid #398a82;outline-offset:2px}.saved-week-meal span{display:-webkit-box;overflow:hidden;color:var(--muted);font-size:10px;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.saved-week-controls{grid-column:2/-1;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:14px}.saved-week-controls button{font-size:10px}.saved-week-controls button:disabled{opacity:.4;cursor:not-allowed}.plans-tab-panel{margin-top:25px}.plans-tab-panel>.section-heading h2{font-size:22px}.plans-new-button{max-width:360px;margin-top:18px}.recommended-plan-list{display:grid;margin-top:14px;border-top:1px solid var(--line)}.recommended-plan-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:18px;gap:18px;padding:17px 2px;border-bottom:1px solid var(--line)}.recommended-plan-row h3{margin:0;font-family:Fraunces,Georgia,serif;font-size:19px;font-weight:500}.recommended-plan-row p{margin:5px 0 0;color:var(--muted);font-size:12px}.recommended-plan-row ul{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0;padding:0;list-style:none}.recommended-plan-row li{padding:5px 9px;border-radius:4px;color:#315b55;background:var(--leaf);font-size:11px}.recommended-plan-row .secondary-button{white-space:nowrap}.library-content{margin-top:8px}.library-content h1{font-size:clamp(36px,4vw,48px)}.library-tabs{display:flex;gap:6px;overflow-x:auto;margin-top:22px;border-bottom:1px solid var(--line)}.library-tabs button{display:inline-flex;align-items:center;gap:8px;min-height:46px;flex:1 0 auto;justify-content:center;padding:0 12px;border:0;border-bottom:3px solid transparent;color:#356d68;background:transparent;font:inherit;font-size:13px;font-weight:700;white-space:nowrap;cursor:pointer}.library-tabs button:hover{background:#effaf7}.library-tabs button[aria-selected=true]{border-bottom-color:var(--coral);color:var(--coral-strong)}.library-tabs button:focus-visible{outline:2px solid #087c73;outline-offset:-3px}.library-tabs button span{color:inherit;font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.library-tab-panel{margin-top:22px}.library-tab-panel:focus-visible{outline:2px solid #087c73;outline-offset:4px}.library-section{margin-top:28px}.library-note{margin:8px 0 0;color:var(--muted);font-size:12px}.app-recipe-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px;margin-top:18px}.app-recipe-card{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fffdf7}.app-recipe-card>.recipe-artwork{margin:0;border-radius:0}.app-recipe-card-copy{display:flex;flex-direction:column;align-items:flex-start;padding:12px 13px 14px}.app-recipe-card .app-recipe-heading{width:100%;align-items:flex-start}.app-recipe-card h3{margin:0;font-family:Fraunces,Georgia,serif;font-size:17px;line-height:1.2;font-weight:500}.app-recipe-card p{width:100%;margin:7px 0 0;color:var(--muted);font-size:11px;line-height:1.45}.app-recipe-card p.field-hint{margin-top:5px}.app-recipe-card .recipe-open-button{margin-top:8px;font-size:12px}.library-row{padding:13px 0;border-bottom:1px solid var(--line)}.library-row h3{margin:0;font-family:Fraunces,Georgia,serif;font-size:19px;font-weight:500}.library-row p{margin:5px 0 10px;color:var(--muted);font-size:12px}.app-recipe-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.recipe-kind{flex:none;color:var(--coral-strong);font-size:10px;font-weight:700}.library-row .secondary-button{min-height:38px}.meal-days{display:grid;grid-gap:9px;gap:9px}.meal-day{display:grid;grid-template-columns:34px 55px minmax(0,1fr);align-items:center;grid-gap:10px;gap:10px;padding:10px 12px;border:1px solid #b9dcd7;border-radius:6px;background:#fffefa}.day-number{color:var(--muted);font-family:DM Sans,Segoe UI,sans-serif;font-size:16px;font-weight:700}.day-title{font-size:12px;font-weight:700}.meal-day select{width:100%;min-height:40px;border:1px solid #b9dcd7;border-radius:5px;padding:0 9px;color:var(--ink);background:#fffefa;font-size:12px}.meal-preview{display:grid;margin:14px 0 20px;padding:11px 14px;border-radius:5px;background:#f0f8e9}.preview-row{display:flex;gap:14px;padding:6px 0;border-bottom:1px solid #d7e9d2;font-size:11px}.preview-row:last-child{border-bottom:0}.preview-row span{color:var(--muted)}.preview-row strong{font-weight:600}.button-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:20px}.button-row .primary-button{min-width:190px}.result-section{margin-top:25px}.result-section+.result-section{padding-top:21px;border-top:1px solid var(--line)}.result-section .section-heading h2{font-size:21px}.calendar-list{display:grid;margin-top:10px;border-top:1px solid var(--line)}.calendar-row{display:flex;align-items:center;gap:14px;padding:10px 2px;border-bottom:1px solid var(--line)}.calendar-date{display:grid;place-items:center;width:58px;height:41px;border-radius:5px;color:var(--coral-strong);background:var(--leaf);font-size:11px;font-weight:700;white-space:nowrap}.calendar-row-copy,.calendar-row>div{display:grid;grid-gap:1px;gap:1px}.tiny-label{color:var(--muted);font-size:9px;font-weight:700;letter-spacing:.08em}.calendar-row strong{font-size:12px}.meal-calendar-button{width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;color:var(--ink);background:transparent;font:inherit;text-align:left;cursor:pointer}.meal-calendar-button:hover{background:#f2faf7}.meal-calendar-button:focus-visible{outline:2px solid #398a82;outline-offset:-2px}.shopping-list{display:grid;grid-template-columns:1fr 1fr;grid-gap:0 16px;gap:0 16px;margin:10px 0 0;padding:0;list-style:none}.shopping-list li{display:flex;align-items:center;gap:8px;min-width:0;padding:8px 0;border-bottom:1px solid #deede9;color:var(--ink);font-size:11px;text-transform:capitalize}.store-search-section{padding-top:16px;border-top:1px solid var(--line)}.store-search-section>.field-hint{margin:0 0 12px}.store-search-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;grid-gap:8px 12px;gap:8px 12px}.store-search-form label{grid-column:1/-1;color:var(--ink);font-size:12px;font-weight:700}.store-search-form input{width:100%;min-width:0;height:44px;border:1px solid var(--line);border-radius:5px;padding:0 12px;color:var(--ink);background:white}.store-search-form input:focus{border-color:#398a82;outline:2px solid #bde9e3}.store-search-form .secondary-button{white-space:nowrap}.store-search-result{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:12px 0 0}.store-search-result a{display:inline-flex;align-items:center;text-decoration:none;padding:0 14px}.store-search-result span{color:#356d68;font-size:11px}.list-check{width:13px;height:13px;flex:none;border:1px solid #79aaa3;border-radius:3px;background:#fffefa}.allergy-note{margin:18px 0 0;color:var(--muted);font-size:11px}.action-row{flex-wrap:wrap;justify-content:flex-start}.action-row .primary-button{margin-left:auto}.footer{display:flex;justify-content:space-between;padding:18px 0 25px;border-top:1px solid var(--line);color:var(--muted);font-size:10px}@media (max-width:790px){.landing-shell{width:min(620px,calc(100% - 32px))}.landing-main{padding:42px 0}.landing-copy{max-width:560px;grid-template-columns:minmax(0,1fr) minmax(165px,205px);column-gap:clamp(14px,4vw,26px)}.landing-copy h1{max-width:10ch}.shell{width:min(100% - 32px,620px)}.welcome-shell{width:min(620px,calc(100% - clamp(88px, 26vw, 200px)));min-height:calc(100svh - 32px);margin:16px auto;padding:22px 24px 18px}.welcome-panel{grid-template-columns:minmax(0,1fr) minmax(110px,155px);gap:18px;padding:18px 0 25px}.welcome-art{width:min(100%,155px)}.topbar{height:72px}.top-note{font-size:10px}.account-actions{gap:10px}.account-actions .text-button{font-size:10px}.brand img{width:36px;height:36px}.workspace{grid-template-columns:1fr;gap:14px;padding:18px 0 38px}.dashboard-workspace .planner-panel{min-height:0}.planner-panel{padding:22px 20px 27px}.step-content{margin-top:25px}.progress-segment{width:clamp(16px,calc((100vw - 235px) / 8),34px)}.dashboard-preview-grid{gap:14px}.dashboard-preview-grid>section+section{padding-left:14px}h1{font-size:clamp(37px,10vw,47px)}.side-panel{display:block;padding:18px}.side-art{float:left;width:76px;margin:0 15px 10px 0}.side-caption{padding-top:8px;text-align:left}.side-copy{max-width:none;min-height:49px;margin:0 0 18px;text-align:left;font-size:17px}.saved-section{clear:both}.allergy-grid{gap:6px}.choice-chip{min-height:32px;padding-inline:9px;font-size:11px}.meal-day{grid-template-columns:29px 45px minmax(0,1fr);gap:7px;padding:8px}.meal-day select{font-size:11px}.custom-meal-form{padding:14px}.plans-hero{grid-template-columns:minmax(0,1fr) minmax(120px,170px);gap:16px}.plans-hero-art{gap:10px}.plans-hero-art .side-art{width:66px}.plans-hero-art .side-copy{font-size:12px}}@media (max-width:440px){.landing-shell{width:calc(100% - 28px)}.landing-header{min-height:70px}.landing-header .brand img{width:42px;height:42px}.landing-main{padding:34px 0}.landing-copy{grid-template-columns:minmax(0,1fr);grid-template-areas:"title" "description" "action";row-gap:0}.landing-copy h1{max-width:10ch;font-size:clamp(42px,12vw,54px)}.landing-copy>p{margin:15px 0 21px;font-size:16px}.landing-cta{width:min(100%,220px)}.landing-footer{flex-direction:column;gap:4px}.shell{width:calc(100% - 24px)}.welcome-shell{width:min(620px,calc(100% - clamp(88px, 26vw, 200px)));min-height:calc(100svh - 24px);margin:12px auto;padding:18px 18px 16px;border-radius:20px}.welcome-topbar{margin-bottom:8px}.welcome-topbar .brand img{width:46px;height:46px}.welcome-panel{grid-template-columns:1fr;gap:18px;padding:13px 0 20px}.welcome-art{width:116px;justify-self:start}.welcome-copy h1{max-width:12ch;font-size:clamp(39px,11vw,48px)}.welcome-copy h2{margin-top:12px}.welcome-copy .intro,.welcome-copy p:not(.notice){font-size:15px}.welcome-recipes{grid-template-columns:1fr;gap:4px}.welcome-recipes h2{font-size:26px}.welcome-shell .footer{flex-direction:row;gap:12px}.account-tabs{overflow-x:auto}.account-tab{flex:0 0 auto;padding-inline:9px;white-space:nowrap}.plans-hero{grid-template-columns:minmax(0,1fr) 78px;gap:10px}.plans-hero-art{display:grid;justify-items:center;grid-gap:4px;gap:4px}.plans-hero-art .side-art{width:62px}.plans-hero-art .side-copy{max-width:78px;text-align:center;font-size:10px}.recommended-plan-row{grid-template-columns:minmax(0,1fr);gap:11px}.recommended-plan-row .secondary-button{width:100%}.top-note{max-width:133px;text-align:right;line-height:1.25}.account-actions{gap:7px}.planner-panel{padding-inline:16px}.library-tabs{gap:2px;overflow:visible}.library-tabs button{min-width:0;flex:1 1;gap:4px;padding-inline:4px;font-size:11px;white-space:normal}.saved-week-card{padding:9px}.saved-week-header{display:grid}.saved-week-day{grid-template-columns:44px 72px minmax(0,1fr);gap:8px;padding:5px}.saved-week-day .recipe-artwork{width:72px;height:52px}.saved-week-recipe-link{font-size:12px}.saved-week-meal span{font-size:9px}.saved-week-controls{gap:10px}.dashboard-preview-grid{grid-template-columns:1fr;gap:18px}.dashboard-preview-grid>section+section{padding:16px 0 0;border-top:1px solid var(--line);border-left:0}.dashboard-plan-actions{justify-content:stretch}.dashboard-plan-actions .print-button{width:100%}.number-fields{gap:10px}.shopping-list{grid-template-columns:1fr}.button-row:not(.action-row){flex-wrap:wrap}.button-row:not(.action-row) .primary-button{flex:1 1 100%}.ai-recipe-result .ai-recipe-meta,.store-search-form{grid-template-columns:1fr}.store-search-form label{grid-column:auto}.store-search-form .secondary-button{width:100%}.action-row{display:grid;grid-template-columns:1fr 1fr}.action-row .primary-button{grid-column:1/-1;width:100%;margin-left:0}.action-row .print-button,.action-row .secondary-button{width:100%}.footer{gap:14px}}@media print{.store-search-section{display:none!important}body{background:white}.allergy-note,.button-row,.footer,.overline,.progress,.side-panel,.topbar{display:none!important}.shell,.workspace{display:block;width:100%;padding:0}.planner-panel{border:0;box-shadow:none;padding:0}.step-content{margin:0;max-width:none}.result-section{page-break-inside:avoid;break-inside:avoid}}