:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;color:#202020;background:#fff;font-synthesis:none;--green:#202020;--muted:#6b6b6b;--line:#e6e6e6;--cream:#f5f5f3}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border:1px solid var(--line);background:#fff;border-radius:8px;padding:11px 15px;display:inline-flex;gap:8px;align-items:center;justify-content:center;transition:background .15s}button:hover{background:#f4f4f4}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #333;outline-offset:4px}a{color:inherit;text-underline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(30px,4vw,48px);line-height:1.12;letter-spacing:-1.8px;font-weight:650;margin-bottom:16px}h2{font-size:22px;letter-spacing:-.6px;font-weight:600}h3{font-size:17px;line-height:1.4;font-weight:600}p{line-height:1.65;color:var(--muted);font-size:14px}small{font-size:12px}svg{flex-shrink:0}.shell{min-height:100vh}.topbar{height:92px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 max(32px,calc((100vw - 1240px)/2));background:#fff}.brand{display:flex;gap:12px;text-decoration:none;align-items:center;font-weight:700;letter-spacing:-.8px;font-size:22px;white-space:nowrap}.brand-icon{background:#222;color:#fff;display:grid;place-items:center;width:43px;height:43px;border-radius:50%}.brand small{display:block;font-size:10px;font-weight:400;letter-spacing:.2px;margin-top:4px;color:var(--muted)}.topbar nav{display:flex;gap:4px}.topbar nav button{border:0;background:none;color:#707070;padding:12px 14px;font-size:13px}.topbar nav button.active{background:#f2f2f0;color:#161616;font-weight:600}.topbar nav button b{background:#242424;color:#fff;border-radius:20px;min-width:20px;padding:3px;font-size:10px}.account{border:0;padding:0;border-radius:50%}.avatar{width:38px;height:38px;display:grid;place-items:center;background:#ededeb;border-radius:50%;font-size:14px;font-weight:600}.topbar nav button:last-child{white-space:nowrap}main{max-width:1240px;margin:0 auto;padding:0 32px}header{height:58px;display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#777}.breadcrumb span{color:#bbb;margin:0 12px}.sync-status{display:flex;align-items:center;gap:6px;max-width:55%;font-size:11px}.dot{width:5px;height:5px;border-radius:50%;background:#777}.local-banner{background:#f3f3f1;padding:12px 15px;font-size:12px;border-radius:8px;line-height:1.6}.local-banner button{border:0;background:none;font-size:12px;padding:3px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:28px;padding:34px 0 28px}.page-heading p{margin:0;font-size:15px}.eyebrow{display:block;font-size:10px;letter-spacing:1.8px;font-weight:600;margin-bottom:14px;color:#707070}.primary{background:#202020;color:#fff;border-color:#202020;font-size:14px;padding:14px 20px;min-height:48px}.primary:hover{background:#3b3b3b}.week-overview{display:flex;gap:24px;align-items:center;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px;color:#666}.week-overview>span{display:flex;align-items:center;gap:9px}.week-overview button{margin-left:auto}.text-button{border:0;background:none;padding:7px 0;font-size:13px;text-align:left;color:#333}.text-button:hover{background:none;text-decoration:underline}.section-line{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:34px 0 20px}.section-line h2,.section-line h3{margin:0}.week-controls{display:flex;align-items:center;gap:10px}.week-controls h2{font-size:19px;margin:0}.week-controls button{padding:8px;border:0;background:none}.subtle{font-size:11px;color:#888;margin-left:12px}.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.days button{height:86px;flex-direction:column;gap:7px;background:#f6f6f4;border-color:transparent;border-radius:10px}.days small{font-size:12px;text-transform:capitalize;color:#777}.days strong{font-size:24px;font-weight:500}.days .selected{background:#202020;color:#fff}.days .selected small{color:#ddd}.day-dot{width:3px;height:3px;border-radius:50%;background:transparent}.day-dot.filled{background:#777}.selected .day-dot.filled{background:#fff}.daily-title{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:32px 0 18px}.daily-title h2{font-size:18px;margin:0;text-transform:capitalize}.muted{font-size:12px;color:#757575}.meal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.meal-card{min-width:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.meal-top{padding:16px}.meal-top span{font-size:13px;font-weight:650}.meal-top small{display:block;color:#818181;font-size:10px;margin-top:5px}.food-art{position:relative;overflow:hidden;background:#f1f1ef;isolation:isolate}.dish-photo{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s}.recipe-card:hover .dish-photo{transform:scale(1.025)}.photo-placeholder{width:100%;height:100%;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#9b9b96}.photo-placeholder small{font-size:11px}.meal-image{display:block;padding:0;border:0;border-radius:0;width:100%;height:180px}.meal-image i{position:absolute;bottom:10px;left:10px;max-width:calc(100% - 20px);font-size:10px;font-style:normal;background:#fffffff0;padding:6px 8px;border-radius:5px}.meal-content{padding:16px}.title-button{border:0;background:none;padding:0;justify-content:flex-start;text-align:left}.title-button:hover{background:none;text-decoration:underline}.meal-content h3{font-size:15px;margin:0;min-height:42px}.meal-content p{display:flex;gap:6px;align-items:center;font-size:11px;margin:12px 0}.portion-link{padding:3px 0;border:0;background:none;font-size:inherit;text-decoration:underline;text-underline-offset:3px}.meal-actions{display:flex;flex-wrap:wrap;gap:7px}.meal-actions button{font-size:11px;padding:8px 10px}.remove-meal{border:0;background:none;color:#777;font-size:11px;padding:12px 0 0}.empty-meal{width:100%;height:265px;display:flex;flex-direction:column;border:0;border-top:1px dashed var(--line);border-radius:0;background:#fafaf9;color:#666;font-size:13px;gap:12px}.empty-meal>span{display:grid;place-items:center;width:44px;height:44px;border:1px solid #ddd;border-radius:50%}.empty-meal small{color:#999;font-size:11px}.recipe-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.recipe-grid.featured{grid-template-columns:repeat(4,minmax(0,1fr))}.recipe-card{display:block;text-align:left;padding:0;border:0;border-radius:0;background:transparent;min-width:0}.recipe-card:hover{background:transparent}.recipe-card .food-art{height:240px;border-radius:10px}.featured .food-art{height:180px}.recipe-body{padding:16px 0}.recipe-body small{font-size:10px;color:#777}.recipe-body h3{font-size:17px;min-height:46px;margin:9px 0}.recipe-time{position:absolute;right:12px;bottom:12px;display:flex;align-items:center;gap:5px;background:#fffffff2;border-radius:5px;padding:6px 8px;font-size:11px}.search{display:flex;align-items:center;gap:12px;padding:4px 16px;border:1px solid #ddd;border-radius:9px;max-width:650px}.search input{border:0;background:none;margin:0;padding:12px 0}.search input:focus-visible{outline-offset:0}.meal-filters{display:flex;gap:22px;border-bottom:1px solid var(--line);margin:24px 0 16px;overflow:auto}.meal-filters button{border:0;border-bottom:2px solid transparent;border-radius:0;white-space:nowrap;padding:12px 0;background:none;color:#777;font-size:14px}.meal-filters .selected{border-color:#222;color:#222;font-weight:600}.filters{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:18px 0 26px}.filters button{border-radius:22px;padding:8px 15px;font-size:12px}.filters .selected{background:#242424;color:#fff;border-color:#242424}.filters label{display:flex;align-items:center;margin:0 5px;font-size:12px}.load-more{display:flex;margin:28px auto}.catalog-note{padding:14px 17px;background:#f6f6f4;border-radius:8px;font-size:12px;line-height:1.65;color:#666;margin-bottom:22px}.catalog-note.warm{background:#fff5e7;color:#795c30}.catalog-note strong{font-weight:600}.expiry-banner{display:flex;align-items:center;gap:15px;padding:19px;background:#faf4e9;border-radius:9px;margin:25px 0;color:#6b5634}.expiry-banner strong{font-size:14px}.expiry-banner p{margin:4px 0 0;font-size:12px}.expiry-banner button{border:0;background:none;margin-left:auto}.budget-summary{display:flex;align-items:flex-start;gap:14px;padding:18px 20px;background:#f6f6f4;border:1px solid var(--line);border-radius:10px;margin:0 0 22px}.budget-summary>div{flex:1}.budget-summary strong{font-size:14px;font-weight:600}.budget-summary p{font-size:12px;margin:6px 0}.budget-summary small{display:block;font-size:10px;line-height:1.6;color:#777}.budget-summary.over{background:#fff5e7;border-color:#ecdbc2}.list-toolbar{display:flex;align-items:center;gap:12px;margin:10px 0 22px}.list-toolbar>span{margin-right:auto;font-size:13px;color:#666}.list-toolbar button{font-size:13px}.shopping-list{border:1px solid var(--line);border-radius:10px;overflow:hidden}.shopping-row{display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--line);padding:20px}.shopping-row:last-child{border:0}.shopping-row>div{flex:1}.shopping-row strong{font-size:14px;font-weight:500}.shopping-row small{display:block;color:#888;font-size:11px;margin-top:5px}.shopping-row>span{font-size:13px;color:#666}.checkbox{width:26px;height:26px;padding:0;border:1px solid #bbb;border-radius:6px;flex-shrink:0}.done .checkbox{color:#fff;background:#222;border-color:#222}.done strong{text-decoration:line-through;color:#888}.icon-button{border:0;background:none;padding:8px;color:#666}.help-card{display:flex;gap:13px;align-items:flex-start;padding:20px;background:#f5f5f3;border-radius:9px;margin:24px 0;color:#666}.help-card strong{font-size:13px}.help-card p{font-size:12px;margin:4px 0 0}.pantry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.pantry-card{display:flex;align-items:center;gap:16px;padding:22px;border:1px solid var(--line);border-radius:10px}.pantry-card h3{font-size:16px;margin:0 0 7px}.pantry-card p{font-size:13px;margin:0 0 12px}.pantry-card .icon-button{margin-left:auto;align-self:flex-start}.pantry-icon{background:#f4f4f1;color:#777;border-radius:10px;padding:14px}.expiry{padding:5px 8px;background:#f3f3f1;color:#666;font-size:11px;border-radius:4px}.expiry.soon{background:#fff1cf;color:#805e15}.expiry.expired{background:#fce6e3;color:#983d35}.settings-card{padding:28px;border:1px solid var(--line);border-radius:12px;margin-bottom:22px;max-width:850px}.settings-card h2{display:flex;align-items:center;gap:10px;font-size:21px}.settings-card p{font-size:13px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}label{display:block;font-size:13px;color:#555;margin:16px 0}input,select,textarea{display:block;width:100%;min-width:0;border:1px solid #d8d8d8;border-radius:7px;background:#fff;color:#222;padding:12px;margin-top:9px}input[type=checkbox]{display:inline-block;width:17px;height:17px;margin:0 9px 0 0;accent-color:#222;vertical-align:middle}textarea{resize:vertical;line-height:1.7}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line)}.setting-row select{display:inline-block;width:auto;font-size:12px;padding:8px;margin:0 0 0 6px}.hint{font-size:11px!important;line-height:1.7;color:#777!important}.choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.choice-grid label{display:flex;align-items:center;font-size:12px;padding:13px 10px;border:1px solid var(--line);border-radius:7px;margin:0}.choice-grid .chosen{border-color:#888;background:#f5f5f3}.button-row{display:flex;gap:10px;flex-wrap:wrap}.google-button{font-size:14px}.import-label{margin-top:24px}.empty{display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:220px;color:#999;text-align:center}.empty p{font-size:14px;max-width:360px;margin:16px 0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px}.modal{position:relative;background:#fff;border-radius:16px;padding:34px;max-width:100%;max-height:90dvh;width:550px;overflow:auto;overscroll-behavior:contain;box-shadow:0 20px 80px #0002}.modal.wide{width:690px}.modal>h2,.modal form>h2{font-size:28px;font-weight:600;letter-spacing:-.8px;padding-right:22px}.modal h3{margin-top:25px}.modal-close{position:absolute;right:14px;top:14px;z-index:2;background:#fffffff2;border:1px solid var(--line);border-radius:50%;width:36px;height:36px;padding:5px}.full{width:100%;margin-top:12px}.danger{border:0;background:none;color:#a53b34}.recipe-hero{height:290px;border-radius:10px;margin-bottom:22px}.nutrition{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:18px 8px;background:#f5f5f3;border-radius:9px;text-align:center;gap:4px}.nutrition strong{display:block;font-size:23px;font-weight:500}.nutrition small{display:block;font-size:10px;color:#777;margin-top:6px}.portion-input{display:inline-block;width:70px;padding:7px;margin:0 0 0 8px}.ingredient{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid var(--line);font-size:13px}.ingredient b{font-weight:500;white-space:nowrap}.steps{list-style:none;padding:0}.steps li{display:flex;gap:16px;margin-bottom:20px}.steps li>span{display:grid;place-items:center;flex-shrink:0;width:29px;height:29px;border:1px solid #ccc;border-radius:50%;font-size:12px}.steps p{font-size:14px;margin:0;color:#444;line-height:1.75}.recipe-credits{border-top:1px solid var(--line);padding-top:14px}.recipe-credits p{font-size:10px;overflow-wrap:anywhere}.picker{max-height:60vh;overflow:auto}.picker>button{width:100%;text-align:left;justify-content:flex-start;padding:13px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:none;gap:14px}.picker>button>div{flex:1}.picker strong{font-size:14px;font-weight:500}.picker small{display:block;font-size:11px;color:#777;margin-top:5px}.picker-photo{width:70px;height:64px;border-radius:7px;overflow:hidden;flex-shrink:0;background:#f5f5f3}.picker-photo .photo-placeholder small{display:none}.ingredient-editor{display:flex;align-items:center;gap:8px}.ingredient-editor input{width:85px}.ingredient-editor select{flex:1}.ingredient-editor button{padding:9px;margin-top:9px}.price-list{max-height:43vh;overflow-y:auto;margin:16px 0}.price-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--line);margin:0}.price-row span{flex:1;font-size:13px}.price-row small{display:block;margin-top:4px;color:#888;font-size:11px}.price-row input{width:105px;margin:0}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%);z-index:40;background:#222;color:#fff;padding:16px 20px;border-radius:10px;max-width:calc(100vw - 30px);display:flex;align-items:center;gap:16px;box-shadow:0 5px 25px #0002;font-size:13px;line-height:1.6}.toast button{background:none;border:0;padding:0;color:#fff}footer{display:flex;align-items:center;justify-content:center;gap:8px;color:#888;font-size:11px;padding:48px 0 30px}.mobile-nav{display:none}@media(max-width:1100px){.topbar{padding:0 24px;gap:15px}.topbar nav button{font-size:12px;padding:10px}.topbar nav button svg{display:none}.meal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.meal-image{height:230px}.recipe-grid{gap:20px}.recipe-card .food-art{height:200px}.recipe-grid.featured{grid-template-columns:repeat(3,minmax(0,1fr))}.featured .recipe-card:last-child{display:none}}@media(max-width:760px){.topbar{height:76px;padding:0 20px}.brand{font-size:20px;gap:10px}.brand-icon{width:37px;height:37px}.brand small{font-size:9px}.topbar nav{display:none}.avatar{width:33px;height:33px}main{padding:0 20px}header{height:44px;font-size:10px}.breadcrumb span{margin:0 7px}.sync-status{font-size:9px}.page-heading{padding:25px 0 24px;display:block}.page-heading h1{font-size:34px;letter-spacing:-1.4px}.page-heading p{font-size:13px;max-width:340px}.page-heading>.primary{margin-top:22px;width:100%}.eyebrow{font-size:9px;margin-bottom:13px}.week-overview{gap:15px;flex-wrap:wrap;font-size:11px;padding:15px 0}.week-overview>span{gap:6px}.week-overview button{font-size:11px;margin:0}.week-overview svg{width:16px}.section-line{gap:10px;margin:25px 0 16px}.section-line h2{font-size:19px}.week-controls{gap:2px}.week-controls h2{font-size:13px;letter-spacing:-.2px}.week-controls button{padding:4px}.section-line .text-button{font-size:11px;gap:5px}.subtle{display:none}.days{gap:5px}.days button{height:74px;padding:9px 2px;gap:6px;border-radius:8px}.days small{font-size:10px}.days strong{font-size:21px}.daily-title{margin:25px 0 16px;align-items:flex-start;gap:10px}.daily-title h2{font-size:14px;letter-spacing:-.2px}.daily-title .muted{font-size:10px;text-align:right;max-width:120px}.meal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.meal-top{padding:13px 12px}.meal-top span{font-size:12px}.meal-top small{font-size:9px}.meal-image{height:150px}.meal-content{padding:13px 12px}.meal-content h3{font-size:14px;min-height:58px;line-height:1.4}.meal-content p{font-size:10px;gap:4px;flex-wrap:wrap}.meal-actions{gap:6px}.meal-actions button{font-size:10px;padding:8px 9px;min-height:34px}.remove-meal{font-size:10px;min-height:34px;padding:8px 0 0}.empty-meal{height:260px;font-size:12px}.empty-meal small{font-size:10px}.recipe-grid,.recipe-grid.featured{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.featured .recipe-card:last-child{display:block}.recipe-card .food-art{height:160px}.recipe-body{padding:13px 0}.recipe-body h3{font-size:14px;min-height:40px;margin:7px 0}.recipe-body small{font-size:9px}.recipe-body .muted{font-size:10px}.recipe-time{font-size:10px;bottom:8px;right:8px;padding:5px}.search{padding:3px 12px}.search input{font-size:16px}.meal-filters{gap:20px;margin:20px 0 12px}.meal-filters button{font-size:12px}.filters{gap:7px;margin:15px 0 22px}.filters button{font-size:11px;padding:8px 12px}.filters label{font-size:11px;margin:6px 0}.catalog-note{font-size:11px;padding:13px 14px}.budget-summary{padding:15px;gap:10px}.budget-summary strong{font-size:12px}.budget-summary p{font-size:11px}.budget-summary small{font-size:9px}.budget-summary .text-button{font-size:10px}.budget-summary>svg{width:18px}.expiry-banner{padding:16px;gap:10px}.expiry-banner strong{font-size:12px}.expiry-banner p{font-size:11px}.list-toolbar{flex-wrap:wrap;gap:8px}.list-toolbar>span{font-size:12px}.list-toolbar button{font-size:11px;padding:9px 11px}.shopping-row{padding:16px 12px;gap:10px;flex-wrap:wrap}.shopping-row strong{font-size:13px}.shopping-row small{font-size:10px}.shopping-row>span{font-size:12px}.shopping-row .text-button{font-size:11px}.pantry-grid{grid-template-columns:1fr}.pantry-card{padding:17px;gap:13px}.pantry-card h3{font-size:14px}.pantry-icon{padding:11px}.settings-card{padding:20px;margin-bottom:18px}.settings-card h2{font-size:19px}.form-grid{grid-template-columns:1fr;gap:0}.setting-row label{font-size:11px}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-grid label{font-size:11px;padding:12px 9px}input,select,textarea{font-size:16px}.setting-row select{font-size:12px}.modal-backdrop{padding:12px;align-items:flex-end}.modal{max-height:91dvh;border-radius:17px 17px 10px 10px;padding:27px 20px;padding-bottom:calc(25px + env(safe-area-inset-bottom))}.modal>h2,.modal form>h2{font-size:25px}.recipe-hero{height:220px}.nutrition{padding:15px 4px}.nutrition strong{font-size:21px}.nutrition small{font-size:9px}.steps p{font-size:13px}.ingredient{font-size:12px;gap:12px}.picker-photo{width:62px;height:60px}.picker strong{font-size:13px}.help-card{padding:17px}.help-card p{font-size:11px}.price-row span{font-size:12px}.toast{bottom:95px;width:calc(100vw - 30px);font-size:12px}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:10;justify-content:space-around;padding:10px 6px calc(10px + env(safe-area-inset-bottom));background:#fffffff5;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--line)}.mobile-nav button{display:flex;flex-direction:column;gap:6px;border:0;background:none;color:#888;padding:5px 8px;min-width:52px}.mobile-nav button span{font-size:9px}.mobile-nav button.active{color:#111}.mobile-nav button.active svg{stroke-width:2.5}footer{padding:36px 0 115px;font-size:9px}.ingredient-editor input{width:70px}.ingredient-editor select{font-size:13px}}@media(max-width:360px){main{padding:0 14px}.meal-image{height:130px}.recipe-card .food-art{height:140px}.week-controls h2{font-size:12px}.section-line .text-button{font-size:10px}.meal-content{padding:11px 9px}.meal-actions button{padding:7px}.week-overview{gap:12px}.mobile-nav button{padding:5px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}@media(max-width:760px){.page-heading{padding-top:15px}.page-heading .eyebrow{display:none}.page-heading h1{font-size:30px;margin-bottom:10px}.page-heading>.primary{margin-top:16px}.budget-summary small{display:none}.week-overview{padding:13px 0}.recipe-hero{height:auto;aspect-ratio:1.25}.meal-image{height:160px}}.catalog-tools{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:18px 0}.catalog-tools label{margin:0;max-width:310px;flex:1}.catalog-tools select{margin-top:7px}.catalog-tools>span{font-size:12px;white-space:nowrap;padding-bottom:13px}.meal-filters{overflow-x:auto;flex-wrap:nowrap}.meal-filters button{white-space:nowrap;flex-shrink:0}@media(max-width:760px){.catalog-tools{gap:12px}.catalog-tools label{font-size:12px}.catalog-tools>span{font-size:11px}}
