:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;--bg:#07130f;--surface:#0d211a;--surface-2:#123126;--line:#285344;--text:#eefbf6;--muted:#abc6ba;--mint:#61d5aa;--mint-dark:#173f31;--gold:#f2bd66;--danger:#ff8a9b;--danger-bg:#3c1820;--focus:#ffd166;--shadow:0 18px 55px #00000047;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--bg)}body{background:radial-gradient(circle at 18% -10%, #1d4c3b 0, transparent 32rem), var(--bg);min-width:320px;min-height:100vh;color:var(--text);margin:0}body.modal-open{overflow:hidden}button,input,select,textarea{font:inherit}button,.file-button{min-height:44px}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.file-button:focus-within{outline:3px solid var(--focus);outline-offset:3px}[hidden]{display:none!important}.skip-link{z-index:100;color:#000;background:#fff;border-radius:8px;padding:10px 14px;position:fixed;top:8px;left:8px;transform:translateY(-150%)}.skip-link:focus{transform:none}.app-header{max-width:1180px;padding:max(20px, env(safe-area-inset-top)) 20px 14px;justify-content:space-between;align-items:center;gap:20px;margin:0 auto;display:flex}.brand-lockup{align-items:center;gap:13px;min-width:0;display:flex}.brand-lockup img{object-fit:contain;filter:drop-shadow(0 6px 12px #00000059)}.brand-lockup p{color:#c3ddd2;margin:3px 0 0;font-size:.85rem;line-height:1.3}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.02em;margin-bottom:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.35rem,4vw,2rem)}h2{margin-bottom:7px;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.55rem,4vw,2.35rem)}h3{margin-bottom:7px}p{color:var(--muted);line-height:1.55}.eyebrow{color:var(--mint);text-transform:uppercase;letter-spacing:.13em;margin-bottom:4px;font-size:.74rem;font-weight:850}.version-pill,.id-pill,.date-pill{border:1px solid var(--line);border-radius:999px;align-items:center;width:-moz-fit-content;width:fit-content;padding:5px 9px;font-size:.76rem;font-weight:800;display:inline-flex}.version-pill{color:var(--muted);background:0 0;border-color:#25483b;flex:none;padding:3px 7px;font-size:.68rem;font-weight:650}.header-actions{flex-wrap:wrap;justify-content:end;align-items:center;gap:7px;margin-left:auto;display:flex}.support-trigger{color:#ffe0a7;white-space:nowrap;background:#2a2010;border:1px solid #8e6b32;border-radius:999px;align-items:center;gap:6px;min-height:36px;padding:6px 9px;font-size:.72rem;font-weight:850;display:inline-flex}.support-trigger img{object-fit:contain;width:20px;height:20px}.primary-nav{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#07130ff0;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;max-width:1180px;margin:0 auto;padding:8px 20px;display:grid;position:sticky;top:0}.primary-nav button,.secondary-nav button,.filter-group button{color:var(--muted);white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:10px;padding:9px 13px}.primary-nav button{width:100%;font-weight:800}.primary-nav button.active,.secondary-nav button.active,.filter-group button.active{color:var(--text);background:var(--mint-dark);border-color:#3e8c70;font-weight:800}.secondary-nav{scrollbar-width:thin;gap:5px;max-width:1140px;margin:3px auto 0;padding:5px 0;display:flex;overflow-x:auto}.secondary-nav button{min-height:40px;padding-block:7px}.save-status{border:1px solid var(--line);max-width:1140px;color:var(--muted);background:#0d211acc;border-radius:11px;margin:8px auto 0;padding:9px 14px}.save-status .status-dot{background:var(--mint);border-radius:50%;width:9px;height:9px;margin-right:9px;display:inline-block}.save-status.working .status-dot{background:var(--gold);animation:1.2s infinite pulse}.save-status.error{background:var(--danger-bg);color:#ffeef1;border-color:#a94d60}.save-status.error .status-dot{background:var(--danger)}@keyframes pulse{50%{opacity:.35}}main{max-width:1180px;margin:0 auto;padding:28px 20px 80px}main.with-bottom-action{padding-bottom:150px}.page-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:22px;display:flex}.page-heading p{max-width:680px;margin-bottom:0}button.primary,button.secondary,button.danger,.file-button{border-radius:10px;padding:10px 14px;font-weight:800}button.primary{color:#06150f;background:var(--mint);border:1px solid #8cebc7}button.secondary,.file-button{color:var(--text);background:#163b2e;border:1px solid #3a745f}button.danger{color:#ffeef1;background:var(--danger-bg);border:1px solid #a94d60}.icon-button{width:44px;color:var(--text);border:1px solid var(--line);background:0 0;border-radius:50%;font-size:1.35rem}.button-with-icon{justify-content:center;align-items:center;gap:7px;display:inline-flex}.button-icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:19px;height:19px}.inventory-tools{z-index:15;border:1px solid var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0d211af0;border-radius:15px;grid-template-columns:minmax(220px,1fr) auto minmax(150px,.45fr) auto;align-items:end;gap:10px;margin-bottom:18px;padding:13px;display:grid;position:sticky;top:60px}label{color:#d7eee5;gap:6px;font-weight:750;display:grid}input,select,textarea{width:100%;min-height:44px;color:var(--text);background:#081812;border:1px solid #3b6656;border-radius:9px;padding:10px 11px}textarea{resize:vertical}.filter-group{background:#081812;border-radius:11px;gap:4px;padding:3px;display:flex}.date-filter{min-width:150px}.unit-toggle{min-height:44px}.household-notes{margin-bottom:18px}.add-item-panel,.inventory-results,.card,.import-report,.milestone{border:1px solid var(--line);box-shadow:var(--shadow);background:linear-gradient(145deg,#123126fa,#0a1c16fa);border-radius:18px}.modal-backdrop{z-index:80;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#010906b8;place-items:center;padding:16px;display:grid;position:fixed;inset:0;overflow:auto}.support-dialog{width:min(480px,100%);box-shadow:var(--shadow);background:linear-gradient(145deg,#163326,#0a1c16);border:1px solid #6f582f;border-radius:18px;padding:clamp(18px,4vw,28px)}.support-muffin{object-fit:contain;filter:drop-shadow(0 8px 10px #0000004d);margin:10px auto 14px;display:block}.support-pending{color:#e6cfaa;text-align:center;background:#1b170c;border:1px dashed #896a34;border-radius:10px;margin:16px 0 0;padding:11px 12px;font-size:.86rem;font-weight:700}.support-checkout{color:#06150f;background:var(--mint);border:1px solid #8cebc7;border-radius:10px;justify-content:center;align-items:center;min-height:44px;margin-top:16px;padding:10px 14px;font-weight:800;text-decoration:none;display:inline-flex}.add-item-panel{width:min(760px,100%);max-height:calc(100dvh - 32px);padding:clamp(16px,3vw,24px);overflow:auto}.add-item-panel>.field-help{margin:-2px 54px 16px 0;display:block}.section-title{justify-content:space-between;align-items:start;gap:18px;display:flex}.section-title p{margin-bottom:0}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.inventory-form-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;display:grid}.ingredient-field{grid-column:span 3;position:relative}.quantity-field{grid-column:span 1}.span-2{grid-column:1/-1}.field-help,small,.fine-print{color:var(--muted);font-size:.8rem;font-weight:500}.field-help.resolved{color:var(--mint);font-weight:750}.suggestions{border:1px solid var(--line);border-radius:10px;display:grid;overflow:hidden}.suggestions button{color:var(--text);border:0;border-bottom:1px solid var(--line);text-align:left;background:#0a1d16;justify-content:space-between;align-items:center;gap:14px;padding:10px;display:flex}.suggestions button:last-child{border-bottom:0}.suggestions button:hover{background:var(--mint-dark)}.upc-row{grid-template-columns:minmax(0,1fr) auto auto;align-items:end;gap:9px;margin-top:12px;display:grid}.upc-row button{white-space:nowrap}.status-line{min-height:1.25rem;margin:7px 0 12px;display:block}.photo-field{border:1px solid var(--line);border-radius:11px;margin:2px 0 0;padding:12px}.photo-field legend{color:var(--text);padding:0 5px;font-weight:850}.native-photo-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:none}.native-platform .native-photo-controls{display:grid}.native-platform .web-photo-control{display:none}.photo-field>.field-help{margin-top:7px;display:block}.date-tracking{border:1px solid var(--line);border-radius:11px;margin:13px 0 0;padding:12px}.date-tracking legend{color:var(--text);padding:0 5px;font-weight:850}.date-tracking>p{margin-bottom:10px}.date-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.product-details{border:1px solid var(--line);border-radius:10px;margin-top:12px}.product-details summary{cursor:pointer;color:#d7eee5;min-height:44px;padding:11px 12px;font-weight:800}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;padding:0 12px 12px;display:grid}.action-row{flex-wrap:wrap;gap:9px;margin-top:18px;display:flex}.notice{color:#d9eee6;border:1px solid var(--line);border-left:4px solid var(--mint);background:#102b21;border-radius:10px;margin-top:18px;padding:14px}.notice p:last-child{margin-bottom:0}.notice.warning{border-left-color:var(--gold)}.notice.error{border-left-color:var(--danger);background:var(--danger-bg)}.inventory-results{padding:clamp(16px,4vw,24px)}.inventory-list{gap:10px;margin-top:16px;display:grid}.inventory-card{background:#081a14;border:1px solid #23493b;border-radius:13px;grid-template-columns:66px minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px;display:grid}.inventory-photo{background:#183b2f;border-radius:12px;place-items:center;width:66px;height:66px;font-size:1.8rem;display:grid;overflow:hidden}.inventory-photo img{object-fit:cover;width:100%;height:100%}.inventory-copy h3,.inventory-copy p{margin-bottom:4px}.inventory-title{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.id-pill{color:#b6d3c7;padding:3px 7px;font-size:.66rem}.id-pill.custom{color:#ffe0a7;border-color:#956f36}.date-pill{color:var(--muted);margin-right:8px}.date-pill.soon{color:#ffe1a6;border-color:#9f7538}.date-pill.passed{color:#ffc3cc;border-color:#a94d60}.inventory-actions{flex-wrap:wrap;justify-content:end;align-items:end;gap:6px;display:flex}.inventory-actions button.secondary{min-width:44px;padding-inline:10px}.inventory-quantity-edit{width:106px;font-size:.72rem}.inventory-quantity-edit input{min-height:40px;padding:7px 9px}.inventory-quantity-edit span{color:var(--muted);font-size:.68rem}.empty-state{text-align:center;padding:48px 20px}.empty-state img{opacity:.78}.data-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.card,.import-report{padding:20px}.card.safety{border-color:#78663c}.file-button{cursor:pointer;width:-moz-fit-content;width:fit-content;display:inline-grid}.file-button input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.storage-list,.report-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.storage-list div,.report-grid div{background:#081812;border-radius:9px;padding:10px}dt{color:var(--muted);font-size:.74rem}dd{overflow-wrap:anywhere;margin:4px 0 0;font-weight:850}.import-report{border-color:#4d9479;margin-top:18px}.planning-grid{grid-template-columns:minmax(290px,.8fr) minmax(440px,1.2fr);gap:14px;display:grid}.planning-grid .meal-setup{grid-row:span 2}.planning-grid hr{border:0;border-top:1px solid var(--line);margin:20px 0}.planning-grid h4{color:#d7eee5;margin:18px 0 8px}.meal-setup details,.meal-plan-type{border:1px solid var(--line);background:#081812;border-radius:12px;margin-top:10px;overflow:clip}.meal-setup summary,.meal-plan-type summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:10px 13px;font-weight:850;display:flex}.details-body{padding:4px 13px 13px}.day-toggles,.choice-grid{flex-wrap:wrap;gap:7px;display:flex}.day-toggle,.choice-chip{min-height:40px;color:var(--muted);background:#0d271e;border:1px solid #356553;border-radius:999px;padding:8px 11px}.day-toggle.active,.choice-chip.active{color:#07130f;background:var(--mint);border-color:#8cebc7;font-weight:850}.choice-chip.restriction-chip.active{color:#fff1f3;background:#451921;border-color:#ff7589;box-shadow:0 0 0 1px #ff758952,0 0 15px #ff546c33}.selection-mark{border:1px solid;border-radius:50%;place-items:center;width:18px;height:18px;margin-right:6px;font-size:.75rem;display:inline-grid}.slot-inputs{background:#0c2119;border:1px solid #23493b;border-radius:10px;margin-top:12px;padding:12px}.slot-input-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:8px 0;display:grid}.compact-actions{flex-wrap:wrap;justify-content:end;gap:7px;display:flex}.compact-actions button{min-height:40px;padding-block:7px}.surprise-action{border-radius:9px;min-width:126px;min-height:40px;padding:7px 12px;font-size:.9rem}.plan-summary{z-index:14;border:1px solid var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0d211af5;border-radius:14px;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:15px;padding:12px;display:grid;position:sticky;top:61px}.plan-summary div{background:#081812;border-radius:9px;gap:4px;padding:8px 10px;display:grid}.plan-summary span,.recipe-meta{color:var(--muted);font-size:.78rem}.plan-summary strong{font-size:1.1rem}.good{color:var(--mint)}.warn{color:var(--gold)}.bad{color:var(--danger)}.planner-help{margin-bottom:16px}.meal-plan-days{gap:15px;display:grid}.meal-plan-day{border:1px solid var(--line);background:linear-gradient(145deg,#123126f2,#0a1c16f2);border-radius:16px;padding:17px}.meal-plan-day>h3{font-family:Georgia,Times New Roman,serif;font-size:1.4rem}.meal-slot-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.meal-slot-toolbar p{margin:0}.meal-slot-toolbar button{flex:none;min-height:40px;padding-block:7px}.meal-slot-actions{justify-content:end;align-items:center;gap:7px;display:flex}.recipe-search-toggle{place-items:center;width:44px;min-width:44px;padding:7px;display:grid}.recipe-search-toggle svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:22px;height:22px}.meal-recipe-search{background:#091b15;border:1px solid #356553;border-radius:11px;gap:7px;margin:0 0 11px;padding:11px;display:grid}.meal-recipe-search>label{font-weight:800}.meal-recipe-search .field-help{margin:0}.meal-recipe-search-results{gap:7px;display:grid}.recipe-search-result{width:100%;color:var(--text);text-align:left;background:#0b2018;border:1px solid #2b5545;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;padding:10px 11px;display:flex}.recipe-search-result>span:first-child{gap:2px;display:grid}.recipe-search-result small{color:var(--muted)}.recipe-search-result:hover{background:#102c22;border-color:#4a9477}.recipe-search-result.selected{border-color:var(--mint);background:var(--mint-dark);box-shadow:inset 4px 0 var(--mint)}.search-empty{padding:7px 2px}.recipe-choices{gap:8px;display:grid}.recipe-choice,.skip-choice{width:100%;color:var(--text);text-align:left;background:#0b2018;border:1px solid #2b5545;border-radius:11px;gap:7px;padding:12px;display:grid}.recipe-choice:hover,.skip-choice:hover{background:#102c22;border-color:#4a9477}.recipe-choice.selected,.skip-choice.selected{border-color:var(--mint);box-shadow:inset 4px 0 var(--mint);background:#173f31}.recipe-choice-heading{justify-content:space-between;align-items:start;gap:12px;display:flex}.recipe-choice-heading>span:first-child{gap:3px;display:grid}.recommendation{width:-moz-fit-content;width:fit-content;color:var(--gold);text-transform:uppercase;letter-spacing:.08em;font-weight:850}.pantry-badge{color:#cffff0;border:1px solid #3e7f67;border-radius:999px;flex:none;padding:5px 8px;font-size:.75rem;font-weight:850}.progress{background:#07130f;border-radius:999px;height:6px;display:block;overflow:hidden}.progress>span{background:var(--mint);height:100%;display:block}.skip-choice{margin-top:10px}.skip-choice span{color:var(--muted);font-size:.8rem}.sticky-action-bar{left:50%;bottom:max(12px, env(safe-area-inset-bottom));z-index:30;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0a1e17f7;border:1px solid #3c705e;border-radius:15px;justify-content:space-between;align-items:center;gap:14px;width:min(100% - 32px,1140px);padding:12px 14px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 14px 48px #0000007a}.sticky-action-bar p{gap:2px;margin:0;display:grid}.sticky-action-bar p span{color:var(--muted);font-size:.78rem}.plan-actions{justify-content:flex-end;margin-top:0}button:disabled{cursor:not-allowed;opacity:.55}.shopping-layout{grid-template-columns:minmax(0,1fr) 270px;align-items:start;gap:14px;display:grid}.shopping-help{margin-bottom:14px;padding:0;overflow:clip}.shopping-help summary{cursor:pointer;color:#d7eee5;min-height:48px;padding:12px 16px;font-weight:850}.shopping-help-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0 14px 14px;display:grid}.shopping-help-grid p{background:#081812;border-radius:9px;gap:4px;margin:0;padding:10px;display:grid}.shopping-help-grid p span{color:var(--muted);font-size:.8rem}.shopping-list>.notice{margin-top:0}.shopping-items{gap:9px;margin-top:14px;display:grid}.shopping-item{background:#081a14;border:1px solid #285344;border-radius:12px;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 10px;display:grid}.shopping-item.done{opacity:.72}.shopping-item.done .shopping-copy{-webkit-text-decoration:line-through #6f8d80;text-decoration:line-through #6f8d80}.shopping-status{width:44px;height:44px;color:var(--muted);background:#0a1d16;border:1px solid #3b6656;border-radius:50%;place-items:center;padding:0;font-weight:900;display:grid}.shopping-status.quick-complete:hover{color:#07130f;background:var(--mint);border-color:#8cebc7}.shopping-status.got{color:#07130f;background:var(--mint)}.shopping-status.removed{color:#ffeef1;background:var(--danger-bg);border-color:#a94d60}.shopping-copy h3,.shopping-copy p{margin-bottom:4px}.purchase-description{color:#bfe8d8;font-size:.85rem}.shopping-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;max-width:430px;display:flex}.price-pill{color:#ffe2a9;text-align:right;border:1px solid #8a713e;border-radius:10px;gap:1px;min-width:112px;padding:5px 9px;display:grid}.price-pill strong{font-size:.8rem;font-weight:850}.price-pill small{color:#cbbf9f;max-width:170px;font-size:.64rem;font-weight:650;line-height:1.2}.undo-action{color:#1b1306;background:var(--gold);border:1px solid #ffe0a7;border-radius:9px;padding:8px 13px;font-weight:850}.undo-action:hover{background:#ffd58c}.trip-summary{position:sticky;top:61px}.trip-summary dl{gap:9px;display:grid}.trip-summary dl div{background:#081812;border-radius:9px;padding:10px}.trip-summary button{width:100%;margin-top:8px}.selected-recipes{gap:14px;display:grid}.selected-recipe-card>.section-title p{margin-bottom:5px}.selected-recipe-card>.section-title>div:first-child{min-width:0}.portion-control{text-align:center;flex:none;grid-template-columns:44px auto 44px;align-items:start;gap:7px;display:grid}.portion-control button{min-width:44px;padding-inline:8px}.planned-portion-summary{justify-items:center;gap:5px;display:grid}.planned-portion-count{color:var(--muted);font-size:.74rem;display:grid}.portion-control strong{color:var(--text);font-size:1.25rem}.selected-recipe-card>details{border-top:1px solid var(--line);margin-top:16px}.selected-recipe-card>details>summary{cursor:pointer;width:-moz-fit-content;width:fit-content;min-height:44px;color:var(--mint);padding:12px 0 0;font-weight:850}.recipe-detail{padding-top:14px}.recipe-detail h4{margin:18px 0 9px}.ingredient-requirements{gap:7px;display:grid}.ingredient-requirements>div{background:#081812;border:1px solid #23493b;border-radius:9px;justify-content:space-between;gap:16px;padding:10px;display:flex}.ingredient-requirements>div>span:first-child{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.ingredient-requirements .id-pill{display:inline-flex}.recipe-steps{gap:10px;padding-left:34px;display:grid}.recipe-steps li{padding:4px 0 4px 6px;line-height:1.5}.recipe-steps li::marker{color:var(--mint);font-weight:900}.made-row{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px;padding-top:16px;display:flex}.private-review{background:#0b2119;border:1px solid #366a57;border-radius:11px;margin-top:14px;padding:14px}.rating-row{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.rating-row button{min-height:38px;padding:7px 10px}.rating-row button.active{color:#171006;background:var(--gold);border-color:#ffe0a7}.inventory-save-celebration{z-index:120;pointer-events:none;background:0 0;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.inventory-save-scene{place-items:center;width:150px;height:150px;display:grid}.inventory-save-scene .celebration-muffin{object-fit:contain;filter:drop-shadow(0 10px 9px #00000047);width:104px;height:104px;animation:1s cubic-bezier(.2,.85,.3,1) forwards muffin-save-pop}@keyframes muffin-save-pop{0%{opacity:0;transform:translateY(28px)scale(.45)rotate(-8deg)}55%{opacity:1;transform:translateY(-8px)scale(1.12)rotate(3deg)}78%{transform:translateY(1px)scale(.96)rotate(-1deg)}to{opacity:1;transform:translateY(0)scale(1)}}.made-it-celebration{z-index:120;pointer-events:none;position:fixed;inset:0;overflow:hidden}.muffin-rain-item{opacity:0;width:58px;height:58px;animation:muffin-rain-fall var(--fall,2.6s) linear var(--delay,0s) forwards;position:absolute;top:-130px}.muffin-rain-item .celebration-muffin{object-fit:contain;filter:drop-shadow(0 6px 5px #0000004d);width:58px;height:58px}@keyframes muffin-rain-fall{0%{transform:translateY(-80px) rotate(var(--rotation,-10deg));opacity:0}8%{opacity:1}92%{opacity:1}to{transform:translateY(calc(100vh + 180px)) rotate(calc(var(--rotation,-10deg) + 540deg));opacity:0}}.firework-burst{color:#68e7bc;opacity:0;width:8px;height:8px;animation:firework-core 1.2s ease-out var(--delay,0s) forwards;border-radius:50%;position:absolute;bottom:7vh}.firework-burst:nth-of-type(2n){color:#74b9ff}.firework-spark{width:5px;height:5px;color:inherit;opacity:0;transform:rotate(var(--angle)) translateX(0);animation:firework-spark 1.15s ease-out var(--delay,0s) forwards;background:currentColor;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 0 8px}@keyframes firework-core{0%,18%{opacity:0;transform:translateY(90px)scale(.3)}22%{opacity:1}55%{opacity:1;transform:translateY(-18vh)scale(1)}to{opacity:0;transform:translateY(-18vh)scale(.2)}}@keyframes firework-spark{0%,42%{opacity:0;transform:rotate(var(--angle)) translateX(0) scale(.5)}48%{opacity:1}78%{opacity:1;transform:rotate(var(--angle)) translateX(var(--distance,82px)) scale(1)}to{opacity:0;transform:rotate(var(--angle)) translateX(calc(var(--distance,82px) + 18px)) scale(.2)}}.cookbook-tools{grid-template-columns:minmax(0,1fr) 220px;gap:12px;margin-bottom:14px;display:grid}.cookbook-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.recipe-card{border:1px solid var(--line);min-width:0;box-shadow:var(--shadow);background:linear-gradient(145deg,#123126fa,#0a1c16fa);border-radius:16px;padding:17px}.recipe-card.favorite{box-shadow:inset 0 3px var(--gold), var(--shadow);border-color:#a27e3f}.recipe-card.disliked{opacity:.67}.recipe-card .section-title p{margin:5px 0}.recipe-badges,.recipe-tags{flex-wrap:wrap;gap:6px;display:flex}.recipe-badges{justify-content:end}.recipe-badges span,.recipe-tags span{color:#bdd8cd;border:1px solid #356553;border-radius:999px;padding:4px 7px;font-size:.72rem;font-weight:750}.recipe-side-badges{flex-direction:column;flex:none;align-items:end;gap:5px;display:flex}.recipe-time-badge{color:#ffe0a7;white-space:nowrap;background:#1b170c;border:1px solid #6d5b32;border-radius:999px;align-items:center;gap:4px;width:-moz-fit-content;width:fit-content;padding:4px 7px;font-size:.72rem;font-weight:800;display:inline-flex}.recipe-time-badge svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:13px;height:13px}.selected-recipe-card .recipe-time-badge{margin-top:0}.recipe-tags{margin:10px 0}.cookbook-actions{flex-wrap:wrap;gap:7px;margin-bottom:10px;display:flex}.cookbook-actions button.active{color:#171006;background:var(--gold);border-color:#ffe0a7}.cookbook-recipe-detail{border-top:1px solid var(--line);margin-top:12px}.cookbook-recipe-detail>summary{cursor:pointer;width:-moz-fit-content;width:fit-content;min-height:44px;color:var(--mint);padding-top:12px;font-weight:850}.serving-summary{color:var(--muted);font-size:.84rem}.cookbook-serving-row{justify-content:space-between;align-items:center;gap:14px;display:flex}.cookbook-serving-row>div:first-child{gap:3px;display:grid}.cookbook-serving-control{text-align:center;grid-template-columns:44px minmax(82px,auto) 44px;align-items:center;gap:7px;display:grid}.cookbook-serving-control button{min-width:44px;padding-inline:8px;font-size:1.15rem}.cookbook-serving-control output{color:var(--muted);font-size:.72rem;display:grid}.cookbook-serving-control output strong{color:var(--text);font-size:1.2rem}.cookbook-scale-note{margin:8px 0 0}.cookbook-footer{border:1px solid var(--line);color:var(--muted);background:#0b2018;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding:14px;display:flex}.price-layout{align-items:start}.price-entry{margin:14px 0}.estimate-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0;display:grid}.estimate-summary span{border:1px solid var(--line);color:var(--muted);background:#081812;border-radius:9px;gap:3px;padding:9px 10px;font-size:.78rem;display:grid}.estimate-summary strong{color:#d9eee6;text-transform:uppercase;letter-spacing:.04em;font-size:.7rem}.market-estimate-preview{background:#1b170c;border:1px solid #6d5b32;border-radius:10px;gap:3px;min-height:58px;margin:0 0 12px;padding:10px 12px;display:grid}.market-estimate-preview strong{color:#ffe2a9}.market-estimate-preview span{color:#d2c7aa;font-size:.76rem;line-height:1.35}.saved-prices{gap:9px;margin-top:10px;display:grid}.saved-price-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(160px,1fr) minmax(220px,2fr) auto;align-items:center;gap:12px;padding:11px 0;display:grid}.saved-price-row>div:first-child{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.price-comparisons{flex-wrap:wrap;gap:7px;display:flex}.price-comparisons span{border:1px solid var(--line);background:#081812;border-radius:9px;gap:2px;min-width:88px;padding:7px 9px;display:grid}.price-comparisons small{color:var(--muted)}.cookbook-review-queue{margin-top:14px}.cookbook-review-queue>label{max-width:520px;margin-top:14px}.submission-queue{gap:8px;margin-top:12px;display:grid}.submission-queue article{border:1px solid var(--line);background:#081812;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px;display:grid}.submission-queue p{color:var(--muted);overflow-wrap:anywhere;margin:3px 0 0;font-size:.8rem}.user-recipe-dialog{border:1px solid var(--line);width:min(1040px,100%);max-height:calc(100dvh - 32px);box-shadow:var(--shadow);background:linear-gradient(145deg,#123126fc,#0a1c16fc);border-radius:18px;padding:clamp(16px,3vw,24px);overflow:auto}.recipe-form-section{background:#0a1d16;border:1px solid #285344;border-radius:12px;margin-top:14px;padding:14px}.recipe-form-section fieldset{border:1px solid #315e4d;border-radius:10px;margin:10px 0;padding:10px}.recipe-form-section legend{color:#d7eee5;padding:0 5px;font-weight:800}.checkbox-grid{flex-wrap:wrap;gap:7px;display:flex}.checkbox-grid label{background:#0d271e;border:1px solid #356553;border-radius:999px;grid-template-columns:auto 1fr;align-items:center;gap:6px;min-height:40px;padding:7px 10px;display:flex}.checkbox-grid input{width:18px;min-height:18px}#user-recipe-ingredients,#user-recipe-steps{gap:9px;display:grid}.user-recipe-ingredient{background:#081812;border:1px solid #23493b;border-radius:10px;grid-template-columns:minmax(180px,2fr) repeat(4,minmax(80px,.7fr)) minmax(130px,1fr) auto;align-items:end;gap:8px;padding:10px;display:grid}.user-recipe-step{grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;display:grid}.step-number{color:#07130f;background:var(--mint);border-radius:50%;place-items:center;width:30px;height:30px;font-weight:900;display:grid}.milestone-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.milestone{padding:20px}.milestone>span{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:20px;font-size:.73rem;font-weight:850;display:inline-block}.milestone.done{border-color:#43896f}.milestone.done>span{color:var(--mint)}.milestone.active{border-color:#a57b3b}.milestone.active>span{color:var(--gold)}.legal-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px;margin-top:14px;display:grid}.legal-card{box-shadow:none;padding:0;overflow:clip}.legal-card summary{cursor:pointer;min-height:58px;color:var(--text);gap:3px;padding:13px 16px;font-weight:850;display:grid}.legal-card summary small{color:var(--muted);font-size:.74rem;font-weight:600}.legal-card[open] summary{border-bottom:1px solid var(--line)}.legal-copy{padding:14px 16px 4px}.legal-copy p{color:#d7eee5}.alpha-intro{margin-top:0}footer{max-width:1140px;color:var(--muted);border-top:1px solid var(--line);justify-content:space-between;gap:15px;margin:0 auto 30px;padding:18px 0;font-size:.8rem;display:flex}@media (max-width:760px){.app-header,.primary-nav,.secondary-nav,main{padding-left:14px;padding-right:14px}.page-heading{align-items:start}.inventory-tools{grid-template-columns:1fr;top:58px}.filter-group{overflow-x:auto}.form-grid,.data-grid,.milestone-list,.planning-grid,.shopping-layout,.legal-list{grid-template-columns:1fr}.planning-grid .meal-setup{grid-row:auto}.plan-summary{grid-template-columns:1fr 1fr}.slot-input-grid{grid-template-columns:1fr}.trip-summary{position:static}.shopping-help-grid,.estimate-summary{grid-template-columns:1fr}.shopping-item{grid-template-columns:44px minmax(0,1fr)}.shopping-actions{flex-wrap:wrap;grid-column:1/-1;justify-content:end;display:flex}.selected-recipe-card>.section-title{display:grid}.portion-control{width:-moz-fit-content;width:fit-content}.ingredient-requirements>div{display:grid}.cookbook-grid,.saved-price-row,.submission-queue article{grid-template-columns:1fr}.user-recipe-ingredient{grid-template-columns:1fr 1fr}.user-recipe-ingredient .ingredient-name{grid-column:1/-1}.user-recipe-ingredient button{grid-column:2;justify-self:end}.inventory-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ingredient-field{grid-column:1/-1}.upc-row{grid-template-columns:1fr 1fr}.upc-field{grid-column:1/-1}.date-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.inventory-card{grid-template-columns:54px minmax(0,1fr)}.inventory-photo{width:54px;height:54px}.inventory-actions{grid-column:1/-1;justify-content:end}.storage-list,.report-grid{grid-template-columns:1fr 1fr}footer{flex-direction:column;margin-inline:14px}}@media (max-width:480px){.primary-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.primary-nav button{white-space:normal}.page-heading{display:grid}.page-heading .primary{width:100%}.app-header{flex-wrap:wrap;align-items:start;gap:10px}.header-actions{width:100%}.brand-lockup img{width:42px;height:49px}.brand-lockup p{font-size:.76rem}.version-pill{font-size:.68rem}.storage-list,.report-grid{grid-template-columns:1fr}.plan-summary{grid-template-columns:1fr;position:static}.recipe-choice-heading{display:grid}.cookbook-tools{grid-template-columns:1fr}.user-recipe-dialog{max-height:calc(100dvh - 16px)}.user-recipe-ingredient,.user-recipe-step{grid-template-columns:1fr}.user-recipe-ingredient .ingredient-name,.user-recipe-ingredient button{grid-column:auto}.user-recipe-step .step-number{display:none}.modal-backdrop{place-items:start center;padding:8px}.add-item-panel{max-height:calc(100dvh - 16px)}.inventory-form-grid,.upc-row,.product-grid{grid-template-columns:1fr}.ingredient-field,.upc-field,.span-2{grid-column:auto}.upc-row button{width:100%}.meal-slot-toolbar{flex-direction:column;align-items:stretch}.meal-slot-toolbar .meal-slot-actions{grid-template-columns:minmax(0,1fr) 44px;display:grid}.meal-slot-toolbar .meal-slot-actions button{width:100%}.meal-slot-toolbar .recipe-search-toggle{width:44px}.recipe-search-result{align-items:start}.cookbook-serving-row{flex-direction:column;align-items:stretch}.cookbook-serving-control{width:-moz-fit-content;width:fit-content}.sticky-action-bar{bottom:max(8px, env(safe-area-inset-bottom));flex-direction:column;align-items:stretch;gap:8px;width:calc(100% - 16px);padding:10px}.sticky-action-bar>button,.plan-actions>button{width:100%}main.with-bottom-action{padding-bottom:190px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.inventory-save-celebration.reduced-motion .celebration-muffin{animation:.35s ease-out both reduced-celebration!important}.made-it-celebration.reduced-motion .muffin-rain-item{opacity:1;top:calc(50% - 29px);animation:.35s ease-out both reduced-celebration!important}.made-it-celebration.reduced-motion .firework-burst{display:none}}@keyframes reduced-celebration{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@media (forced-colors:active){button,input,select,textarea,.card,.inventory-card,.add-item-panel,.inventory-results,.date-tracking,.product-details,.sticky-action-bar{border:1px solid canvastext}.choice-chip.restriction-chip.active{outline:3px solid highlight}}
