@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Lexend:wght@600;700;800&family=IBM+Plex+Mono:wght@400;700&display=swap";:root{--text:#5b6472;--text-h:#10151f;--text-soft:#8891a0;--bg:#f7f8fb;--surface:#fff;--border:#e6e8ef;--code-bg:#f0f2f7;--accent:#17a673;--accent-strong:#0f8f61;--accent-bg:#17a6731a;--accent-border:#17a67366;--accent-2:#f5820c;--accent-2-bg:#f5820c1f;--danger:#e0524d;--warning:#d69e00;--shadow-sm:0 1px 2px #10151f0f;--shadow-md:0 8px 24px -8px #10151f29;--shadow-lg:0 24px 48px -16px #10151f47;--sans:"Inter", system-ui, "Segoe UI", Roboto, sans-serif;--heading:"Lexend", var(--sans);--mono:ui-monospace, Consolas, monospace;font:16px/155% var(--sans);letter-spacing:.1px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme=light]){--text:#a3acbd;--text-h:#f3f5f9;--text-soft:#6b7383;--bg:#0f1218;--surface:#161a23;--border:#262b37;--code-bg:#1c212b;--accent:#2ecc90;--accent-strong:#3fdba1;--accent-bg:#2ecc9024;--accent-border:#2ecc9066;--accent-2:#ff9d3d;--accent-2-bg:#ff9d3d24;--warning:#fbbf24;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 8px 24px -8px #00000080;--shadow-lg:0 24px 48px -16px #0009}}:root[data-theme=dark]{--text:#a3acbd;--text-h:#f3f5f9;--text-soft:#6b7383;--bg:#0f1218;--surface:#161a23;--border:#262b37;--code-bg:#1c212b;--accent:#2ecc90;--accent-strong:#3fdba1;--accent-bg:#2ecc9024;--accent-border:#2ecc9066;--accent-2:#ff9d3d;--accent-2-bg:#ff9d3d24;--warning:#fbbf24;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 8px 24px -8px #00000080;--shadow-lg:0 24px 48px -16px #0009}#root{box-sizing:border-box;background:var(--bg);min-height:100svh}*{box-sizing:border-box}body{background:var(--bg);margin:0}h1,h2,h3,h4{font-family:var(--heading);color:var(--text-h);font-weight:700}p{margin:0}code{font-family:var(--mono);color:var(--text-h);background:var(--code-bg);border-radius:4px;padding:4px 8px;font-size:15px;line-height:135%;display:inline-flex}.app-shell{text-align:left;min-height:100svh;display:flex}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:28px;width:232px;height:100svh;padding:24px 16px;display:flex;position:sticky;top:0}.sidebar-brand{font-family:var(--heading);letter-spacing:-.2px;color:var(--text-h);text-align:left;cursor:pointer;background:0 0;border:none;padding:0 8px;font-size:16px;font-weight:700}.focus-shell{background:var(--bg);min-height:100vh}.focus-bar{justify-content:space-between;align-items:center;max-width:960px;margin:0 auto;padding:14px 20px 0;display:flex}.focus-wordmark,.focus-exit{font:inherit;cursor:pointer;background:0 0;border:none}.focus-wordmark{font-family:var(--heading);letter-spacing:-.02em;color:var(--text-h);font-size:18px;font-weight:700}.focus-exit{color:var(--text-soft);font-size:14px;font-weight:600}.focus-main{max-width:960px;margin:0 auto;padding:12px 20px 0}.focus-main .setup{max-width:none}.sidebar-nav{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.sidebar-nav-item{text-align:left;width:100%;font:inherit;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:9px 12px;font-size:14px;font-weight:500;display:block}.sidebar-nav-item.active{background:var(--accent-bg);color:var(--accent-strong);font-weight:600}.sidebar-nav-item:disabled{opacity:.4;cursor:default}.sidebar-nav-item:not(:disabled):not(.active):hover{background:var(--code-bg)}.sidebar-account{border-top:1px solid var(--border);flex-direction:column;gap:8px;margin-top:auto;padding:12px 8px 0;display:flex}.sidebar-account-email{color:var(--text-soft);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.sidebar-signout{font:inherit;text-align:left;color:var(--text);cursor:pointer;background:0 0;border:none;padding:6px 4px;font-size:13px}.sidebar-signout:hover{color:var(--danger)}.auth-screen{background:var(--bg);justify-content:center;align-items:center;min-height:100svh;padding:20px;display:flex}.gate-panel{text-align:center;max-width:380px;margin:0 auto}.auth-subtitle{color:var(--text-soft);margin-bottom:24px;font-size:14px}.auth-form{text-align:left;flex-direction:column;gap:14px;display:flex}.auth-form label{color:var(--text-h);flex-direction:column;gap:6px;font-size:13px;font-weight:500;display:flex}.auth-form input{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:10px;padding:10px 12px}.auth-form input:focus{border-color:var(--accent);outline:none}.auth-error{color:var(--danger);margin:0;font-size:13px}.auth-info{color:var(--accent-strong);margin:0;font-size:13px}.auth-switch{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:none;margin-top:18px;font-size:13px}.auth-back{font:inherit;color:var(--text-soft);cursor:pointer;background:0 0;border:none;margin:10px auto 0;font-size:13px;display:block}.auth-back:hover{color:var(--text-h)}.save-status{color:var(--text-soft);margin:-8px 0 16px;font-size:12px}.save-status.saved{color:var(--accent-strong)}.save-status.error{color:var(--danger)}.app-main{flex:1;min-width:0;max-width:1320px;padding:16px 32px}.app-section{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:12px;margin-bottom:20px;padding:16px 24px}.app-section h2{margin:0 0 10px;font-size:16px;font-weight:600}.app-section-wizard{max-width:1180px}.section-hint{color:var(--text-soft);margin:-6px 0 16px;font-size:13px}.settings-form{flex-direction:column;display:flex}.settings-section{border-top:1px solid var(--border);padding:10px 0}.settings-section:first-child{border-top:none;padding-top:0}.settings-section h3{text-transform:uppercase;letter-spacing:.4px;color:var(--text-soft);margin:0 0 10px;font-size:13px;font-weight:600}.settings-form .field-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.field-grid label{color:var(--text-h);flex-direction:column;gap:5px;font-size:13px;font-weight:500;display:flex}.settings-form .span-2{grid-column:span 2}.wizard-actions{align-items:flex-start;gap:14px;margin-top:10px;display:flex}.wizard-actions-solo{flex-direction:column;align-items:flex-end}.wizard-actions-split{justify-content:space-between}.wizard-actions-end{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.wizard-cta{align-items:center;gap:10px;display:inline-flex}.wizard-cta-arrow{transition:transform .15s}.wizard-cta:hover .wizard-cta-arrow{transform:translate(4px)}.wizard-step-tag{color:var(--text-soft);align-items:center;gap:7px;font-size:12px;font-weight:600;display:inline-flex}.wizard-step-index{background:var(--accent);color:#fff;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;display:inline-flex}.secondary-button{font:inherit;border:1px solid var(--border);color:var(--text-h);cursor:pointer;background:0 0;border-radius:12px;padding:12px 22px;font-weight:600;transition:border-color .15s,background .15s}.secondary-button:hover{border-color:var(--accent);background:var(--bg)}.settings-form input,.settings-form select{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:8px;padding:9px 11px;transition:border-color .15s}.settings-form input:focus,.settings-form select:focus{border-color:var(--accent);outline:none}.preferences-form{flex-direction:column;gap:12px;display:flex}.preferences-block h4{color:var(--text-h);margin:0 0 3px;font-size:13px;font-weight:600}.preferences-block .section-hint{margin:0 0 6px}.preferences-checkbox-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px 16px;display:grid}.pantry-groups{flex-direction:column;gap:16px;display:flex}.pantry-group-title{text-transform:uppercase;letter-spacing:.3px;color:var(--text-soft);margin:0 0 8px;font-size:11px;font-weight:600}.preferences-checkbox{color:var(--text-h);cursor:pointer;flex-direction:row;align-items:center;gap:8px;min-width:0;font-size:14px;display:flex}.preferences-checkbox-label{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.preferences-checkbox input{cursor:pointer;accent-color:var(--accent)}.preferences-text-input{width:100%;font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:10px;padding:10px 12px}.preferences-text-input:focus{border-color:var(--accent);outline:none}.primary-button{font:inherit;background:linear-gradient(135deg, var(--accent), var(--accent-strong));color:#fff;cursor:pointer;box-shadow:var(--shadow-sm);border:none;border-radius:12px;padding:12px 24px;font-weight:600;transition:transform .15s,box-shadow .15s}.primary-button:hover:not(:disabled){box-shadow:var(--shadow-md);transform:translateY(-1px)}.primary-button:disabled{opacity:.4;cursor:default;transform:none}.budget-slider-value{font-family:var(--heading);color:var(--text-h);margin-bottom:12px;font-size:26px;font-weight:700}.budget-slider-value span{font-family:var(--sans);color:var(--text-soft);font-size:14px;font-weight:400}.budget-slider-input{appearance:none;background:linear-gradient(to right, var(--accent) 0 var(--fill,0%), var(--border) var(--fill,0%) 100%);cursor:pointer;border-radius:999px;outline:none;width:100%;height:6px;margin:8px 0}.budget-slider-input::-moz-range-track{background:var(--border);border-radius:999px;height:6px}.budget-slider-input::-moz-range-progress{background:var(--accent);border-radius:999px;height:6px}.budget-slider-input::-webkit-slider-thumb{appearance:none;background:var(--surface);border:3px solid var(--accent);width:20px;height:20px;box-shadow:var(--shadow-sm);cursor:pointer;border-radius:999px}.budget-slider-input::-moz-range-thumb{background:var(--surface);border:3px solid var(--accent);width:14px;height:14px;box-shadow:var(--shadow-sm);cursor:pointer;border-radius:999px}.budget-slider-bounds{color:var(--text-soft);justify-content:space-between;margin-bottom:12px;font-size:12px;display:flex}.budget-slider-hint{margin:0}.macro-ring-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.macro-ring{text-align:center;flex-direction:column;align-items:center;gap:6px;display:flex}.macro-ring-svg{width:100px;height:100px}.macro-ring-track{fill:none;stroke:var(--code-bg);stroke-width:7px}.macro-ring-fill{fill:none;stroke-width:7px;stroke-linecap:round;transform-origin:40px 40px;transition:stroke-dashoffset 1.1s cubic-bezier(.22,1,.36,1);transform:rotate(-90deg)}.macro-ring-fill.severity-critical{stroke:var(--danger)}.macro-ring-fill.severity-low{stroke:var(--accent-2)}.macro-ring-fill.severity-moderate{stroke:var(--warning)}.macro-ring-fill.severity-good{stroke:var(--accent)}.macro-ring-percent{font-family:var(--heading);fill:var(--text-h);font-size:15px;font-weight:700}.macro-ring-unit{fill:var(--text-soft);font-size:9px}.macro-ring-label{color:var(--text-h);font-size:13px;font-weight:500}.macro-ring-target{color:var(--text-soft);font-size:11px}.recipe-image{box-shadow:var(--shadow-sm);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.recipe-image-photo{background:var(--code-bg)}.recipe-image-photo img{object-fit:cover;width:100%;height:100%}.recipe-image-product{background:var(--code-bg)}.recipe-image-product img{object-fit:contain;width:100%;height:100%;padding:12%}.recipe-image-loading{background-size:200% 100%;animation:1.4s infinite recipe-image-shimmer;background:linear-gradient(90deg, var(--code-bg) 25%, var(--border) 50%, var(--code-bg) 75%)!important}@keyframes recipe-image-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.recipe-image-sm{border-radius:8px;width:34px;height:34px;font-size:16px}.recipe-image-md{width:56px;height:56px;font-size:28px}.recipe-image-lg{border-radius:18px;width:88px;height:88px;font-size:44px}.recipe-image-monogram{font-family:var(--heading);color:#ffffffe6;font-weight:700}:root{--meal-breakfast:#d97706;--meal-lunch:#0284c7;--meal-dinner:#7c3aed;--meal-snack:#059669}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--meal-breakfast:#f59e0b;--meal-lunch:#38bdf8;--meal-dinner:#a78bfa;--meal-snack:#34d399}}:root[data-theme=dark]{--meal-breakfast:#f59e0b;--meal-lunch:#38bdf8;--meal-dinner:#a78bfa;--meal-snack:#34d399}.planner{flex-direction:column;gap:10px;display:flex}.planner-week{border:1px solid var(--border);border-radius:10px;overflow:hidden}.planner-grid{background:var(--border);grid-template-columns:64px repeat(7,minmax(96px,1fr));gap:1px;display:grid;overflow-x:auto}.planner-grid-corner,.planner-weekday-header{background:var(--code-bg)}.planner-grid-corner{color:var(--text-soft);justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.planner-weekday-header{text-align:center;color:var(--text-h);white-space:nowrap;padding:5px 4px;font-size:11px;font-weight:600}.planner-mealtype-label{color:var(--text-h);background:var(--code-bg);border-left:3px solid var(--meal-color);align-items:center;gap:8px;padding:0 8px;font-size:11px;font-weight:700;display:flex}.planner-mealtype-label[data-meal=breakfast]{--meal-color:var(--meal-breakfast)}.planner-mealtype-label[data-meal=lunch]{--meal-color:var(--meal-lunch)}.planner-mealtype-label[data-meal=dinner]{--meal-color:var(--meal-dinner)}.planner-mealtype-label[data-meal=snack]{--meal-color:var(--meal-snack)}.planner-cell{background:var(--surface);cursor:pointer;font:inherit;text-align:left;border:none;align-items:center;gap:6px;min-width:0;min-height:42px;padding:5px 7px;transition:background-color .15s;display:flex}.planner-cell-text{flex-direction:column;gap:1px;min-width:0;display:flex}.planner-cell:hover{background:var(--accent-bg)}.planner-cell-name{color:var(--text-h);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;font-weight:500;line-height:1.3;display:-webkit-box;overflow:hidden}.planner-cell-kcal{color:var(--text-soft);font-variant-numeric:tabular-nums;font-size:11px}.recipe-library-panel{margin-top:4px}.recipe-library-list{flex-direction:column;gap:6px;max-height:340px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.recipe-library-item{border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.recipe-library-item.current{background:var(--accent-bg);border-color:var(--accent-border)}.recipe-library-item-info{flex-direction:column;gap:4px;font-size:13px;display:flex}.recipe-library-item-name{color:var(--text-h)}.recipe-library-item-tags{gap:6px;display:flex}.tag{background:var(--code-bg);color:var(--text);border-radius:999px;padding:2px 8px;font-size:11px}.tag.specialty{background:var(--accent-2-bg);color:var(--accent-2)}.recipe-library-item button{font:inherit;border:1px solid var(--accent-border);color:var(--accent);cursor:pointer;white-space:nowrap;background:0 0;border-radius:8px;padding:6px 12px;font-size:13px}.recipe-library-item button:disabled{opacity:.5;cursor:default}.recipe-library-item button:not(:disabled):hover{background:var(--accent-bg)}.modal-backdrop{z-index:100;background:#0a0c128c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-box{background:var(--surface);width:100%;max-width:560px;max-height:90vh;box-shadow:var(--shadow-lg);border-radius:20px;padding:28px;position:relative;overflow-y:auto}.modal-close{border:1px solid var(--border);background:var(--bg);width:32px;height:32px;color:var(--text);cursor:pointer;border-radius:999px;font-size:18px;line-height:1;position:absolute;top:16px;right:16px}.modal-header{align-items:center;gap:16px;margin-bottom:12px;padding-right:32px;display:flex}.modal-header h3{margin:2px 0 6px;font-size:18px}.modal-eyebrow{color:var(--text-soft);text-transform:uppercase;letter-spacing:.4px;margin:0;font-size:12px}.modal-nutrition{color:var(--text);border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-bottom:16px;padding:10px 0;font-size:13px}.modal-tabs{gap:8px;margin-bottom:16px;display:flex}.modal-tab{font:inherit;border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:999px;padding:8px 16px;font-size:13px;font-weight:600}.modal-tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.modal-ingredients{color:var(--text);columns:2;column-gap:20px;margin:0 0 20px;padding-left:20px;font-size:13px}.modal-step{background:var(--bg);text-align:center;border-radius:14px;padding:20px}.modal-step-count{color:var(--accent);text-transform:uppercase;letter-spacing:.4px;margin:0 0 10px;font-size:12px;font-weight:600}.modal-step-text{color:var(--text-h);justify-content:center;align-items:center;min-height:72px;font-size:16px;line-height:1.5;display:flex}.modal-step-actions{justify-content:center;gap:12px;margin-top:16px;display:flex}.modal-step-actions button:not(.primary-button){font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:10px;padding:10px 18px;font-size:13px}.modal-dessert{border-top:1px solid var(--border);margin-top:20px;padding-top:20px}.modal-dessert-header{align-items:center;gap:12px;margin-bottom:10px;display:flex}.modal-dessert-header h4{margin:0;font-size:15px}.modal-dessert-nutrition{color:var(--text-soft);font-variant-numeric:tabular-nums;margin-left:auto;font-size:13px}.modal-dessert-steps{color:var(--text);margin:0;padding-left:20px;font-size:13px;line-height:1.6}.modal-step-actions button:disabled{opacity:.35;cursor:default}.severity-critical{color:var(--danger)}.severity-low{color:var(--accent-2)}.severity-moderate{color:var(--warning)}.severity-good{color:var(--accent)}.severity-excess{color:var(--danger)}.micronutrient-list{grid-template-columns:repeat(2,1fr);gap:14px 20px;margin:0;padding:0;list-style:none;display:grid}.micronutrient-row{flex-direction:column;gap:4px;display:flex}.micronutrient-row-header{color:var(--text-h);justify-content:space-between;font-size:13px;display:flex}.micronutrient-percent{font-variant-numeric:tabular-nums;font-weight:600}.micronutrient-bar{background:var(--code-bg);border-radius:999px;height:5px;overflow:hidden}.micronutrient-bar-fill{border-radius:999px;height:100%;transition:width .9s cubic-bezier(.22,1,.36,1)}@media (prefers-reduced-motion:reduce){.macro-ring-fill,.micronutrient-bar-fill{transition:none}}.micronutrient-bar-fill.severity-critical{background:var(--danger)}.micronutrient-bar-fill.severity-low{background:var(--accent-2)}.micronutrient-bar-fill.severity-moderate{background:var(--warning)}.micronutrient-bar-fill.severity-good{background:var(--accent)}.micronutrient-bar-fill.severity-excess{background:var(--danger)}.micronutrient-detail{color:var(--text-soft);font-size:12px}.shopping-category{margin-top:20px}.shopping-category:first-of-type{margin-top:4px}.shopping-category-title{text-transform:uppercase;letter-spacing:.4px;color:var(--accent-strong);border-bottom:1px solid var(--border);margin:0 0 4px;padding-bottom:4px;font-size:12px;font-weight:600}.shopping-list{margin:0;padding:0;list-style:none}.shopping-item{border-bottom:1px solid var(--border);grid-template-columns:auto minmax(160px,1fr) minmax(0,1.6fr) 64px auto;align-items:center;gap:10px;min-width:0;padding:6px 0;font-size:13px;display:grid}.shopping-item-check{cursor:pointer;accent-color:var(--accent)}.shopping-item-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-h);font-weight:600;overflow:hidden}.shopping-item-qty{flex-wrap:wrap;align-items:baseline;gap:4px 8px;min-width:0;font-size:12px;display:flex}.shopping-qty-used{color:var(--text-h);font-weight:500}.shopping-qty-arrow{color:var(--text-soft)}.shopping-qty-buy{color:var(--text)}.shopping-qty-left{background:var(--code-bg);color:var(--warning);border-radius:999px;padding:0 6px;font-weight:500}.shopping-qty-stock,.shopping-qty-owned{color:var(--accent-strong)}.leftover-item{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto 64px;align-items:center;gap:10px;padding:6px 0;font-size:13px;display:grid}.leftovers-hint{color:var(--text-soft);margin:0 0 4px;font-size:12px}.shopping-legend{color:var(--text-soft);margin:0 0 12px;font-size:12px}.shopping-item-price{color:var(--text-h);font-variant-numeric:tabular-nums;text-align:right;font-weight:500}.shopping-item-own{border:1px solid var(--border);color:var(--text-soft);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;padding:2px 8px;font-size:11px}.shopping-item-own:hover{border-color:var(--accent-border);color:var(--accent-strong)}.shopping-item.bought .shopping-item-name,.shopping-item.bought .shopping-item-qty{opacity:.6;text-decoration:line-through}.shopping-item.owned{opacity:.5}.shopping-item.owned .shopping-item-name{text-decoration:line-through}.pantry-stock{margin-bottom:18px}.pantry-stock-title{flex-direction:column;gap:2px;margin:0 0 10px;display:flex}.shopping-progress{color:var(--accent-strong);font-size:12px;font-weight:600;display:block}.budget-slider-sub{color:var(--text-soft);margin:-6px 0 10px;font-size:13px}.budget-slider-gains{flex-wrap:wrap;gap:6px;margin:0 0 10px;padding:0;list-style:none;display:flex}.budget-slider-gains li{background:var(--accent-bg);color:var(--text-h);border-radius:999px;padding:4px 10px;font-size:12px}.budget-slider-alert{border-left:3px solid var(--warning);background:var(--code-bg);color:var(--text);border-radius:6px;margin:0 0 8px;padding:8px 10px;font-size:12px}.tier-picker{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.tier-option{border:1px solid var(--border);background:var(--surface);color:var(--text-h);font:inherit;text-align:left;cursor:pointer;border-radius:10px;flex-direction:column;gap:2px;padding:10px 12px;transition:border-color .15s,background-color .15s;display:flex}.tier-option:hover{border-color:var(--accent)}.tier-option.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.tier-option-label{font-size:14px;font-weight:600}.tier-option-examples{color:var(--text-soft);font-size:12px}.planner-cell-frozen{font-size:10px}.planner-extras-title{text-transform:uppercase;letter-spacing:.4px;color:var(--text-soft);margin:0 0 8px;font-size:12px;font-weight:700}.planner-extra{width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:4px;display:flex}.planner-extra:hover{background:var(--accent-bg)}.planner-extra .recipe-image-md{width:42px;height:42px}.planner-extra-text{flex-direction:column;min-width:0;display:flex}.planner-extra-name{color:var(--text-h);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.planner-extra-meta{color:var(--text-soft);font-size:11px}.app-section-plan h2{font-family:var(--heading);letter-spacing:-.02em;font-size:24px;font-weight:700}.planner-weekday-header{flex-direction:column;justify-content:center;align-items:center;gap:1px;display:flex}.planner-recipes .planner-weekday-header{padding:8px 4px;font-size:13px}.planner-recipes .planner-mealtype-label{font-size:12px}.planner-recipes .planner-cell{gap:8px;min-height:clamp(56px,10vh,84px);padding:8px}.planner-recipes .planner-cell .recipe-image-sm{width:clamp(36px,5.5vh,48px);height:clamp(36px,5.5vh,48px);box-shadow:none}.planner-recipes .planner-cell-name{-webkit-line-clamp:3;font-size:12.5px}.planner-recipes .planner-cell-kcal{font-size:11.5px}.planner-cook-tag{letter-spacing:.4px;text-transform:uppercase;color:var(--accent-2);font-size:10px;font-weight:700}.planner-weekday-header.past{color:var(--text-soft)}.planner-cell.past{background:var(--code-bg)}.planner-cell.past .recipe-image{opacity:.45;filter:grayscale()}.planner-cell.past .planner-cell-name,.planner-cell.past .planner-cell-kcal{color:var(--text-soft)}.planner-weekday-header.today{color:var(--accent-strong);box-shadow:inset 0 -2px 0 var(--accent)}.planner-cell.today{background:color-mix(in srgb, var(--accent) 5%, var(--surface))}.planner-cell.past:hover,.planner-cell.today:hover{background:var(--accent-bg)}.plan-head{flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin-bottom:12px;display:flex}.app-section .plan-head h2{margin:0}.plan-head-meta{color:var(--text-soft);font-size:13px}.plan-head .cook-day-select{margin-left:auto}.cook-day-select{color:var(--text-soft);align-items:center;gap:8px;font-size:13px;font-weight:600;display:inline-flex}.cook-day-select select{border:1px solid var(--border);background:var(--surface);font:inherit;color:var(--text-h);cursor:pointer;border-radius:8px;padding:6px 10px}.planner-desserts{border:1px solid var(--border);background:var(--surface);border-radius:10px;padding:12px 14px}.planner-desserts-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px 12px;margin:0;padding:0;list-style:none;display:grid}.planner-weekday-toggle{font:inherit;color:var(--text-h);cursor:pointer;border:none;font-size:11px;font-weight:600}.planner-weekday-toggle:hover{background:var(--accent-bg)}.planner-weekday-toggle.skipped{color:var(--text-soft);text-decoration:line-through}.planner-skip .planner-cell{min-height:36px;padding:4px 6px}.planner-skip .recipe-image-sm{border-radius:6px;flex-shrink:0;width:24px;height:24px}.planner-skip .planner-cell-name{font-size:11px}.planner-cell.skipped{background:var(--code-bg)}.planner-cell.skipped .planner-cell-name{color:var(--text-soft);text-decoration:line-through}.planner-cell.skipped .recipe-image{opacity:.35;filter:grayscale()}.shopping-view .planner{margin-bottom:16px}.shopping-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 20px;margin-bottom:14px;display:flex}.app-section .shopping-head h2{margin:0}.shopping-head-side{align-items:center;gap:16px;display:flex}.shopping-price{flex-direction:column;align-items:flex-end;line-height:1.2;display:flex}.shopping-price strong{font-family:var(--heading);letter-spacing:-.02em;color:var(--accent-strong);font-variant-numeric:tabular-nums;font-size:30px;font-weight:800}.shopping-price span{color:var(--text-soft);margin-top:2px;font-size:12px}.shopping-skip-button{border:1px solid var(--border);background:var(--surface);font:inherit;color:var(--text-h);cursor:pointer;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:600}.shopping-skip-button:hover{border-color:var(--accent);color:var(--accent-strong)}.shopping-skip-button.active{border-color:var(--accent);background:var(--accent);color:#fff}.shopping-view{max-width:1000px}.generation-status{z-index:20;border:1px solid var(--border);background:var(--surface);border-radius:12px;flex-direction:column;gap:10px;margin-bottom:18px;padding:14px 18px;display:flex;position:sticky;top:12px;box-shadow:0 6px 20px #10151f1f}.generation-status.done{border-color:var(--accent-border);background:linear-gradient(var(--accent-bg), var(--accent-bg)), var(--surface)}.generation-status-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.generation-dismiss{width:28px;height:28px;color:var(--text-soft);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:999px;flex-shrink:0;font-size:14px}.generation-dismiss:hover{background:var(--border);color:var(--text-h)}.generation-status-text{color:var(--text-soft);flex-direction:column;gap:2px;font-size:13px;display:flex}.generation-status-text strong{font-family:var(--heading);color:var(--text-h);font-size:15px}.generation-progress{background:var(--border);border-radius:999px;height:6px;overflow:hidden}.generation-progress-bar{background:var(--accent);border-radius:999px;height:100%;transition:width .45s ease-out}.generation-status.running .generation-progress-bar{animation:1.1s ease-in-out infinite generation-pulse}@keyframes generation-pulse{50%{opacity:.65}}@media (prefers-reduced-motion:reduce){.generation-progress-bar{transition:none}.generation-status.running .generation-progress-bar{animation:none}}@media (width<=720px){.app-shell{flex-direction:column}.sidebar{grid-template-columns:1fr auto;grid-template-areas:"brand account""nav nav";align-items:center;gap:10px 14px;width:100%;height:auto;padding:12px 16px;display:grid;position:static}.sidebar-brand{text-overflow:ellipsis;white-space:nowrap;grid-area:brand;min-width:0;padding:0;overflow:hidden}.sidebar-account{border-top:none;flex-direction:row;grid-area:account;align-items:center;gap:10px;min-width:0;margin-top:0;padding:0}.sidebar-account-email{max-width:34vw}.sidebar-signout{flex-shrink:0;padding:6px 0}.sidebar-nav{flex-direction:row;grid-area:nav;min-width:0;overflow-x:auto}.app-main{max-width:100%;padding:20px}.planner-week{overflow-x:auto}.planner-grid{min-width:760px}.settings-form .field-grid{grid-template-columns:1fr}.settings-form .span-2{grid-column:span 1}.tier-picker{grid-template-columns:1fr}.macro-ring-grid{grid-template-columns:repeat(2,1fr)}.shopping-item{grid-template-columns:auto minmax(0,1fr) 56px auto;row-gap:2px}.shopping-item-name{white-space:normal}.shopping-item-qty{grid-area:2/2/auto/-1}.micronutrient-list{grid-template-columns:1fr}.planner-grid{grid-template-columns:60px repeat(7,minmax(110px,1fr));overflow-x:auto}.modal-ingredients{columns:1}}.generation-toast{z-index:100;background:var(--accent);color:#fff;box-shadow:var(--shadow-md);pointer-events:none;border-radius:999px;padding:8px 18px;font-size:14px;font-weight:600;animation:1.2s ease-out forwards generation-toast;position:fixed;top:18px;left:50%;transform:translate(-50%)}@keyframes generation-toast{0%{opacity:0}12%{opacity:1}70%{opacity:1}to{opacity:0}}.sub-tabs{border:1px solid var(--border);background:var(--code-bg);border-radius:10px;gap:4px;margin-bottom:18px;padding:4px;display:inline-flex}.sub-tab{color:var(--text);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:7px;padding:6px 14px;font-size:13px;font-weight:500}.sub-tab:hover{color:var(--text-h)}.sub-tab.active{background:var(--surface);box-shadow:var(--shadow-sm);color:var(--text-h)}.shopping-item-amount{font-weight:700}.micronutrient-name,.macro-ring-label{align-items:center;gap:6px;display:inline-flex}.nutrient-info{display:inline-flex;position:relative}.nutrient-info-icon{border:1px solid var(--text-soft);width:16px;height:16px;color:var(--text-soft);cursor:help;background:0 0;border-radius:50%;padding:0;font:italic 600 10px/1 Georgia,serif}.nutrient-info-icon:hover,.nutrient-info-icon:focus-visible{border-color:var(--accent);color:var(--accent)}.nutrient-info-tip{z-index:20;border:1px solid var(--border);background:var(--surface);width:max-content;max-width:min(280px,80vw);box-shadow:var(--shadow-md);color:var(--text);text-align:left;white-space:normal;opacity:0;visibility:hidden;pointer-events:none;border-radius:10px;padding:10px 12px;font-size:12px;font-weight:400;line-height:1.45;transition:opacity .15s,transform .15s,visibility .15s;position:absolute;top:calc(100% + 6px);left:-12px;transform:translateY(-4px)}.nutrient-info-tip strong,.nutrient-info-tip em{color:var(--text-h)}.nutrient-info-tip em{font-style:normal;font-weight:600}.nutrient-info:hover .nutrient-info-tip,.nutrient-info:focus-within .nutrient-info-tip{opacity:1;visibility:visible;transform:translateY(0)}.macro-ring .nutrient-info-tip{left:50%;transform:translate(-50%,-4px)}.macro-ring .nutrient-info:hover .nutrient-info-tip,.macro-ring .nutrient-info:focus-within .nutrient-info-tip{transform:translate(-50%)}.member-switch{margin-bottom:0}.section-title-member{color:var(--text-soft);font-weight:500}.modal-nutrition-shared p{margin:0 0 4px}.modal-nutrition-shared p:last-child{margin-bottom:0}.modal-ingredients li{break-inside:avoid}.modal-ingredient-split{color:var(--text-soft);font-size:12px;display:block}.app-main,.planner-week{position:relative}.planner-cell.locked{cursor:default;pointer-events:none;-webkit-user-select:none;user-select:none}.planner-paywall{justify-content:center;align-items:center;padding:16px;display:flex;position:absolute;top:0;bottom:0;right:0}.paywall-card{text-align:center;flex-direction:column;align-items:center;gap:10px;display:flex}.paywall-cta{box-shadow:0 12px 30px -10px color-mix(in srgb, var(--accent) 85%, transparent);border-radius:999px;padding:14px 30px;font-size:16px}.paywall-summary{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);color:var(--text-h);border-radius:999px;padding:6px 14px;font-size:13px;font-weight:500}.planner-cell.locked{background:color-mix(in srgb, var(--code-bg) 55%, var(--surface))}.locked-content{filter:blur(5px)saturate(.55);opacity:.5;align-items:center;gap:8px;min-width:0;display:flex}.planner-recipes .locked-content .recipe-image-sm{width:clamp(36px,5.5vh,48px);height:clamp(36px,5.5vh,48px);box-shadow:none}.paywall-error{color:var(--danger);margin:10px 0 0;font-size:13px}.shopping-locked{min-height:330px;margin-top:8px;position:relative}.shopping-locked-paywall,.locked-tab{justify-content:center;align-items:center;display:flex}.shopping-locked-paywall{position:absolute;inset:0}.shopping-locked-list{filter:blur(5px)saturate(.55);opacity:.5;pointer-events:none;-webkit-user-select:none;user-select:none}.locked-tab{padding:40px 16px}.auth-modal-backdrop{z-index:110;background:#0a0c128c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.auth-modal{background:var(--surface);width:100%;max-width:400px;box-shadow:var(--shadow-lg);border-radius:16px;padding:28px 24px 22px;position:relative}.auth-modal .gate-panel{box-shadow:none;border:none;margin:0;padding:0}.auth-modal-close{color:var(--text-soft);cursor:pointer;background:0 0;border:none;font-size:22px;line-height:1;position:absolute;top:10px;right:12px}.app-topbar{z-index:20;justify-content:flex-end;margin-bottom:8px;display:flex;position:relative}.unlock-timer{border:1px solid var(--accent-border);background:var(--surface);font-variant-numeric:tabular-nums;color:var(--accent-strong);box-shadow:var(--shadow-sm);cursor:help;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:13px;font-weight:600;display:inline-flex;position:relative}.unlock-timer-count{border-left:1px solid var(--border);color:var(--text-soft);padding-left:8px}.unlock-timer-tip{background:var(--text-h);width:260px;color:var(--surface);box-shadow:var(--shadow-md);opacity:0;pointer-events:none;border-radius:10px;padding:10px 12px;font-size:12.5px;font-weight:500;line-height:1.45;transition:opacity .15s;position:absolute;top:calc(100% + 8px);right:0}.unlock-timer:hover .unlock-timer-tip,.unlock-timer:focus .unlock-timer-tip{opacity:1}.plan-history{border-top:1px solid var(--border);margin-top:24px;padding-top:16px}.plan-history-title{color:var(--text-h);margin:0 0 10px;font-size:13px;font-weight:700}.plan-history-list{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.plan-history-item{border:1px solid var(--border);background:var(--surface);font:inherit;color:var(--text-h);cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:7px 12px;font-size:13px;display:inline-flex}.plan-history-item:hover:not(:disabled){border-color:var(--accent)}.plan-history-item.current{border-color:var(--accent);background:var(--accent-bg);cursor:default}.plan-history-badge{color:var(--text-soft);font-size:11px;font-weight:600}.plan-history-badge.paid{color:var(--accent-strong)}@media (width<=720px){.planner-paywall{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;padding:14px 0 0;position:static}}.auth-form .auth-consent,.auth-consent{color:var(--text);text-align:left;flex-direction:row;align-items:flex-start;gap:8px;font-size:12.5px;font-weight:400;line-height:1.45;display:flex}.auth-consent input{flex-shrink:0;margin-top:2px}.auth-consent a{color:var(--accent-strong)}.generation-screen{z-index:200;background:color-mix(in srgb, var(--surface) 55%, #f4f1ea);flex-direction:column;justify-content:center;align-items:center;gap:22px;padding:24px 16px;animation:.2s ease-out generation-screen-in;display:flex;position:fixed;inset:0}@keyframes generation-screen-in{0%{opacity:0}}.generation-strip{width:min(620px,100%);overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 15% 85%,#0000);mask-image:linear-gradient(90deg,#0000,#000 15% 85%,#0000)}.generation-strip-track{gap:14px;width:max-content;animation:9s linear infinite generation-strip;display:flex}@keyframes generation-strip{to{transform:translate(-50%)}}.generation-strip-tile{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-md);border-radius:22px;padding:8px;display:flex}.generation-strip-tile .recipe-image-lg{width:96px;height:96px;box-shadow:none;border-radius:16px}.generation-title{font-family:var(--heading);letter-spacing:-.02em;color:var(--text-h);text-align:center;margin:6px 0 0;font-size:clamp(22px,3vw,28px);font-weight:700}.generation-dots:after{content:"…";color:var(--accent);animation:1s steps(4,end) infinite generation-dots}@keyframes generation-dots{0%{content:""}33%{content:"."}66%{content:".."}to{content:"..."}}.generation-steps{flex-direction:column;gap:12px;width:min(460px,100%);margin:0;padding:0;list-style:none;display:flex}.generation-step{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);color:var(--text-h);border-radius:16px;align-items:center;gap:14px;padding:14px 18px;font-size:15px;animation:.25s ease-out generation-step-in;display:flex}@keyframes generation-step-in{0%{opacity:0;transform:translateY(6px)}}.generation-step-icon{border:3px solid color-mix(in srgb, var(--accent) 25%, transparent);border-top-color:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:15px;font-weight:700;animation:.8s linear infinite generation-spin;display:flex}.generation-step.done .generation-step-icon{background:var(--accent);border:none;animation:none}@keyframes generation-spin{to{transform:rotate(360deg)}}.generation-meter{background:color-mix(in srgb, var(--border) 80%, var(--surface));border-radius:999px;width:min(460px,100%);height:8px;overflow:hidden}.generation-meter-bar{background:var(--accent);border-radius:999px;height:100%;transition:width .55s ease-out}.generation-percent{font-variant-numeric:tabular-nums;color:var(--text-soft);margin-top:-10px;font-size:13px;font-weight:600}@media (prefers-reduced-motion:reduce){.generation-strip-track,.generation-step-icon,.generation-dots:after{animation:none}}.sidebar-login{color:var(--accent-strong);font-weight:600}.sidebar-signout.sidebar-login:hover{color:var(--accent)}.sidebar-account{position:relative}.sidebar-account-button{width:100%;min-width:0;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:8px;padding:6px;display:flex}.sidebar-account-button:hover,.sidebar-account-button[aria-expanded=true]{background:var(--code-bg)}.sidebar-avatar{background:var(--accent-bg);width:28px;height:28px;color:var(--accent-strong);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.sidebar-account-button .sidebar-account-email{flex:1;min-width:0}.sidebar-account-chevron{color:var(--text-soft);font-size:11px}.sidebar-menu{z-index:50;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-md);border-radius:12px;flex-direction:column;padding:6px;display:flex;position:absolute;bottom:calc(100% + 6px);left:0;right:0}.sidebar-menu button{font:inherit;color:var(--text-h);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:9px 10px;font-size:13px;font-weight:500}.sidebar-menu button:hover{background:var(--code-bg)}.sidebar-menu .sidebar-menu-signout{border-top:1px solid var(--border);color:var(--danger);border-radius:0 0 8px 8px;margin-top:4px}.account-modal{max-width:440px}.account-title{font-family:var(--heading);color:var(--text-h);margin:0 0 16px;font-size:20px;font-weight:700}.account-section{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding:14px 0;display:flex}.account-label{color:var(--text-h);font-size:13px;font-weight:600}.account-value{color:var(--text);font-size:14px}.account-hint{color:var(--text-soft);margin:0;font-size:12.5px}.account-confirm{border:1px solid var(--border);background:var(--bg);font:inherit;border-radius:10px;padding:9px 12px;font-size:14px}.account-delete{border:1px solid var(--danger);font:inherit;color:var(--danger);cursor:pointer;background:0 0;border-radius:10px;padding:10px 14px;font-size:14px;font-weight:600}.account-delete:disabled{opacity:.4;cursor:default}.account-delete:not(:disabled):hover{background:var(--danger);color:#fff}@media (width<=720px){.sidebar-menu{width:220px;top:calc(100% + 6px);bottom:auto;left:auto}.sidebar-account-button{padding:4px}}.focus-bar-side{align-items:center;gap:14px;display:flex}.account-menu-down{border-top:none;margin-top:0;padding:0}.account-menu-down .sidebar-account-button{max-width:240px}.account-menu-down .sidebar-menu{width:220px;inset:calc(100% + 6px) 0 auto auto}.planner-mobile{flex-direction:column;gap:14px;display:flex}.pm-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.pm-day{border:1px solid var(--border);background:var(--surface);min-height:56px;font:inherit;color:var(--text);cursor:pointer;border-radius:10px;flex-direction:column;align-items:center;gap:1px;padding:8px 0 6px;display:flex}.pm-day-name{text-transform:capitalize;color:var(--text-soft);font-size:11px;font-weight:600}.pm-day-date{color:var(--text-h);font-size:16px;font-weight:700}.pm-day-cook{letter-spacing:.3px;text-transform:uppercase;color:var(--accent-2);font-size:8.5px;font-weight:700}.pm-day.selected{border-color:var(--accent);background:var(--accent-bg)}.pm-day.selected .pm-day-name,.pm-day.selected .pm-day-date{color:var(--accent-strong)}.pm-day.past:not(.selected){background:var(--code-bg)}.pm-day.past:not(.selected) .pm-day-date{color:var(--text-soft)}.pm-day.today:not(.selected){box-shadow:inset 0 -2px 0 var(--accent)}.pm-day.locked:not(.selected){opacity:.6}.pm-day.skipped .pm-day-date{color:var(--text-soft);text-decoration:line-through}.pm-day-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.pm-day-title{color:var(--text-h);margin:0;font-size:17px}.pm-day-toggle{border:1px solid var(--border);background:var(--surface);font:inherit;color:var(--text);cursor:pointer;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600}.pm-meals{flex-direction:column;gap:8px;display:flex;position:relative}.pm-meal{border:1px solid var(--border);border-left:3px solid var(--text-soft);background:var(--surface);font:inherit;text-align:left;color:var(--text);cursor:pointer;border-radius:10px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.pm-meal[data-meal=breakfast]{border-left-color:#d97706}.pm-meal[data-meal=lunch]{border-left-color:#0284c7}.pm-meal[data-meal=snack]{border-left-color:#059669}.pm-meal[data-meal=dinner]{border-left-color:#7c3aed}.pm-meal-label{letter-spacing:.4px;text-transform:uppercase;color:var(--text-soft);font-size:11px;font-weight:700}.pm-meal-body{align-items:center;gap:12px;min-width:0;display:flex}.pm-meal-body .recipe-image{box-shadow:none;flex-shrink:0}.pm-meal-text{flex-direction:column;gap:2px;min-width:0;display:flex}.pm-meal-name{color:var(--text-h);font-size:15px;font-weight:600;line-height:1.3}.pm-meal-kcal{color:var(--text-soft);font-size:13px}.pm-meal.past{background:var(--code-bg)}.pm-meal.past .recipe-image{opacity:.45;filter:grayscale()}.pm-meal.past .pm-meal-name{color:var(--text-soft)}.pm-meal.skipped{background:var(--code-bg)}.pm-meal.skipped .pm-meal-name{color:var(--text-soft);text-decoration:line-through}.pm-meal.skipped .recipe-image{opacity:.35;filter:grayscale()}.pm-meal.locked{cursor:default;pointer-events:none;-webkit-user-select:none;user-select:none;background:color-mix(in srgb, var(--code-bg) 55%, var(--surface))}.pm-meal.locked .pm-meal-label{opacity:.6}.pm-paywall{justify-content:center;align-items:center;padding:12px;display:flex;position:absolute;inset:0}.pm-paywall-inline{justify-content:center;padding:4px 0 2px;display:flex}@media (width<=720px){.app-main{padding:12px}.app-section{border-radius:12px;margin-bottom:14px;padding:14px}.pm-meal{gap:4px;padding:8px 12px}.pm-meal-body{gap:10px}.pm-meal-body .recipe-image-md{width:48px;height:48px}.pm-meal-name{font-size:14.5px}.shopping-head{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 12px;display:grid}.shopping-head-side,.shopping-price{display:contents}.shopping-price strong{grid-area:1/2;font-size:26px}.shopping-price span{grid-column:1/-1;margin:0}.shopping-skip-button{grid-column:1/-1;justify-self:start}.shopping-legend{font-size:12.5px}.modal-dessert-nutrition{white-space:nowrap}.sidebar-account-email,.sidebar-account-chevron,.sidebar-account-button .sidebar-account-email{display:none}.sidebar-nav-add{color:var(--accent-strong);border:1px solid var(--accent-border);background:var(--surface);padding:8px 14px;font-size:20px;font-weight:600;line-height:1}}.focus-meal-prep{border:1px solid var(--accent-border);background:var(--accent-bg);font:inherit;white-space:nowrap;color:var(--accent-strong);cursor:pointer;border-radius:999px;flex-shrink:0;padding:7px 14px;font-size:13px;font-weight:600}.focus-meal-prep:hover{border-color:var(--accent)}.landing{--paper:#fffdf7;--ink:#16140f;--landing-bg:#f4f1ea;--gutter:clamp(16px, 5vw, 64px);--cta-green:#17a673;background:var(--landing-bg);min-height:100vh;color:var(--text);scroll-behavior:smooth}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .landing{--landing-bg:#12110e}}.landing h1,.landing h2,.landing h3{font-family:var(--heading);color:var(--text-h);letter-spacing:-.02em}.landing section[id]{scroll-margin-top:72px}.landing-header{z-index:20;padding:16px var(--gutter);align-items:center;gap:32px;transition:background .2s,box-shadow .2s;display:flex;position:fixed;top:0;left:0;right:0}.landing-header.scrolled{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0e0d0bdb;box-shadow:0 1px #ffffff0f}.landing-wordmark{font-family:var(--heading);letter-spacing:-.02em;color:var(--text-h);font-size:19px;font-weight:700;text-decoration:none}.landing-header .landing-wordmark{color:#fff}.landing-nav{gap:28px;margin-left:auto;display:flex}.landing-nav a{color:#ffffffc7;font-size:14px;font-weight:500;text-decoration:none}.landing-nav a:hover{color:#fff}.landing-header-cta{color:#111;font:inherit;cursor:pointer;background:#fff;border:none;border-radius:999px;padding:9px 18px;font-size:14px;font-weight:600}.landing-header-cta:hover{background:var(--cta-green);color:#fff}.landing-hero{--photo-width:max(100vw, 177.7vh);--pants-left:calc(100vw - .48 * var(--photo-width));height:100vh;min-height:560px;padding:72px var(--gutter) 48px;color:#fff;background:radial-gradient(60% 70% at 24% 55%,#0000009e 0%,#00000059 55%,#0000 100%),#050505 url(/hero-frigo-v2.webp) 100%/cover no-repeat;align-items:center;display:flex;position:relative}.landing-hero-copy{width:calc(var(--pants-left) - var(--gutter) - 48px);container-type:inline-size}.landing .landing-hero h1{color:#fff;text-shadow:0 2px 6px #00000080,0 6px 36px #0000008c;margin:0;font-size:clamp(30px,min(7.4cqi,9.5vh),104px);font-weight:700;line-height:1.05}.landing-h1-line{white-space:nowrap;display:block}.landing-mark{white-space:nowrap;background:linear-gradient(#0000 62%,#2ecc9080 62%)}.landing-lede{font-family:var(--heading);letter-spacing:-.01em;color:#ffffffeb;text-shadow:0 2px 12px #000000b3;margin:18px 0 0;font-size:clamp(17px,3.1cqi,24px);font-weight:400}.landing-hero-actions{flex-direction:column;align-items:center;gap:10px;margin-top:clamp(28px,5vh,44px);display:flex}.landing-cta{font:inherit;cursor:pointer;border:none}.landing-cta-hero{background:var(--cta-green);color:#fff;border-radius:999px;align-items:center;gap:10px;padding:20px 44px;font-size:19px;font-weight:700;transition:transform .15s,box-shadow .15s,background .15s;display:inline-flex;box-shadow:0 16px 40px -10px #17a673d9,0 0 0 6px #17a6732e}.landing-cta-hero:hover{background:#1bbd83;transform:translateY(-2px);box-shadow:0 20px 44px -10px #17a673f2,0 0 0 8px #17a67338}.landing-cta-hero span{transition:transform .15s}.landing-cta-hero:hover span{transform:translate(3px)}.landing-cta-note{color:#fffc;text-shadow:0 1px 8px #000000b3;font-size:14px;font-weight:500}.landing-steps,.landing-week,.landing-receipt-section,.landing-faq{max-width:1200px;padding:clamp(56px, 8vw, 104px) var(--gutter);margin:0 auto}.landing-week,.landing-receipt-section,.landing-faq{border-top:1px solid var(--border)}.landing h2{margin:0;font-size:clamp(28px,3.4vw,42px);font-weight:700;line-height:1.12}.landing-section-head p,.landing-section-sub{max-width:560px;margin:12px 0 0;font-size:16px;line-height:1.6}.landing-steps ol{margin:40px 0 0;padding:0;list-style:none}.landing-steps li{border-top:1px solid var(--border);grid-template-columns:88px minmax(0,1fr) minmax(0,1fr);align-items:center;gap:24px 32px;padding:30px 0;display:grid}.landing-step-number{font-family:var(--heading);color:var(--accent-strong);letter-spacing:-.03em;font-size:44px;font-weight:700;line-height:1}.landing-steps h3{margin:0 0 6px;font-size:21px;font-weight:600}.landing-steps p{margin:0;font-size:15px;line-height:1.6}.landing-step-visual{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.landing-step-logos img{object-fit:contain;background:#fff;border-radius:10px;width:92px;height:44px;padding:6px 10px;box-shadow:0 1px 2px #0000000f}.landing-avoid-chip{background:var(--surface);color:var(--text-h);border-radius:999px;align-items:center;gap:8px;padding:6px 14px 6px 6px;font-size:13px;font-weight:600;display:inline-flex;box-shadow:0 1px 2px #0000000f}.landing-avoid-chip img{object-fit:contain;width:30px;height:30px}.landing-step-week{gap:6px}.landing-step-week span{background:var(--surface);border-radius:10px;flex-direction:column;align-items:center;gap:2px;width:52px;padding:8px 0;display:flex;box-shadow:0 1px 2px #0000000f}.landing-step-week strong{font-family:var(--heading);color:var(--text-h);font-size:15px}.landing-step-week small{color:var(--text-soft);font-size:10px}.landing-step-week .cook{background:var(--cta-green)}.landing-step-week .cook strong,.landing-step-week .cook small{color:#fff}.landing-step-week .frozen{background:#e6f1fb}.landing-week-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;margin-top:32px;display:grid}.landing-day{flex-direction:column;gap:12px;display:flex}.landing-day-name{letter-spacing:.06em;text-transform:uppercase;color:var(--text-soft);font-size:12px;font-weight:700}.landing-dish{flex-direction:column;gap:6px;display:flex}.landing-dish .recipe-image{aspect-ratio:1;width:100%;height:auto;box-shadow:none;border-radius:12px}.landing-dish-name{color:var(--text-h);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.35;display:-webkit-box;overflow:hidden}.landing-receipt-section{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:clamp(32px,6vw,88px);display:grid}.landing-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 32px;max-width:460px;margin:32px 0 0;display:grid}.landing-stats div{border-top:2px solid var(--text-h);flex-direction:column;gap:2px;padding-top:12px;display:flex}.landing-stats dd{font-family:var(--heading);letter-spacing:-.02em;color:var(--text-h);margin:0;font-size:34px;font-weight:700}.landing-stats dt{color:var(--text-soft);font-size:14px}.receipt{background:var(--paper);width:min(100%,360px);color:var(--ink);font-family:"IBM Plex Mono", var(--mono);justify-self:center;margin:0;padding:22px 22px 26px;font-size:13px;line-height:1.5;transform:rotate(-2deg);box-shadow:0 1px #0000000a,0 22px 40px -18px #281e0a59;-webkit-mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) 50%/14px 100%;mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) 50%/14px 100%}.receipt-head{text-align:center;border-bottom:1px dashed #16140f59;flex-direction:column;align-items:center;gap:2px;margin-bottom:12px;padding-bottom:14px;display:flex}.receipt-head span{opacity:.6;font-size:11px}.receipt-lines{margin:0;padding:0;list-style:none}.receipt-lines li{align-items:baseline;gap:6px;display:flex}.receipt-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.receipt-dots{border-bottom:1px dotted #16140f66;flex:1;min-width:12px;transform:translateY(-4px)}.receipt-more{opacity:.6;margin-top:4px}.receipt-total{border-top:1px dashed #16140f59;justify-content:space-between;margin-top:14px;padding-top:12px;font-size:17px;font-weight:700;display:flex}.receipt-foot{opacity:.65;margin-top:6px;font-size:11px}.landing-faq-list{max-width:760px;margin-top:28px}.landing-faq details{border-top:1px solid var(--border)}.landing-faq details:last-child{border-bottom:1px solid var(--border)}.landing-faq summary{font-family:var(--heading);color:var(--text-h);cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;font-size:18px;font-weight:600;list-style:none;display:flex}.landing-faq summary::-webkit-details-marker{display:none}.landing-faq summary:after{content:"+";color:var(--text-soft);font-size:24px;font-weight:400}.landing-faq details[open] summary:after{content:"−"}.landing-faq details p{max-width:640px;margin:-6px 0 20px;font-size:15px;line-height:1.6}.landing-final{text-align:center;background:#0e0d0b;flex-direction:column;align-items:center;gap:28px;padding:clamp(64px,9vw,120px) 16px;display:flex}.landing .landing-final h2{color:#fff}.landing-footer{padding:24px var(--gutter);color:var(--text-soft);flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:13px;display:flex}@media (width<=860px){.landing-nav{display:none}.landing-header{justify-content:space-between}.landing-hero{background:linear-gradient(#05050559,#050505f2 55%),#050505 url(/hero-frigo-v2-960.webp) 72%/cover no-repeat;align-items:flex-end;height:auto;min-height:100svh}.landing-hero-copy{width:100%}.landing .landing-hero h1{font-size:clamp(32px,9cqi,48px)}.landing-h1-line{white-space:normal;display:inline}.landing-steps li{grid-template-columns:56px minmax(0,1fr)}.landing-step-visual{grid-column:2;justify-content:flex-start}.landing-step-number{font-size:30px}.landing-week-grid{grid-template-columns:repeat(7,132px);padding-bottom:8px;overflow-x:auto}.landing-receipt-section{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.landing{scroll-behavior:auto}}.landing-header-login{white-space:nowrap;font:inherit;color:#ffffffd9;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:9px 4px;font-size:14px;font-weight:600}.landing-header-login:hover{color:#fff}@media (width<=860px){.landing-header{gap:14px}.landing-header-login{margin-left:auto}}.legal{--paper:#f4f1ea;background:var(--paper);min-height:100vh;color:var(--text)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .legal{--paper:#12110e}}:root[data-theme=dark] .legal{--paper:#12110e}.legal-header{max-width:760px;margin:0 auto;padding:20px 20px 0}.legal-wordmark{font-family:var(--heading);letter-spacing:-.02em;color:var(--text-h);cursor:pointer;background:0 0;border:none;font-size:18px;font-weight:700}.legal-main{max-width:760px;margin:0 auto;padding:28px 20px 64px;font-size:15px;line-height:1.65}.legal-main h1{font-family:var(--heading);letter-spacing:-.02em;color:var(--text-h);margin:0;font-size:clamp(26px,4vw,36px);font-weight:700}.legal-updated{color:var(--text-soft);margin:6px 0 28px;font-size:13px}.legal-section{margin-bottom:26px}.legal-section h2{font-family:var(--heading);color:var(--text-h);margin:0 0 8px;font-size:18px;font-weight:700}.legal-section p{margin:0 0 10px}.legal-section ul{margin:0 0 10px;padding-left:20px}.legal-section li{margin-bottom:6px}.legal-section a{color:var(--accent-strong)}.legal-todo{color:#78350f;background:#fde68a;border-radius:4px;padding:0 4px;font-weight:600}.legal-links{flex-wrap:wrap;gap:6px 16px;font-size:12px;display:flex}.legal-links a{color:inherit;opacity:.75;text-decoration:none}.legal-links a:hover{opacity:1;text-decoration:underline}.legal-links-footer{border-top:1px solid var(--border);margin-top:40px;padding-top:18px}.admin{--chart-1:#17a673;background:var(--bg);min-height:100vh;color:var(--text)}.admin-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;max-width:1100px;margin:0 auto;padding:20px 20px 0;display:flex}.admin-wordmark{font-family:var(--heading);color:var(--text-h);cursor:pointer;background:0 0;border:none;font-size:18px;font-weight:700}.admin-wordmark span{background:var(--code-bg);font-family:var(--sans);color:var(--text-soft);vertical-align:middle;border-radius:999px;margin-left:6px;padding:2px 8px;font-size:11px;font-weight:600}.admin-periods,.admin-tabs{gap:4px;display:flex}.admin-periods button,.admin-tabs button{border:1px solid var(--border);background:var(--surface);font:inherit;color:var(--text);cursor:pointer;border-radius:8px;padding:7px 12px;font-size:13px;font-weight:600}.admin-periods button.active,.admin-tabs button.active{border-color:var(--accent);background:var(--accent-bg);color:var(--accent-strong)}.admin-tabs{max-width:1100px;margin:16px auto 0;padding:0 20px}.admin-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:1100px;margin:0 auto;padding:16px 20px 48px;display:grid}.admin-main>*{grid-column:1/-1}.admin-card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:12px;padding:16px 18px}.admin-card-title{color:var(--text-h);margin:0 0 12px;font-size:13px;font-weight:700;display:block}.admin-muted{color:var(--text-soft);font-size:13px}.admin-hero{flex-direction:column;gap:2px;display:flex}.admin-hero .admin-card-title{margin-bottom:0}.admin-hero-value{letter-spacing:-.02em;color:var(--text-h);font-size:48px;font-weight:700;line-height:1.1}.admin-tiles{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.admin-tile{flex-direction:column;gap:4px;display:flex}.admin-tile-label{color:var(--text-soft);font-size:12px}.admin-tile-value{color:var(--text-h);font-size:24px;font-weight:600}.admin-chart{margin:0}.admin-chart-tooltip{min-height:20px;color:var(--text);margin-bottom:8px;font-size:13px}.admin-chart-tooltip strong{color:var(--text-h)}.admin-columns{border-bottom:1px solid var(--border);align-items:flex-end;gap:2px;height:160px;display:flex}.admin-column{cursor:default;background:0 0;border:none;flex:1;justify-content:center;align-items:flex-end;height:100%;padding:0;display:flex}.admin-column-bar{background:var(--chart-1);opacity:.85;border-radius:4px 4px 0 0;width:100%;max-width:24px;min-height:0}.admin-column.active .admin-column-bar{opacity:1}.admin-column.active{background:color-mix(in srgb, var(--chart-1) 8%, transparent)}.admin-axis{color:var(--text-soft);gap:2px;margin-top:6px;font-size:11px;display:flex}.admin-axis span{white-space:nowrap;flex:1;overflow:visible}.admin-bars{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.admin-bar-row{grid-template-columns:minmax(120px,180px) minmax(0,1fr) minmax(90px,auto);align-items:center;gap:12px;font-size:13px;display:grid}.admin-bar-label{color:var(--text-h)}.admin-bar-track{height:14px}.admin-bar-fill{background:var(--chart-1);border-radius:0 4px 4px 0;height:100%;display:block}.admin-bar-value{font-variant-numeric:tabular-nums;color:var(--text-h);font-weight:600}.admin-bar-note{color:var(--text-soft);font-weight:400}.admin-table-toggle{margin-top:12px;font-size:13px}.admin-table-toggle summary{color:var(--accent-strong);cursor:pointer}.admin-table{border-collapse:collapse;width:100%;margin-top:8px;font-size:13px}.admin-table th{border-bottom:1px solid var(--border);color:var(--text-soft);text-align:left;padding:6px 8px;font-size:12px;font-weight:600}.admin-table td{border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums;color:var(--text-h);vertical-align:top;padding:7px 8px}.admin-journey{flex-wrap:wrap;gap:4px;display:flex}.admin-chip{background:var(--code-bg);color:var(--text);border-radius:999px;padding:1px 7px;font-size:11px}.admin-chip.paid{background:var(--accent-bg);color:var(--accent-strong);font-weight:600}@media (width<=720px){.admin-bar-row{grid-template-columns:minmax(90px,120px) minmax(0,1fr) auto}.admin-hero-value{font-size:40px}.admin-header,.admin-tabs{padding-left:12px;padding-right:12px}.admin-tabs{overflow-x:auto}.admin-tabs button,.admin-periods button{white-space:nowrap}.admin-main{grid-template-columns:minmax(0,1fr);padding:12px 12px 40px}.admin-card{padding:14px;overflow-x:auto}}.setup{flex-direction:column;gap:12px;max-width:920px;display:flex}.setup-progress{grid-auto-columns:1fr;grid-auto-flow:column;gap:6px;display:grid}.setup-progress-step{font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;gap:6px;padding:0;display:flex}.setup-progress-step:disabled{cursor:default}.setup-progress-bar{background:var(--border);border-radius:999px;height:5px;transition:background .3s}.setup-progress-step.done .setup-progress-bar{background:var(--accent-border)}.setup-progress-step.current .setup-progress-bar{background:var(--accent)}.setup-progress-label{color:var(--text-soft);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:600;overflow:hidden}.setup-progress-step.current .setup-progress-label{color:var(--accent-strong)}.setup-card{animation:.18s ease-out setup-card-in}@keyframes setup-card-in{0%{opacity:0}to{opacity:1}}.setup-step-count{color:var(--text-soft);margin:0 0 2px;font-size:12px;font-weight:600}.setup-title{font-family:var(--heading);color:var(--text-h);margin:0 0 12px;font-size:22px;font-weight:600}.setup-step-body{flex-direction:column;gap:12px;display:flex}.setup-group-title{letter-spacing:.4px;text-transform:uppercase;color:var(--text-soft);margin:0 0 6px;font-size:12px;font-weight:700}.setup-actions{z-index:5;background:linear-gradient(to bottom, transparent, var(--bg) 30%);justify-content:space-between;align-items:center;margin-top:14px;padding:12px 0 16px;display:flex;position:sticky;bottom:0}.setup-cta{min-width:180px}.choice-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.choice-grid-logos{grid-template-columns:repeat(5,minmax(0,1fr))}.choice-grid-photos{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px}.choice-grid-2{grid-template-columns:repeat(2,1fr)}.choice-grid-3{grid-template-columns:repeat(3,1fr)}.choice-grid-4{grid-template-columns:repeat(4,1fr)}.choice-grid-5{grid-template-columns:repeat(5,1fr)}.choice-grid-6{grid-template-columns:repeat(6,1fr)}.choice-grid-7{grid-template-columns:repeat(7,minmax(0,1fr))}.choice-tile-number{font-family:var(--heading);font-variant-numeric:tabular-nums;font-size:40px;font-weight:700;line-height:1}.choice-tile{border:2px solid var(--border);background:var(--surface);min-height:70px;color:var(--text-h);font:inherit;text-align:center;cursor:pointer;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:10px 8px;transition:border-color .12s,background .12s;display:flex;position:relative}.choice-tile:hover{border-color:var(--accent-border)}.choice-tile.selected{border-color:var(--accent);background:var(--accent-bg)}.choice-tile-sm{border-radius:12px;min-height:0;padding:8px 4px 7px}.choice-tile-image{justify-content:center;align-items:center;display:flex}.choice-tile-image img{object-fit:contain;max-width:100%;max-height:100%}.choice-tile-image-logo{background:#fff;border-radius:8px;width:190px;max-width:100%;height:72px}.choice-grid-logos{gap:12px}.choice-grid-logos .choice-tile{min-height:118px;padding:18px 14px}.choice-tile-image-photo{width:42px;height:42px}.choice-tile-icon{line-height:1;display:flex}.choice-tile-lg{gap:6px;min-height:130px}.choice-tile-emoji{font-size:26px;line-height:1}.choice-tile-emoji-lg{font-size:40px}.choice-tile-label{font-family:var(--heading);letter-spacing:-.01em;font-size:13px;font-weight:600;line-height:1.2}.choice-tile-lg .choice-tile-label{font-size:15px}.choice-tile-image-barred{position:relative}.choice-tile-image-barred:after{content:"";background:var(--danger);width:120%;height:3px;box-shadow:0 0 0 2px var(--surface);border-radius:2px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-45deg)}.choice-tile-sublabel{color:var(--text-soft);font-size:11px;font-weight:400;display:block}.choice-tile-check{background:var(--accent);color:#fff;opacity:0;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:700;transition:opacity .12s;display:flex;position:absolute;top:6px;right:6px}.choice-tile.selected .choice-tile-check{opacity:1}.setup-profile-row{grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.4fr);gap:10px;display:grid}.setup-segmented{border:2px solid var(--border);background:var(--code-bg);border-radius:14px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.setup-segmented button{color:var(--text-soft);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:7px 6px;font-size:13px;font-weight:600;transition:background .12s,color .12s;display:flex}.setup-segmented button.selected{background:var(--surface);color:var(--accent-strong);box-shadow:var(--shadow-sm)}.setup-number{flex-direction:column;gap:6px;display:flex}.setup-number-label{letter-spacing:.4px;text-transform:uppercase;color:var(--text-soft);font-size:12px;font-weight:700}.setup-number-box{border:2px solid var(--border);background:var(--surface);border-radius:14px;align-items:baseline;gap:6px;padding:7px 12px;transition:border-color .15s;display:flex}.setup-number-box:focus-within{border-color:var(--accent)}.setup-number-box input{width:100%;min-width:0;font-family:var(--heading);color:var(--text-h);background:0 0;border:none;outline:none;padding:0;font-size:19px;font-weight:600}.setup-name{flex-direction:column;gap:6px;max-width:320px;margin-bottom:16px;display:flex}.setup-name input{border:2px solid var(--border);background:var(--surface);color:var(--text-h);font:inherit;border-radius:14px;outline:none;padding:9px 12px;font-size:16px;transition:border-color .15s}.setup-name input:focus{border-color:var(--accent)}.setup-number-unit{color:var(--text-soft);font-size:13px}.setup-free-input{gap:8px;display:flex}.setup-free-input input{border:2px solid var(--border);background:var(--surface);font:inherit;color:var(--text-h);border-radius:12px;flex:1;padding:12px 14px}.setup-free-input input:focus{border-color:var(--accent);outline:none}.setup-chips{flex-wrap:wrap;gap:6px;display:flex}.setup-chip{border:1px solid var(--accent-border);background:var(--accent-bg);color:var(--accent-strong);font:inherit;cursor:pointer;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600}.setup-chip-muted{border-color:var(--border);background:var(--code-bg);color:var(--text-soft);cursor:default}.fridge-photos{flex-direction:column;gap:10px;display:flex}.fridge-photos-bar{border:2px dashed var(--accent-border);background:var(--accent-bg);color:var(--text-h);border-radius:16px;flex-wrap:wrap;align-items:center;gap:12px;padding:8px 14px;display:flex}.fridge-photos-text{flex:200px;min-width:0}.fridge-photos-text strong{font-size:14px;display:block}.fridge-photos-link{font:inherit;color:var(--accent-strong);cursor:pointer;background:0 0;border:none;font-size:14px;font-weight:600}.fridge-photos-result{color:var(--accent-strong);font-size:13px;font-weight:600}.fridge-photos-add-icon{font-size:28px}.fridge-photos-list{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fridge-photo{width:72px;height:72px;box-shadow:var(--shadow-sm);border-radius:12px;position:relative;overflow:hidden}.fridge-photo img{object-fit:cover;width:100%;height:100%}.fridge-photo button{color:#fff;cursor:pointer;background:#0009;border:none;border-radius:50%;width:20px;height:20px;font-size:13px;line-height:1;position:absolute;top:3px;right:3px}.fridge-photos-detect{padding:10px 16px}.setup-focus{--paper:#f4f1ea;--paper-line:#e3ddd0;background:var(--paper);flex-direction:column;gap:0;max-width:none;height:100dvh;padding:0 clamp(16px,4vw,64px);display:flex}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .setup-focus{--paper:#12110e;--paper-line:#2a2822}}:root[data-theme=dark] .setup-focus{--paper:#12110e;--paper-line:#2a2822}.setup-top,.setup-focus .setup-card{width:100%;max-width:1280px;margin:0 auto}.setup-top{flex-direction:column;gap:clamp(10px,2vh,22px);padding-top:clamp(12px,2.4vh,26px);display:flex}.setup-top .focus-bar{max-width:none;margin:0;padding:0}.setup-focus .setup-progress{gap:8px}.setup-focus .setup-progress-bar{height:6px}.setup-focus .setup-progress-label{font-size:13px}.setup-focus .setup-card{flex-direction:column;flex:1;min-height:0;padding-top:clamp(16px,4.5vh,56px);display:flex}.setup-focus .setup-step-count{font-variant-numeric:tabular-nums;color:var(--accent-strong);margin-bottom:clamp(4px,1vh,10px);font-size:clamp(12px,1.7vh,15px);font-weight:700}.setup-focus .setup-title{letter-spacing:-.025em;margin-bottom:clamp(14px,3.5vh,40px);font-size:clamp(24px,5.2vh,52px);font-weight:700;line-height:1.1}.setup-focus .setup-step-body{flex:1;justify-content:center;gap:clamp(10px,2.2vh,24px);min-height:0}.setup-focus .setup-group{flex-direction:column;flex:auto;min-height:0;max-height:240px;display:flex}.setup-focus .setup-group-title{font-size:clamp(11px,1.5vh,13px)}.setup-focus .setup-step-body>.choice-grid,.setup-focus .setup-group>.choice-grid{flex:auto;grid-auto-rows:minmax(0,1fr);gap:clamp(8px,1.6vh,16px);min-height:0}.setup-card-store .choice-grid{max-height:440px}.setup-card-goal .choice-grid{max-height:360px}.setup-card-days .choice-grid,.setup-card-cook .choice-grid{max-height:280px}.setup-focus .choice-tile-number{font-size:clamp(36px,9vh,84px)}.setup-card-diet .choice-grid{max-height:300px}.setup-card-diet .choice-tile-image-photo{max-height:150px}.setup-focus .choice-grid-photos{grid-template-columns:repeat(auto-fill,minmax(clamp(96px,9vw,132px),1fr))}.setup-card-avoid .choice-grid{max-height:520px}.setup-card-pantry .choice-grid{max-height:480px}.setup-focus .choice-tile,.setup-focus .choice-grid-logos .choice-tile{border-color:var(--paper-line);gap:clamp(3px,.8vh,8px);min-height:0;padding:clamp(6px,1.4vh,16px) 8px;overflow:hidden}.setup-focus .choice-tile:hover{border-color:var(--accent-border)}.setup-focus .choice-tile.selected{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--surface))}.setup-focus .choice-tile-image{flex:1 1 0;width:100%;min-height:0}.setup-focus .choice-tile-image img{width:100%;height:100%}.setup-focus .choice-tile-image-photo{height:auto;max-height:96px}.setup-focus .choice-tile-image-barred{aspect-ratio:1;width:auto}.setup-focus .choice-tile-image-logo{width:min(240px,100%);height:auto;max-height:104px;padding:4px}.setup-focus .choice-tile-emoji{font-size:clamp(26px,6.5vh,64px)}.setup-focus .choice-tile-emoji-lg{font-size:clamp(36px,9vh,80px)}.setup-focus .choice-tile-label{font-size:clamp(12px,1.8vh,16px)}.setup-focus .choice-tile-lg .choice-tile-label{font-size:clamp(15px,2.6vh,22px)}.setup-focus .choice-tile-sublabel{font-size:clamp(11px,1.5vh,13px)}.setup-focus .setup-segmented{border-color:var(--paper-line);background:color-mix(in srgb, var(--paper-line) 55%, var(--paper))}.setup-focus .budget-slider{width:100%;max-width:760px;margin:0 auto}.setup-focus .budget-slider-value{font-size:clamp(34px,9vh,80px)}.setup-focus .budget-slider-value span,.setup-focus .budget-slider-sub{font-size:clamp(13px,2vh,17px)}.setup-focus .budget-slider-bounds{font-size:clamp(12px,1.7vh,14px)}.setup-focus .setup-actions{background:0 0;margin-top:0;padding:clamp(12px,3vh,32px) 0 clamp(14px,3.5vh,36px);position:static}.setup-focus .setup-cta{min-width:220px;padding:14px 28px;font-size:16px}@media (width<=720px){.setup-focus .setup-progress-label{display:none}.setup-focus .setup-card{padding-top:16px}.setup-focus .setup-title{font-size:24px}.setup-focus .setup-cta{min-width:0}.setup-focus .choice-grid-photos{grid-template-columns:repeat(3,minmax(0,1fr))}.setup-focus .setup-group{max-height:none}.setup-focus{height:auto;min-height:100dvh}.setup-focus .setup-actions{background:linear-gradient(to bottom, transparent, var(--paper) 30%);position:sticky;bottom:0}.setup-focus .choice-tile-image{flex:none;height:44px}.setup-focus .choice-tile-image-logo{height:52px}.setup-focus .choice-tile,.setup-focus .choice-grid-logos .choice-tile{min-height:80px}.setup-focus .choice-tile-emoji{font-size:28px}.setup-focus .setup-step-body,.setup-focus .setup-step-body>.choice-grid,.setup-focus .setup-group>.choice-grid{flex:none;grid-auto-rows:auto;max-height:none}.setup-focus .setup-card{flex:1 0 auto}.setup-progress-label{display:none}.choice-grid-7{grid-template-columns:repeat(4,minmax(0,1fr))}.choice-grid-4,.choice-grid-5,.choice-grid-6,.choice-grid-3,.choice-grid-logos{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-grid-logos .choice-tile{min-height:88px;padding:12px 10px}.choice-tile-image-logo{height:52px}.choice-grid-photos{grid-template-columns:repeat(3,1fr)}.setup-profile-row{grid-template-columns:repeat(3,minmax(0,1fr))}.setup-cta{min-width:0}.setup-actions .secondary-button,.setup-actions .primary-button{padding:11px 16px}.setup-profile-row>:last-child{grid-column:1/-1}.setup-number-box{gap:3px;padding:7px 8px}.setup-number-box input{font-size:17px}.setup-number-unit{font-size:11px}}@media (prefers-reduced-motion:reduce){.setup-card{animation:none}}@media (width<=720px){.setup-focus .choice-grid-photos,.choice-grid-photos{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.setup-focus .choice-grid-photos .choice-tile,.choice-grid-photos .choice-tile{border-radius:12px;gap:3px;min-height:0;padding:6px 3px}.setup-focus .choice-grid-photos .choice-tile-image{height:34px}.setup-focus .choice-grid-photos .choice-tile-label{overflow-wrap:anywhere;font-size:11px;line-height:1.15}.choice-grid-photos .choice-tile-check{width:15px;height:15px;font-size:9px;top:3px;right:3px}.fridge-photos-bar{border-radius:12px;gap:8px;padding:6px 10px}.fridge-photos-add-icon{font-size:20px}.fridge-photos-text strong{font-size:13px}.fridge-photos-text .choice-tile-sublabel{font-size:11px}.fridge-photos-button{padding:6px 12px;font-size:13px}.setup-focus .setup-card-cook .choice-tile-lg .choice-tile-label,.setup-focus .setup-card-days .choice-tile-lg .choice-tile-label{overflow-wrap:anywhere;font-size:12.5px}.setup-card-cook .choice-tile,.setup-card-days .choice-tile{min-width:0;padding-left:2px;padding-right:2px}.setup-card-cook .choice-tile-sublabel{font-size:10.5px}.setup-card-cook .choice-tile,.setup-card-days .choice-tile{justify-content:flex-end;padding-bottom:12px}.setup-card-cook .choice-tile-check,.setup-card-days .choice-tile-check{width:15px;height:15px;font-size:9px;top:4px;right:4px}}.fridge-photos-bar{background:0 0;border:none;border-radius:0;flex-wrap:nowrap;align-items:center;gap:12px;padding:0;display:flex}.fridge-photos-add{flex-shrink:0;position:relative}.fridge-photos-button{padding:9px 16px;font-size:14px}.fridge-photos-hint{min-width:0;color:var(--text-soft);font-size:13px}.fridge-photos-menu{z-index:15;border:1px solid var(--border);background:var(--surface);min-width:100%;box-shadow:var(--shadow-md);border-radius:10px;flex-direction:column;padding:4px;display:flex;position:absolute;top:calc(100% + 6px);left:0}.fridge-photos-menu button{font:inherit;text-align:left;white-space:nowrap;color:var(--text-h);cursor:pointer;background:0 0;border:none;border-radius:7px;padding:9px 12px;font-size:14px;font-weight:600}.fridge-photos-menu button:hover{background:var(--accent-bg)}
