._avatar_1u5sy_1{object-fit:cover;border-radius:50%;flex-shrink:0}._avatarFallback_1u5sy_7{background:var(--color-accent-bg);color:var(--color-accent-strong);font-weight:var(--font-weight-semibold);font-family:var(--font-body);justify-content:center;align-items:center;display:inline-flex}._offlineBanner_8dv7u_3{padding:var(--space-2) var(--space-4);text-align:center;font-size:.8rem;font-weight:var(--font-weight-medium);background:var(--color-tag-amber-bg);color:var(--color-tag-amber-text)}._ptrIndicator_8vstp_1{background:var(--color-surface-raised);width:40px;height:40px;color:var(--color-accent-strong);box-shadow:var(--shadow-card);z-index:60;pointer-events:none;border-radius:50%;justify-content:center;align-items:center;margin-left:-20px;display:flex;position:fixed;top:0;left:50%}._ptrSettling_8vstp_19{transition:transform .25s,opacity .25s}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-display:"Fraunces", "Iowan Old Style", serif;--font-body:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--h1:clamp(2.0239rem, 28.1006px + 1.3382vw, 2.6127rem);--h2:clamp(1.7599rem, 25.1238px + .9485vw, 2.1773rem);--h3:clamp(1.5304rem, 22.4205px + .6455vw, 1.8144rem);--h4:clamp(1.3308rem, 19.9742px + .4119vw, 1.512rem);--h5:clamp(1.1572rem, 17.7673px + .2337vw, 1.26rem);--h6:clamp(1.0062rem, 15.7818px + .0994vw, 1.05rem);--body:.875rem;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-headline:700;--font-weight-title:var(--font-weight-medium);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-7:1.75rem;--space-8:2rem;--space-10:2.5rem;--space-11:2.75rem;--color-bg:#f1eee6;--color-surface:#faf8f3;--color-surface-raised:#fff;--color-border:#1c1b1914;--color-text:#1c1b19;--color-text-muted:#6f6a5f;--color-text-faint:#b3ada0;--color-accent:#4f8f6b;--color-accent-strong:#3a6b50;--color-accent-bg:#dceae3;--color-highlight-bg:#dceaef;--color-highlight-strong:#3f7385;--color-status-open:#b8b2a6;--color-status-swap:#e3b341;--color-status-missing:#d1604a;--color-status-ready:#4f8f6b;--color-status-leftover:#a8927b;--color-tag-mint-bg:#dcefe3;--color-tag-mint-text:#2f6b4f;--color-tag-amber-bg:#fce8c9;--color-tag-amber-text:#77591a;--color-tag-danger-bg:#f7deda;--color-tag-danger-text:#b23b2e;--color-spend-grocery:#2e9463;--color-spend-outside:#1183b8;--radius-lg:24px;--radius-md:16px;--radius-pill:999px;--shadow-card:0 1px 2px #1c1b190a, 0 12px 28px #1c1b190f;font-family:var(--font-body);background:var(--color-bg);color:var(--color-text)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#171613;--color-surface:#1e1d1a;--color-surface-raised:#26241f;--color-border:#f1eee61f;--color-text:#f1eee6;--color-text-muted:#b3ac9d;--color-text-faint:#6f6a5f;--color-accent-strong:#8fc3a6;--color-accent-bg:#223429;--color-highlight-bg:#1f3038;--color-highlight-strong:#8fc0d2;--color-status-missing:#e07a63;--color-tag-mint-bg:#21372b;--color-tag-mint-text:#a5d6ba;--color-tag-amber-bg:#3a2f18;--color-tag-amber-text:#e6c078;--color-tag-danger-bg:#43231e;--color-tag-danger-text:#f0a396;--color-spend-grocery:#46b07f;--color-spend-outside:#4fa8d5;--shadow-card:0 1px 2px #0006, 0 12px 28px #00000073}.modal-backdrop{background:#0009}.nav-badge{color:#171613}}*{box-sizing:border-box}body,html,#root{width:100%;min-height:100%;margin:0}body{background:var(--color-bg);justify-content:center;align-items:center;min-height:100dvh;display:flex}.app-shell{padding:var(--space-5);flex-direction:column;justify-content:center;align-items:center;width:100%;display:flex}@media (width>=640px){.app-shell{padding:var(--space-8)}}.landing-logo{margin-bottom:var(--space-4);display:block}.eyebrow{margin:0 0 var(--space-2);font-size:.75rem;font-weight:var(--font-weight-semibold);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted)}.card{width:100%;min-width:320px;max-width:540px;padding:var(--space-7);border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-card)}@media (width>=640px){.card{padding:var(--space-11)}}h1,h2,h3,h4,h5,h6{margin:0 0 var(--space-3);font-family:var(--font-display);letter-spacing:-.01em;line-height:1.1}h1,h2,h3{font-weight:var(--font-weight-headline)}h4,h5,h6{font-weight:var(--font-weight-title)}h1{font-size:var(--h1)}h2{font-size:var(--h2)}h3{font-size:var(--h3)}h4{font-size:var(--h4)}h5{font-size:var(--h5)}h6{font-size:var(--h6)}p{font-size:var(--body);margin:var(--space-3) 0;color:var(--color-text-muted);line-height:1.6}.error{color:var(--color-status-missing)}.success{color:var(--color-accent-strong)}a{color:var(--color-accent-strong);font-weight:var(--font-weight-medium);text-decoration:none}a:where(:hover){text-decoration:underline}form{gap:var(--space-1);margin-top:var(--space-6);flex-direction:column;display:flex}label{font-size:.8rem;font-weight:var(--font-weight-medium);color:var(--color-text-muted);margin-top:var(--space-3)}button,a,.chip{touch-action:manipulation}button:not(:disabled){cursor:pointer}input,select,textarea{touch-action:manipulation;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-raised);color:var(--color-text);font-family:var(--font-body);padding:.7rem .85rem;font-size:1rem}select{cursor:pointer}input::placeholder{color:var(--color-text-faint)}input:focus,select:focus{outline:2px solid var(--color-accent);outline-offset:1px}.actions{gap:var(--space-3);margin-top:var(--space-7);display:flex}.button{text-align:center;padding:var(--space-3) var(--space-6);border-radius:var(--radius-pill);background:var(--color-text);color:var(--color-surface);font-family:var(--font-body);font-weight:var(--font-weight-semibold);cursor:pointer;margin-top:var(--space-5);border:none;justify-content:center;align-items:center;font-size:.95rem;text-decoration:none;transition:opacity .15s;display:inline-flex}.button:hover{opacity:.85;text-decoration:none}.button:disabled{opacity:.5;cursor:not-allowed}.button-secondary{color:var(--color-text);border:1px solid var(--color-border);background:0 0}.button-outline{color:var(--color-text);border:1px solid var(--color-text);background:0 0}.button-secondary-filled{background:var(--color-border);color:var(--color-text);border:none}.button-text{color:var(--color-accent-strong);padding:var(--space-2) var(--space-3);background:0 0;border:none}.button-text:hover{opacity:1;text-decoration:underline}.chip{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);background:var(--color-surface-raised);border:1px solid var(--color-border);color:var(--color-text);font-size:.85rem;display:inline-flex}.status-dot{background:var(--color-status-open);border-radius:50%;width:8px;height:8px;display:inline-block}.status-dot.ready{background:var(--color-status-ready)}.status-dot.swap{background:var(--color-status-swap)}.status-dot.missing{background:var(--color-status-missing)}.status-dot.leftover{background:var(--color-status-leftover)}.status-dot.cooked{background:var(--color-accent-strong)}.cell-highlight{background:var(--color-highlight-bg);color:var(--color-highlight-strong)}.tag{align-items:center;gap:var(--space-1);padding:.3rem var(--space-3);border-radius:var(--radius-pill);font-size:.8rem;font-weight:var(--font-weight-medium);display:inline-flex}.tag-mint{background:var(--color-tag-mint-bg);color:var(--color-tag-mint-text)}.tag-amber{background:var(--color-tag-amber-bg);color:var(--color-tag-amber-text)}.tag-danger{background:var(--color-tag-danger-bg);color:var(--color-tag-danger-text)}.app-layout{background:var(--color-bg);align-items:stretch;width:100%;min-height:100dvh;display:flex}.sidebar{width:220px;height:100vh;padding:var(--space-7) var(--space-5);border-right:1px solid var(--color-border);align-self:flex-start;gap:var(--space-6);flex-direction:column;flex-shrink:0;display:none;position:sticky;top:0}.sidebar-brand{align-items:center;gap:var(--space-2);font-family:var(--font-display);font-size:1.5rem;font-weight:var(--font-weight-semibold);margin:0;display:flex}.sidebar-nav{gap:var(--space-1);flex-direction:column;display:flex}.sidebar .nav-link{justify-content:flex-start;gap:var(--space-3);padding:.6rem var(--space-3);flex-direction:row;font-size:.9rem}.sidebar .nav-link:hover{background:var(--color-surface)}.sidebar-settings{margin-top:auto}.sidebar-account-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-content{flex-direction:column;flex:1;min-width:0;display:flex}.app-topbar{z-index:50;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;position:sticky;top:0}.topbar-lead{align-items:center;gap:var(--space-2);min-width:0;display:flex}.topbar-back{width:44px;height:44px;margin-left:calc(var(--space-2) * -1);color:var(--color-text);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.topbar-back:hover{background:var(--color-bg)}.topbar-title{font-family:var(--font-display);font-size:var(--h4);font-weight:var(--font-weight-headline);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.topbar-title:focus{outline:none}.ptr-spin{animation:.8s linear infinite ptr-spin}@keyframes ptr-spin{to{transform:rotate(360deg)}}.app-main{width:100%;padding:var(--space-5);padding-bottom:calc(5.5rem + env(safe-area-inset-bottom));flex:1}.app-main-no-nav{padding-bottom:calc(5rem + env(safe-area-inset-bottom))}.page{max-width:880px;margin:0 auto}.page-subtitle{margin-top:calc(-1 * var(--space-1))}.bottom-nav{background:var(--color-surface-raised);border-top:1px solid var(--color-border);padding:var(--space-2) var(--space-1);padding-bottom:calc(var(--space-2) + env(safe-area-inset-bottom));justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav .nav-link{gap:var(--space-1);padding:.35rem var(--space-2);flex-direction:column;font-size:.7rem}.nav-link{border-radius:var(--radius-md);color:var(--color-text-muted);font-weight:var(--font-weight-medium);align-items:center;text-decoration:none;display:flex}.nav-icon{display:inline-flex;position:relative}.nav-badge{border-radius:var(--radius-pill);background:var(--color-status-missing);color:#fff;min-width:16px;height:16px;font-size:.62rem;font-weight:var(--font-weight-semibold);text-align:center;padding:0 4px;line-height:16px;position:absolute;top:-6px;right:-9px}.inbox-row{align-items:flex-start;gap:var(--space-3);width:100%;padding:var(--space-4) 0;border:none;border-bottom:1px solid var(--color-border);font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;display:flex}.inbox-row:last-child{border-bottom:none}.inbox-row:hover .inbox-title{color:var(--color-accent-strong)}.inbox-icon{border-radius:var(--radius-md);background:var(--color-surface-raised);border:1px solid var(--color-border);width:36px;height:36px;color:var(--color-text-muted);flex-shrink:0;place-items:center;display:inline-grid}.inbox-icon-unread{background:var(--color-accent-bg);color:var(--color-accent-strong);border-color:#0000}.inbox-text{flex:1;min-width:0}.inbox-title{font-weight:var(--font-weight-medium);color:var(--color-text);display:block}.inbox-row:not(.inbox-row-unread) .inbox-title{color:var(--color-text-muted);font-weight:400}.inbox-body{margin-top:var(--space-1);color:var(--color-text-muted);font-size:.85rem;line-height:1.5;display:block}.inbox-meta{align-items:center;gap:var(--space-2);padding-top:var(--space-2);flex-shrink:0;display:flex}.inbox-unread-dot{margin-top:var(--space-2);background:var(--color-accent);border-radius:50%;flex-shrink:0;width:8px;height:8px}.inbox-time{margin-top:var(--space-2);color:var(--color-text-faint);white-space:nowrap;font-size:.75rem;display:block}.nav-link:hover{text-decoration:none}.nav-link.active{color:var(--color-accent-strong);background:var(--color-accent-bg)}@media (width>=768px){.sidebar{display:flex}.app-topbar{padding:var(--space-4) var(--space-10)}.bottom-nav{display:none}.app-main{padding:var(--space-6) var(--space-10) var(--space-10)}}.section-title{margin:var(--space-8) 0 var(--space-4)}.section-description{margin:0 0 var(--space-4)}.tab-nav{gap:var(--space-2);margin-top:var(--space-6);border-bottom:1px solid var(--color-border);padding-bottom:var(--space-3);display:flex}.tab-link{padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);color:var(--color-text-muted);font-weight:var(--font-weight-medium);font-size:.9rem;text-decoration:none}.tab-link:hover{background:var(--color-surface);text-decoration:none}.tab-link.active{color:var(--color-accent-strong);background:var(--color-accent-bg)}.home-schedule{margin-top:var(--space-6);min-width:0;max-width:none;padding:var(--space-6)}.home-schedule-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;display:flex}.home-section-title{margin:0 0 var(--space-1)}.home-schedule-cta{margin-top:0}.home-schedule-grid{gap:var(--space-4);margin-top:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.home-schedule-col{gap:var(--space-2);flex-direction:column;display:flex}.home-schedule-label{font-size:.75rem;font-weight:var(--font-weight-semibold);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);margin:0}.home-mini-card{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-highlight-bg)}.home-mini-card strong{color:var(--color-highlight-strong);font-size:.9rem;display:block}.home-mini-card span{color:var(--color-text-muted);margin-top:2px;font-size:.8rem;display:block}.home-mini-free{background:var(--color-bg)}.home-schedule-link{margin-top:var(--space-5);font-size:.9rem;display:inline-block}.home-module-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.home-module-card{min-width:0;max-width:none;padding:var(--space-5);color:var(--color-text);font-weight:400;text-decoration:none;transition:border-color .15s;display:block}.home-module-card:hover{border-color:var(--color-accent);text-decoration:none}.home-module-card:hover .home-module-top strong{color:var(--color-accent-strong)}.home-module-top{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.home-module-top strong{font-family:var(--font-display);font-size:1.15rem;font-weight:var(--font-weight-semibold)}.home-module-items{margin-top:var(--space-4);flex-direction:column;display:flex}.home-module-items div{padding:var(--space-2) 0;border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:.875rem}.home-module-items div:first-child{border-top:none;padding-top:0}.card-pad{padding:var(--space-6)}.stat-grid{gap:var(--space-3);margin-top:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.stat-card{padding:var(--space-6);min-width:0;max-width:none}.stat-value{margin:var(--space-1) 0;font-family:var(--font-display);font-size:2rem;font-weight:var(--font-weight-semibold);color:var(--color-text)}.stat-card-link{color:inherit;text-decoration:none;transition:border-color .15s,transform .15s;display:block}.stat-card-link:hover,.stat-card-link:focus-visible{border-color:var(--color-accent);transform:translateY(-2px)}@media (prefers-reduced-motion:reduce){.stat-card-link:hover,.stat-card-link:focus-visible{transform:none}}.day-strip{gap:var(--space-3);padding-bottom:var(--space-2);margin-top:var(--space-6);scroll-snap-type:x proximity;grid-auto-columns:minmax(92px,1fr);grid-auto-flow:column;display:grid;overflow-x:auto}@media (width<=767px){.day-strip{margin-inline:calc(-1 * var(--space-5));padding-inline:var(--space-5);scroll-padding-inline:var(--space-5)}}.day-card{scroll-snap-align:start;border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border);min-width:0;padding:.85rem}.day-card.cell-highlight{background:var(--color-highlight-bg);border-color:#0000}.day-card-top{color:var(--color-text-muted);justify-content:space-between;align-items:center;font-size:.8rem;display:flex}.day-card-date{font-family:var(--font-display);font-size:1.4rem;font-weight:var(--font-weight-semibold);color:var(--color-text);margin:.4rem 0 0}.day-card-status{margin:.2rem 0 0;font-size:.8rem}.recipe-card{margin-top:var(--space-4);min-width:0;max-width:none}.recipe-filters{gap:var(--space-2);margin-top:var(--space-5);margin-bottom:var(--space-4);flex-direction:column;display:flex}.recipe-search{width:100%;max-width:320px}.recipe-filter-row{flex-wrap:wrap}.recipe-empty-filter{margin-top:var(--space-5)}.recipe-actions{gap:var(--space-2);margin:var(--space-4) 0 var(--space-2);flex-wrap:wrap;display:flex}.recipe-action-note{margin:0 0 var(--space-2);color:var(--color-accent-strong);font-size:.9rem}.recipe-list-card-inner{align-items:flex-start;gap:var(--space-4);display:flex}.recipe-list-card-body{flex:1;min-width:0}.recipe-thumb{border-radius:var(--radius-md);object-fit:cover;background:var(--color-surface-raised);flex-shrink:0;width:68px;height:68px}.recipe-detail-image{object-fit:cover;border-radius:var(--radius-md);width:100%;max-height:260px;margin-bottom:var(--space-4)}.import-detected-image{object-fit:cover;border-radius:var(--radius-md);width:100%;max-height:200px;margin-bottom:var(--space-4)}.recipe-card-head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.recipe-card-head h3{color:var(--color-text);margin:0}.tag-row{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.list-card{margin-top:var(--space-6);min-width:0;max-width:none;padding:var(--space-2) var(--space-7)}.settings-card{margin-top:var(--space-6);min-width:0;max-width:none}.settings-card .section-title{margin-top:0}.settings-toggle-row{align-items:center;gap:var(--space-3);margin-top:var(--space-4);display:flex}.avatar-upload-row{align-items:center;gap:var(--space-5);margin-top:var(--space-4);display:flex}.avatar-upload-row .button{margin-top:0}.avatar-input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.modal-backdrop{padding:var(--space-5);z-index:100;background:#1c1b1973;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-card{flex-direction:column;align-items:center;max-width:360px;display:flex}.modal-sections{align-items:stretch;max-height:min(80vh,40rem);padding:0;overflow:hidden}.modal-header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border)}.modal-title{margin:0;font-size:1.05rem}.modal-body{padding:var(--space-5) var(--space-6);gap:var(--space-2);flex-direction:column;display:flex;overflow-y:auto}.modal-footer{justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border);display:flex}.modal-footer .button{margin-top:0}.plan-day-dialog{max-width:26rem}.plan-day-list{margin:var(--space-2) 0 0;gap:var(--space-2);flex-direction:column;padding:0;list-style:none;display:flex}.plan-day-option{justify-content:space-between;align-items:baseline;gap:var(--space-4);width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;display:flex}.plan-day-option:hover:not(:disabled){border-color:var(--color-accent);background:var(--color-accent-bg)}.plan-day-option:disabled{cursor:default;opacity:.5}.plan-day-when{white-space:nowrap;flex-direction:column;flex-shrink:0;align-items:flex-start;gap:.1rem;display:flex}.plan-day-what{color:var(--color-text-muted);text-align:right;min-width:0;font-size:.85rem}.crop-viewport{background:var(--color-bg);touch-action:none;cursor:grab;margin-top:var(--space-4);border-radius:50%;position:relative;overflow:hidden}.crop-viewport:active{cursor:grabbing}.crop-image{-webkit-user-select:none;user-select:none;max-width:none;position:absolute;top:0;left:0}.crop-zoom{width:100%;margin-top:var(--space-5)}.household-members{margin:var(--space-4) 0 0;gap:var(--space-3);flex-direction:column;padding:0;list-style:none;display:flex}.household-member{align-items:center;gap:var(--space-3);display:flex}.household-member-name{color:var(--color-text);font-weight:var(--font-weight-medium);margin:0}.household-member-email{margin:0;font-size:.85rem}.invite-link-row{gap:var(--space-3);margin-top:var(--space-5);display:flex}.invite-link-input{flex:1;min-width:0}.invite-link-row .button{margin-top:0}.household-rename-form{align-items:center;gap:var(--space-3);margin-top:var(--space-1);flex-direction:row;display:flex}.household-rename-form .button{margin-top:0}.household-name-input{flex:1;min-width:0}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.5}}.skeleton{background:var(--color-border);border-radius:var(--radius-md);flex-shrink:0;animation:1.5s ease-in-out infinite skeleton-pulse}.household-skeleton{gap:var(--space-5);margin-top:var(--space-4);flex-direction:column;display:flex}.household-skeleton .household-rename-form{margin-top:0}.inventory-row{gap:var(--space-3);flex-wrap:wrap}.inventory-row-controls{align-items:center;gap:var(--space-3);display:flex}.inventory-row-controls .button{margin-top:0}.inventory-count-input{width:4.5rem}.add-item-form{margin-top:var(--space-6);gap:var(--space-2);flex-direction:column;min-width:0;max-width:none;display:flex}.add-item-form .button{margin-top:var(--space-3);align-self:flex-start}.checkbox-row{align-items:center;gap:var(--space-2);margin-top:var(--space-2);display:flex}.checkbox-row input{width:auto}.check{align-items:center;gap:var(--space-2);margin-top:var(--space-2);cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex}.check-input{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.check-box{border:1.5px solid var(--color-border);background:var(--color-surface-raised);width:20px;height:20px;color:var(--color-surface-raised);border-radius:6px;flex-shrink:0;place-items:center;transition:background .15s,border-color .15s;display:inline-grid}.check-box svg{opacity:0;width:12px;height:12px;transition:opacity .15s,transform .15s;transform:scale(.6)}.check:hover .check-box{border-color:var(--color-accent)}.check-input:checked+.check-box,.check.is-checked .check-box{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.check-input:checked+.check-box svg,.check.is-checked .check-box svg{opacity:1;transform:scale(1)}.check-input:focus-visible+.check-box{outline:2px solid var(--color-accent);outline-offset:2px}.check-input:disabled~*{opacity:.5;cursor:not-allowed}.check-label{font-size:.8rem;font-weight:var(--font-weight-medium);color:var(--color-text-muted)}.planner-row{gap:var(--space-3);flex-wrap:wrap}.planner-row-selected{box-shadow:inset 3px 0 0 var(--color-accent)}.planner-row-controls{align-items:flex-end;gap:var(--space-1);flex-direction:column;flex:220px;min-width:0;max-width:320px;display:flex}.combobox{width:100%;min-width:0;position:relative}.combobox-control{align-items:center;display:flex;position:relative}.combobox-input{width:100%;min-width:0;padding-right:var(--space-8);text-overflow:ellipsis}.combobox-chevron{right:var(--space-3);color:var(--color-text-muted);pointer-events:none;position:absolute}.combobox-input:disabled~.combobox-chevron{opacity:.5}.combobox-list{z-index:50;padding:var(--space-2);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);flex-direction:column;gap:2px;max-height:260px;margin:0;list-style:none;display:flex;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.combobox-option{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3);color:var(--color-text);font-family:var(--font-body);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;font-size:.9rem;display:flex}.combobox-option.highlighted{background:var(--color-accent-bg);color:var(--color-accent-strong)}.combobox-option[aria-selected=true] .combobox-option-label{font-weight:var(--font-weight-medium)}.combobox-option-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.combobox-option-hint{color:var(--color-text-muted);flex-shrink:0;font-size:.75rem}.combobox-option.highlighted .combobox-option-hint{color:var(--color-accent-strong)}.combobox-empty{padding:var(--space-3);color:var(--color-text-muted);font-size:.85rem}.planner-row-controls .button{margin-top:var(--space-2)}.planner-cooked-note{margin:var(--space-2) 0 0;color:var(--color-accent-strong);font-size:.78rem}.calendar-providers-card{margin-top:var(--space-4);min-width:0;max-width:none}.calendar-connect-form{gap:var(--space-1);margin:0 0 var(--space-4);padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-raised);border:1px solid var(--color-border);flex-direction:column;display:flex}.calendar-connect-form .import-actions .button{margin-top:var(--space-3)}.calendar-detected{margin:var(--space-1) 0 var(--space-3);color:var(--color-accent-strong);font-size:.85rem}.calendar-help{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);overflow:hidden}.calendar-help-tabs{gap:var(--space-1);padding:var(--space-2);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.calendar-help-tab{padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);color:var(--color-text-muted);font:inherit;cursor:pointer;background:0 0;border:none;font-size:.85rem}.calendar-help-tab.is-active{background:var(--color-accent-bg);color:var(--color-accent-strong)}.calendar-help-body{padding:var(--space-3) var(--space-4) var(--space-4)}.calendar-help-device{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.calendar-help-device .button-text{padding:0;font-size:.85rem}.calendar-help-warning{margin:var(--space-2) 0 0;color:var(--color-tag-amber-text);font-size:.85rem}.calendar-help-steps{margin:var(--space-3) 0;padding-left:var(--space-5);gap:var(--space-2);color:var(--color-text-muted);flex-direction:column;font-size:.88rem;display:flex}.calendar-share-card{margin-top:var(--space-4);min-width:0;max-width:none}.calendar-share-url{margin:var(--space-3) 0 0;padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border);word-break:break-all;color:var(--color-text-muted);font-size:.82rem}.calendar-link-intro{max-width:46ch;margin-bottom:var(--space-5)}.calendar-sync-error{margin:var(--space-1) 0 0;font-size:.85rem}.calendar-day-group{padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.calendar-day-group:last-child{border-bottom:none}.calendar-day-heading{margin:var(--space-2) 0 0;font-weight:var(--font-weight-semibold);color:var(--color-text)}.calendar-event-row{padding:var(--space-2) 0;border-bottom:none}.planner-busy-tag{margin-left:var(--space-2);padding:.15rem var(--space-2);font-size:.7rem}.calendar-providers-head{justify-content:space-between;align-items:center;display:flex}.calendar-providers-head h3{margin:0}.value-grid{gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.value-item-icon{border-radius:var(--radius-md);background:var(--color-accent-bg);width:40px;height:40px;color:var(--color-accent-strong);margin-bottom:var(--space-3);justify-content:center;align-items:center;display:inline-flex}.value-item h4{margin:0 0 var(--space-2)}.value-item p{margin:0}.zone-grid{gap:var(--space-5);margin-top:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.zone-card{min-width:0;max-width:none}.zone-card-head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.zone-card-head h3{text-transform:capitalize;margin:0}.zone-progress-track{border-radius:var(--radius-pill);background:var(--color-border);width:100%;height:8px;margin:var(--space-3) 0;overflow:hidden}.zone-progress-fill{background:var(--color-accent);border-radius:var(--radius-pill);height:100%}.zone-card .button{margin-top:var(--space-3)}.ingredient-row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.ingredient-row .checkbox-row,.ingredient-row .button{margin-top:0}.list-row-meta{color:var(--color-text-muted)}.inventory-header-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.inventory-header-actions .button{margin-top:var(--space-5)}.zone-rail{margin-top:var(--space-6)}.zone-rail-card{min-width:130px;padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border);font-family:var(--font-body);text-align:left;cursor:pointer;flex:none;transition:background .15s}.zone-rail-card:hover{background:var(--color-surface-raised)}.zone-rail-selected,.zone-rail-card.zone-rail-selected:hover{background:var(--color-highlight-bg);border-color:#0000}.zone-rail-name{font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0}.zone-rail-selected .zone-rail-name{color:var(--color-highlight-strong)}.zone-rail-meta{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:.8rem}.inventory-list-hint{padding:var(--space-3) 0 0;font-size:.85rem}.inventory-zone-row{display:block}.inventory-row-toggle{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:0;display:flex}.inventory-row-tags{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.shopping-last-paid{font-size:.8rem;display:block}.shopping-group-head{margin:var(--space-4) 0 var(--space-1)}.shopping-group-head:first-child{margin-top:0}.recipe-card-chips{gap:var(--space-2);flex-shrink:0;display:inline-flex}.planner-cost{margin-top:2px;display:block}.spend-waste{color:var(--color-tag-danger-text)}.spend-month-figures{align-items:center;gap:var(--space-2);font-size:.8rem;display:inline-flex}.spend-month-warn{background:var(--color-tag-amber-text)}.spend-month-over{background:var(--color-tag-danger-text)}.recipe-note{margin-bottom:var(--space-4)}.recipe-note-text{color:var(--color-text-muted);margin:0;font-size:.9rem;font-style:italic}.cook-note{color:#f1eee6bf;margin:0;font-size:1rem;font-style:italic}.cook-finish-note{align-items:center;gap:var(--space-2);flex-direction:column;width:100%;max-width:420px;display:flex}.cook-finish-note label{color:#f1eee699;font-size:.85rem}.cook-finish-note textarea{resize:vertical;width:100%}.home-first-run{margin-top:var(--space-5)}.home-first-run-actions{gap:var(--space-3);margin:var(--space-3) 0;flex-wrap:wrap;display:flex}.recipe-empty-state{align-items:flex-start;gap:var(--space-3);margin-top:var(--space-5);flex-direction:column;display:flex}.home-tonight{justify-content:space-between;align-items:center;gap:var(--space-4);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.home-tonight-text{min-width:0}.home-tonight-cta{flex-shrink:0}.recipe-detail-tags{margin-bottom:var(--space-3)}.cook-mode{z-index:90;gap:var(--space-4);padding:calc(var(--space-5) + env(safe-area-inset-top)) var(--space-5) calc(var(--space-5) + env(safe-area-inset-bottom));color:#f1eee6;background:#161513;flex-direction:column;display:flex;position:fixed;inset:0;overflow-y:auto}.cook-mode::selection{background:#fff3}.cook-head{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;max-width:640px;margin:0 auto;display:flex}.cook-head-recipe{align-items:center;gap:var(--space-3);min-width:0;display:flex}.cook-thumb{border-radius:var(--radius-md);object-fit:cover;flex-shrink:0;width:40px;height:40px}.cook-title{font-weight:var(--font-weight-semibold);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cook-close{color:#f1eee6;cursor:pointer;background:#ffffff1f;border:none;border-radius:50%;flex-shrink:0;width:44px;height:44px;font-size:.95rem}.cook-segments{gap:6px;width:100%;max-width:640px;margin:0 auto;display:flex}.cook-segment{background:#ffffff38;border-radius:999px;flex:1;height:3px}.cook-segment-active{background:#f1eee6}.cook-step{justify-content:center;align-items:center;gap:var(--space-5);text-align:center;width:100%;max-width:640px;padding:var(--space-5) 0;flex-direction:column;flex:1;margin:0 auto;display:flex}.cook-step-count{color:#f1eee68c;text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:.85rem}.cook-step-title{font-family:var(--font-display);color:#f1eee6;margin:0;font-size:clamp(1.6rem,5vw,2.2rem);line-height:1.2}.cook-step-text{font-family:var(--font-display);margin:0;font-size:clamp(1.4rem,4.5vw,2rem);line-height:1.4}.cook-step-body{font-family:var(--font-body);color:#f1eee6d9;font-size:clamp(1.05rem,3vw,1.25rem);line-height:1.6}.cook-muted{color:#f1eee699;margin:0}.cook-timer-block{align-items:center;gap:var(--space-4);margin-top:var(--space-4);flex-direction:column;display:flex}.cook-clock{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:#f1eee6;margin:0;font-size:clamp(3rem,12vw,4.5rem);line-height:1}.cook-clock-done{color:#f0b8ae}.cook-play{color:#161513;cursor:pointer;background:#ece6f6;border:none;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-size:1.1rem;display:flex}.recipe-ingredient-group{margin:var(--space-5) 0 var(--space-2);font-size:.85rem;font-weight:var(--font-weight-semibold);letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted)}.edit-variant-note{margin:var(--space-2) 0 var(--space-3);font-size:.85rem}.edit-variant-options{gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.cook-variant{gap:var(--space-2);margin:var(--space-3) 0;flex-wrap:wrap;display:flex}.cook-variant-btn{padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-pill);color:inherit;font:inherit;cursor:pointer;background:0 0;font-size:.9rem}.cook-variant-btn.is-active{background:var(--color-accent-bg);border-color:var(--color-accent);color:var(--color-accent-strong)}.cook-ask{width:100%;max-width:640px;padding-top:var(--space-3);border-top:1px solid #ffffff26;margin:0 auto}.cook-ask-thread{gap:var(--space-2);max-height:220px;margin:var(--space-3) 0;flex-direction:column;display:flex;overflow-y:auto}.cook-ask-bubble{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);max-width:85%;margin:0;font-size:.95rem;line-height:1.5}.cook-ask-user{color:#161513;background:#ece6f6;align-self:flex-end}.cook-ask-assistant{color:#f1eee6;background:#ffffff1a;align-self:flex-start}.cook-ask-typing{letter-spacing:.15em}.cook-ask-form{gap:var(--space-2);margin-top:var(--space-3);display:flex}.cook-ask-input{color:#f1eee6;border-radius:var(--radius-md);min-width:0;padding:.6rem var(--space-3);font:inherit;background:#ffffff14;border:1px solid #fff3;flex:1}.cook-ask-input::placeholder{color:#f1eee680}.cook-ask-error{margin:var(--space-2) 0 0;color:#f0b8ae;font-size:.85rem}.cook-nav{justify-content:space-between;gap:var(--space-3);width:100%;max-width:640px;margin:0 auto;display:flex}.cook-btn{color:#f1eee6;font:inherit;font-weight:var(--font-weight-semibold);cursor:pointer;background:0 0;border:1px solid #ffffff40;border-radius:999px;padding:.6rem 1.4rem}.cook-btn-ask{align-items:center;gap:var(--space-2);flex-shrink:0;padding:.6rem 1rem;display:inline-flex}.cook-btn-ask.is-open{background:#ffffff29}.cook-btn:disabled{opacity:.35;cursor:not-allowed}.cook-btn-primary{color:#161513;background:#f1eee6;border-color:#f1eee6}.add-item-head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.barcode-modal{align-items:stretch;width:100%}.barcode-video{border-radius:var(--radius-md);object-fit:cover;width:100%;max-height:260px;margin-top:var(--space-3);background:#000}.barcode-manual{gap:var(--space-2);margin-top:var(--space-4);display:flex}.barcode-manual input{flex:1;min-width:0}.barcode-status{margin-top:var(--space-2)}.planner-leftover-from{margin-top:2px;display:block}.update-overlay{z-index:200;padding:var(--space-5);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1c1b198c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.update-overlay-card{width:100%;max-width:26rem;padding:var(--space-7);border-radius:var(--radius-lg);background:var(--color-surface-raised);border:1px solid var(--color-border);box-shadow:var(--shadow-card);text-align:center}.update-overlay-card h2{margin:0 0 var(--space-2)}.update-overlay-actions{justify-content:center;gap:var(--space-3);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.update-toast{width:fit-content;left:0;right:0;bottom:calc(5.5rem + env(safe-area-inset-bottom));align-items:center;gap:var(--space-3);max-width:min(92vw,480px);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-raised);border:1px solid var(--color-border);box-shadow:var(--shadow-card);z-index:80;margin-inline:auto;display:flex;position:fixed}@media (width>=768px){.update-toast{bottom:var(--space-5)}}@media (width<=899px){.action-toast-above-fab{bottom:calc(9.5rem + env(safe-area-inset-bottom))}}.update-toast-text{font-size:.9rem}.update-toast-action{color:var(--color-accent-strong);font:inherit;font-size:.9rem;font-weight:var(--font-weight-semibold);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:0}.update-toast-dismiss{padding:0 0 0 var(--space-1);color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;font-size:.85rem}.changelog-version{margin-bottom:var(--space-4)}.changelog-version-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.changelog-version-head h3{margin:0}.changelog-section-label{margin:var(--space-5) 0 var(--space-2)}.changelog-list{margin:0;padding-left:1.2rem}.changelog-list li{margin-bottom:var(--space-3);color:var(--color-text-muted);font-size:.9rem;line-height:1.6}.changelog-list li:last-child{margin-bottom:0}.settings-version{margin-top:var(--space-6)}.servings-stepper{align-items:center;gap:var(--space-2);display:inline-flex}.stepper-btn{border:1px solid var(--color-border);background:var(--color-surface-raised);width:44px;height:44px;color:var(--color-text);cursor:pointer;border-radius:50%;font-size:1rem;line-height:1}.stepper-btn:disabled{opacity:.4;cursor:not-allowed}.servings-value{text-align:center;min-width:4.5rem;font-size:.9rem}.recipe-servings{margin-bottom:var(--space-2);flex-wrap:wrap}.planner-autofill-row{align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.planner-autofill-note{margin:0}.bestby-presets{margin-top:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap}.bestby-suggestion{background:var(--color-accent-bg);color:var(--color-accent-strong)}.use-it-up{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.inventory-expand{margin-top:var(--space-4);padding:var(--space-5);border-radius:var(--radius-md);background:var(--color-surface-raised);border:1px solid var(--color-border)}.inventory-expand-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.inventory-expand-head .list-row-meta{margin:var(--space-1) 0 0;font-size:.85rem}.inventory-expand .import-stat{background:var(--color-bg)}.inventory-expand .import-actions .button{margin-top:var(--space-4)}.inventory-sale-button{color:var(--color-tag-amber-text);border-color:var(--color-tag-amber-bg);background:var(--color-tag-amber-bg)}.inventory-resupply-link{width:100%;margin-top:var(--space-3)}.inventory-edit{gap:var(--space-1);margin-top:var(--space-4);flex-direction:column;display:flex}.inventory-edit .import-actions .button{margin-top:var(--space-4)}.spend-card{margin-top:var(--space-4);min-width:0;max-width:none}.spend-chart{min-width:0}.spend-legend{justify-content:center;gap:var(--space-4);margin-top:var(--space-2);display:flex}.spend-legend-item{align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:.8rem;display:inline-flex}.spend-swatch{border-radius:3px;flex-shrink:0;width:11px;height:11px}.spend-swatch-grocery{background:var(--color-spend-grocery)}.spend-swatch-outside{background:var(--color-spend-outside)}.spend-chart-plot{position:relative}.spend-chart-plot svg{display:block;overflow:visible}.spend-area-total{fill:var(--color-spend-outside);opacity:.18}.spend-area-grocery{fill:var(--color-spend-grocery);opacity:.22}.spend-line-total{fill:none;stroke:var(--color-spend-outside);stroke-width:2px;stroke-linejoin:round}.spend-line-grocery{fill:none;stroke:var(--color-spend-grocery);stroke-width:2px;stroke-linejoin:round}.spend-hover-dot{fill:var(--color-spend-outside)}.spend-grid{stroke:var(--color-border);stroke-width:1px}.spend-hover-line{stroke:var(--color-text-faint);stroke-width:1px;stroke-dasharray:3 3}.spend-axis-label{fill:var(--color-text-faint);font-size:11px;font-family:var(--font-body)}.spend-tooltip{min-width:150px;padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-text);color:var(--color-surface);box-shadow:var(--shadow-card);pointer-events:none;z-index:20;position:absolute;top:-6px;transform:translate(-50%,-100%)}.spend-tooltip-title{margin:0 0 var(--space-2);font-size:.75rem;font-weight:var(--font-weight-semibold);color:var(--color-surface)}.spend-tooltip-row{align-items:center;gap:var(--space-2);margin:0 0 var(--space-1);color:var(--color-surface);font-size:.78rem;display:flex}.spend-tooltip-row strong{margin-left:auto}.spend-tooltip-total{margin:var(--space-2) 0 0;padding-top:var(--space-2);font-size:.78rem;font-weight:var(--font-weight-semibold);color:var(--color-surface);border-top:1px solid #ffffff26}.spend-store-grid{gap:var(--space-3);margin-top:var(--space-8);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:start;display:grid}.spend-store-row{padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.spend-store-row:last-child{border-bottom:none}.spend-store-head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.spend-store-track{height:8px;margin-top:var(--space-2);border-radius:var(--radius-pill);background:var(--color-border);overflow:hidden}.spend-store-fill{border-radius:var(--radius-pill);background:var(--color-spend-grocery);height:100%}.spend-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.spend-dot-grocery{background:var(--color-spend-grocery)}.spend-dot-outside{background:var(--color-spend-outside)}.spend-outside-form{margin-top:var(--space-4)}.spend-empty-action{margin-top:var(--space-4);gap:var(--space-2);flex-wrap:wrap;display:flex}.shopping-suggestion-row{gap:var(--space-3)}.shopping-suggestion-text{min-width:0}.shopping-suggestion-row .button{flex-shrink:0;margin-top:0}.shopping-qty{color:var(--color-text-muted)}.shopping-add-form{align-items:flex-start;gap:var(--space-3);margin-top:var(--space-4);display:flex}.shopping-add-input{flex:1;min-width:0}.shopping-add-form .button{flex-shrink:0;margin-top:0}.shopping-item-row{align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);display:flex}.shopping-item-row:last-child{border-bottom:none}.shopping-item-row .check{flex-shrink:0;margin-top:0}.shopping-item-name{color:var(--color-text)}.shopping-item-meta{font-size:.8rem}.shopping-item-struck{color:var(--color-text-faint);text-decoration:line-through}.shopping-checked{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.shopping-checked-head{margin-bottom:var(--space-1)}.receipt-section{gap:0}.receipt-file-input{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.receipt-line-row{padding:var(--space-4) 0;border-bottom:1px solid var(--color-border)}.receipt-line-row:last-child{border-bottom:none}.receipt-line-main{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.receipt-price-input{width:5.5rem}.receipt-line-meta{justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.receipt-line-raw{margin:0;font-size:.78rem;font-style:italic}.receipt-line-controls{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.receipt-line-controls .button{margin-top:0}.resupply-row{gap:var(--space-3);flex-wrap:wrap}.resupply-row-main{align-items:center;gap:var(--space-3);display:flex}.resupply-row-tags{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.add-recipe-section{gap:0}.add-recipe-mode{margin-top:0}.add-recipe-manual{box-shadow:none;background:0 0;border:none;margin-top:0;padding:0}.chip-toggle{cursor:pointer;font-family:var(--font-body);font-weight:var(--font-weight-medium);transition:background .15s,color .15s}.chip-toggle:hover{background:var(--color-bg)}.chip-selected,.chip-toggle.chip-selected:hover{background:var(--color-accent-bg);color:var(--color-accent-strong);border-color:#0000}.import-step-title{margin-bottom:var(--space-1)}.import-url-input{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface-raised);width:100%;color:var(--color-text);font-family:var(--font-body);resize:vertical;padding:.7rem .85rem;font-size:1rem}.import-url-input:focus{outline:2px solid var(--color-accent);outline-offset:1px}.import-actions{gap:var(--space-3);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.import-actions .button{margin-top:var(--space-3)}.import-detected-card{min-width:0;max-width:none;padding:var(--space-5);margin-top:var(--space-2)}.import-detected-card h4{margin:0}.import-source-line{margin:var(--space-2) 0 0;font-size:.85rem}.import-stat-row{gap:var(--space-3);margin-top:var(--space-4);display:flex}.import-stat{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-bg);flex:1}.import-stat-label{font-size:.7rem;font-weight:var(--font-weight-semibold);letter-spacing:.1em;text-transform:uppercase;margin:0}.import-stat-value{margin:var(--space-1) 0 0;font-family:var(--font-display);font-size:1.2rem;font-weight:var(--font-weight-semibold);color:var(--color-text)}.import-found-title{margin:var(--space-6) 0 var(--space-1)}.import-found-list{flex-direction:column;display:flex}.import-found-label{color:var(--color-text);font-weight:var(--font-weight-medium);margin:0}.import-field-row{gap:var(--space-4);flex-wrap:wrap;display:flex}.import-field{gap:var(--space-1);flex-direction:column;flex:150px;min-width:0;display:flex}.import-field input{width:100%;min-width:0}.import-ingredients-title{margin-top:var(--space-6)}.import-ingredient-row{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.import-ingredient-row:last-child{border-bottom:none}.import-ingredient-skipped{opacity:.55}.import-ingredient-inputs{gap:var(--space-2);flex-wrap:wrap;flex:1;min-width:220px;display:flex}.import-unit-input{width:5rem}.import-name-input{flex:1;min-width:130px}.import-ingredient-meta{align-items:center;gap:var(--space-3);display:flex}.import-ingredient-meta .check{margin-top:0}.import-steps-list{margin:0 0 var(--space-3);gap:var(--space-3);flex-direction:column;padding:0;list-style:none;display:flex}.import-step-row{align-items:flex-start;gap:var(--space-3);display:flex}.import-step-row .button{margin-top:var(--space-1);flex-shrink:0}.import-step-number{width:28px;height:28px;margin-top:var(--space-2);background:var(--color-accent-bg);color:var(--color-accent-strong);font-size:.8rem;font-weight:var(--font-weight-semibold);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.import-step-input{resize:none;flex:1;min-width:0;font-size:1rem;line-height:1.6}.import-unit-select{flex-shrink:0;width:6rem}.import-unit-select .combobox-input{padding-right:var(--space-6)}.ingredient-autocomplete{min-width:0;position:relative}.ingredient-autocomplete input{width:100%;min-width:0}.ingredient-autocomplete-list{z-index:50;padding:var(--space-2);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);flex-direction:column;gap:2px;max-height:260px;margin:0;list-style:none;display:flex;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.ingredient-autocomplete-option{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);color:var(--color-text);font-family:var(--font-body);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;font-size:.9rem;display:flex}.ingredient-autocomplete-option.highlighted{background:var(--color-accent-bg);color:var(--color-accent-strong)}.ingredient-autocomplete-category{color:var(--color-text-muted);font-size:.75rem}.ingredient-autocomplete-option.highlighted .ingredient-autocomplete-category{color:var(--color-accent-strong)}.ingredient-autocomplete-add{font-weight:var(--font-weight-medium);color:var(--color-accent-strong)}.meals-tab-nav{margin-top:var(--space-2);margin-bottom:var(--space-6)}.recipe-list-toggle{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:0;display:block}.recipe-list-detail{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.recipe-list-detail h4{margin:var(--space-4) 0 var(--space-2)}.recipe-list-meta{margin:0}.recipe-list-ingredients,.recipe-list-steps{gap:var(--space-2);font-size:var(--body);color:var(--color-text-muted);flex-direction:column;margin:0;padding-left:1.25rem;line-height:1.6;display:flex}.recipe-list-ingredients{padding-left:0;list-style:none}.recipe-list-ingredients strong{color:var(--color-text);font-weight:var(--font-weight-semibold)}.recipe-list-swap{margin-left:var(--space-2);padding:.15rem var(--space-2);font-size:.7rem}.recipe-list-detail .button{margin-top:var(--space-5)}.library-add-form{align-items:center;gap:var(--space-3);margin-top:var(--space-4);flex-flow:wrap;display:flex}.library-add-form input{flex:1;min-width:220px}.library-add-form .button{margin-top:0}.library-controls{margin-top:var(--space-6);gap:var(--space-3);flex-direction:column;display:flex}.library-search{width:100%}.library-category-chips{flex-wrap:wrap;margin-top:0}.library-count{margin:var(--space-4) 0 var(--space-3);font-size:.85rem}.library-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.library-item{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border);display:flex}.library-item-text{min-width:0}.library-item-name{color:var(--color-text);font-weight:var(--font-weight-medium);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.library-item-category{margin:.1rem 0 0;font-size:.75rem}.list-row-icon{width:44px;height:44px;color:var(--color-text-faint);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.list-row-icon:hover{background:var(--color-accent-bg);color:var(--color-accent-strong)}.library-item-remove{width:44px;height:44px;color:var(--color-text-faint);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.85rem;display:inline-flex}.library-item-remove:hover{background:var(--color-tag-danger-bg);color:var(--color-tag-danger-text)}.import-fun-card{margin-top:var(--space-4);padding:var(--space-5);border-radius:var(--radius-md);background:var(--color-accent-bg)}.import-fun-headline{font-family:var(--font-display);font-size:1.05rem;font-weight:var(--font-weight-semibold);color:var(--color-accent-strong);margin:0}.import-fun-stats{gap:var(--space-4);margin-top:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.import-fun-value{font-family:var(--font-display);font-size:1.35rem;font-weight:var(--font-weight-semibold);color:var(--color-accent-strong);margin:0}.import-fun-label{margin:var(--space-1) 0 0;color:var(--color-tag-mint-text);font-size:.8rem;line-height:1.4}.import-fun-footnote{margin:var(--space-4) 0 0;color:var(--color-text-muted);font-size:.72rem;font-style:italic}.import-drafts{margin-top:var(--space-6)}.recipe-edit-form{gap:var(--space-1);flex-direction:column;display:flex}.recipe-edit-form .import-actions .button{margin-top:var(--space-3)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.button,.chip.chip-toggle,.stepper-btn,.cook-btn,.cook-play,.library-item-remove,.cook-close{transition:transform .15s ease-out,opacity .15s,background-color .15s,color .15s}.button:active:not(:disabled),.chip.chip-toggle:active,.stepper-btn:active:not(:disabled),.cook-btn:active:not(:disabled),.cook-play:active,.library-item-remove:active,.cook-close:active{transform:scale(.96)}@keyframes rise-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.recipe-card,.stat-card,.home-module-card,.home-tonight,.home-first-run{animation:.25s ease-out both rise-in}.recipe-card:nth-child(2),.stat-card:nth-child(2),.home-module-card:nth-child(2){animation-delay:40ms}.recipe-card:nth-child(3),.stat-card:nth-child(3),.home-module-card:nth-child(3){animation-delay:80ms}.recipe-card:nth-child(4),.stat-card:nth-child(4),.home-module-card:nth-child(4){animation-delay:.12s}.recipe-card:nth-child(n+5),.stat-card:nth-child(n+5),.home-module-card:nth-child(n+5){animation-delay:.16s}@keyframes toast-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.update-toast{animation:.25s ease-out both toast-up}@keyframes modal-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.modal-backdrop{animation:.2s ease-out both rise-in}.modal-backdrop .modal-card{animation:.2s ease-out both modal-in}.inventory-expand,.recipe-list-detail{animation:.2s ease-out both rise-in}.password-field{position:relative}.password-field input{width:100%;padding-right:4.25rem}.password-toggle{min-height:38px;padding:0 var(--space-3);color:var(--color-accent-strong);font:inherit;font-size:.85rem;font-weight:var(--font-weight-semibold);background:0 0;border:none;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.auth-brand{margin-bottom:var(--space-5);display:inline-flex}.auth-brand:hover{opacity:.85}.auth-invited{margin:var(--space-3) 0 0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-accent-bg);color:var(--color-accent-strong);font-size:.9rem}.field-hint{margin:calc(var(--space-2) * -1) 0 0;color:var(--color-text-muted);font-size:.8rem}.landing{flex-direction:column;min-height:100dvh;display:flex}.landing main{width:100%;max-width:60rem;padding:0 var(--space-5) var(--space-10);flex:1;margin:0 auto}.landing-topbar{width:100%;max-width:60rem;padding:var(--space-4) var(--space-5);z-index:20;justify-content:space-between;align-items:center;margin:0 auto;transition:background .2s ease-out,box-shadow .2s ease-out;display:flex;position:sticky;top:0}.landing-topbar.is-stuck{background:color-mix(in srgb, var(--color-bg) 88%, transparent);box-shadow:0 1px 0 var(--color-border)}@supports ((-webkit-backdrop-filter:blur(10px)) or (backdrop-filter:blur(10px))){.landing-topbar.is-stuck{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}}.landing-topbar-actions{align-items:center;gap:var(--space-2);display:flex}.landing-topbar-actions .button{margin-top:0}.landing-hero{padding:var(--space-10) 0 var(--space-8);text-align:center}.landing-hero h1{max-width:22ch;margin:0 auto}.landing-lede{max-width:44ch;margin:var(--space-4) auto 0;color:var(--color-text-muted);font-size:1rem}.landing-cta-row{justify-content:center;gap:var(--space-3);margin-top:var(--space-6);display:flex}.landing-preview{margin-top:var(--space-8);perspective:1200px}.landing-preview-window{border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface);text-align:left;max-width:34rem;margin:0 auto;animation:.7s ease-out both landing-preview-in;overflow:hidden;box-shadow:0 24px 60px -24px #1c1b1959}.landing-preview-chrome{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-bg);align-items:center;gap:.4rem;display:flex}.landing-preview-dot{background:var(--color-border);border-radius:50%;width:9px;height:9px}.landing-preview-title{margin-left:var(--space-3);font-size:.8rem;font-weight:var(--font-weight-semibold);color:var(--color-text-muted)}.landing-preview-body{padding:var(--space-4)}.landing-preview-week{grid-template-columns:repeat(7,1fr);gap:.35rem;display:grid}.landing-preview-day{border-radius:var(--radius-sm,10px);border:1px solid var(--color-border);background:var(--color-surface);flex-direction:column;gap:.15rem;min-width:0;padding:.5rem .35rem;transition:background .32s ease-out,border-color .32s ease-out;display:flex}.landing-preview-day.is-ready{background:var(--color-highlight-bg);border-color:#0000}.landing-preview-daytop{justify-content:space-between;align-items:center;gap:.2rem;display:flex}.landing-preview-daytop .status-dot{flex-shrink:0}.landing-preview-dayname{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);font-size:.62rem}.landing-preview-date{font-family:var(--font-display,inherit);font-size:.95rem;font-weight:var(--font-weight-semibold);line-height:1.1}.landing-preview-meal{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.6rem;overflow:hidden}.landing-preview-meal.is-planned{color:var(--color-text);animation:.32s ease-out both landing-day-in}.landing-preview-card{margin-top:var(--space-4);padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg);opacity:0;transition:opacity .38s ease-out,transform .38s ease-out;transform:translateY(10px)}.landing-preview-card.is-in{opacity:1;transform:none}.landing-preview-cardhead{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.landing-preview-cardhead strong{font-size:.95rem}.landing-preview-time{color:var(--color-text-muted);flex-shrink:0;align-items:center;gap:.25rem;font-size:.78rem;display:inline-flex}.landing-preview-stock{margin:var(--space-2) 0 0;color:var(--color-accent-strong);align-items:center;gap:.35rem;font-size:.82rem;display:flex}.landing-preview-meta{margin-top:var(--space-2);color:var(--color-text-muted);gap:.4rem;font-size:.8rem;display:flex}@keyframes landing-preview-in{0%{opacity:0;transform:translateY(18px)rotateX(6deg)}to{opacity:1;transform:none}}@keyframes landing-day-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.landing-cook-title,.landing-cook-body,.landing-cook-clock,.landing-cook-ask,.landing-cook-typing i,.landing-scan-items li,.landing-scan-receipt p,.landing-scan-shot,.landing-scan-frame i,.landing-scan-flash,.landing-preview-window,.landing-preview-day,.landing-preview-meal.is-planned,.landing-preview-card{transition:none;animation:none}}@media (width<=560px){.landing-preview-meal{display:none}.landing-preview-body{padding:var(--space-3)}}.landing-invite-note{margin-top:var(--space-3);color:var(--color-text-muted);font-size:.8rem}.landing-problems{gap:var(--space-4);padding:var(--space-8) 0;border-top:1px solid var(--color-border);display:grid}.landing-problem{flex-direction:column;display:flex}.landing-problem-q{font-size:var(--h5);margin:0 0 var(--space-1)}.landing-problem-sting{margin:0 0 var(--space-4);color:var(--color-text-muted)}.landing-problem-answer{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-raised);border:1px solid var(--color-border);box-shadow:var(--shadow-card);gap:.15rem;margin-top:auto;display:grid}.landing-problem-answer-label{letter-spacing:.06em;text-transform:uppercase;color:var(--color-accent-strong);font-size:.7rem}.landing-problem-answer strong{font-size:.95rem}.landing-problem-answer-meta{color:var(--color-text-muted);font-size:.8rem}.landing-features{padding:var(--space-8) 0;border-top:1px solid var(--color-border)}.landing-feature-grid{gap:var(--space-4);display:grid}.landing-section-title{font-size:var(--h4);margin:0 0 var(--space-6);text-align:center}.landing-feature{background:var(--color-surface-raised);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-6);transition:transform .2s ease-out,box-shadow .2s ease-out}@media (hover:hover){.landing-feature:hover{transform:translateY(-3px);box-shadow:0 18px 36px -20px #1c1b1966}}@media (prefers-reduced-motion:reduce){.landing-feature{transition:none}.landing-feature:hover{transform:none}}.landing-feature-icon{border-radius:var(--radius-pill);background:var(--color-accent-bg);width:40px;height:40px;color:var(--color-accent-strong);justify-content:center;align-items:center;display:inline-flex}.landing-feature h3{font-size:var(--h6);margin:var(--space-3) 0 var(--space-2)}.landing-feature p{color:var(--color-text-muted);margin:0}.landing-showcase{gap:var(--space-6);padding:var(--space-8) 0;border-top:1px solid var(--color-border);align-items:center;display:grid}.landing-features.will-reveal,.landing-steps.will-reveal,.landing-band.will-reveal,.landing-showcase.will-reveal{opacity:0;transition:opacity .6s ease-out,transform .6s ease-out;transform:translateY(24px)}.landing-features.will-reveal.is-visible,.landing-steps.will-reveal.is-visible,.landing-band.will-reveal.is-visible,.landing-showcase.will-reveal.is-visible{opacity:1;transform:none}.landing-showcase h2{margin:var(--space-2) 0 var(--space-3)}.landing-showcase-copy p:last-child{color:var(--color-text-muted);margin:0}@media (width>=780px){.landing-showcase{gap:var(--space-8);grid-template-columns:1fr 1fr}.landing-showcase.is-flipped .landing-showcase-copy{order:2}}.landing-cook{padding:var(--space-6);border-radius:var(--radius-lg);color:#f1eee6;background:#171613;box-shadow:0 24px 60px -28px #1c1b1980}.landing-cook-segments{margin-bottom:var(--space-5);gap:.35rem;display:flex}.landing-cook-segments span{background:#f1eee633;border-radius:2px;flex:1;height:3px}.landing-cook-segments span.is-done{background:#f1eee6}.landing-cook-count{letter-spacing:.08em;text-transform:uppercase;color:#f1eee68c;margin:0;font-size:.7rem}.landing-cook-title{margin:var(--space-2) 0 var(--space-2);font-family:var(--font-display);font-size:1.4rem;animation:.32s ease-out both landing-day-in}.landing-cook-body{color:#f1eee6bf;margin:0;font-size:.9rem;animation:.32s ease-out 60ms both landing-day-in}.landing-cook-clock{margin:var(--space-5) 0 0;font-family:var(--font-display);opacity:0;align-items:center;gap:.4rem;font-size:1.6rem;transition:opacity .32s ease-out,transform .32s ease-out;display:flex;transform:translateY(6px)}.landing-cook-clock.is-in{opacity:1;transform:none}.landing-cook-nav{gap:var(--space-2);margin-top:var(--space-5);display:flex}.landing-cook-ask{gap:var(--space-2);margin-top:var(--space-4);opacity:0;transition:opacity .32s ease-out,transform .32s ease-out;display:grid;transform:translateY(8px)}.landing-cook-ask.is-open{opacity:1;transform:none}.landing-cook-bubble{padding:var(--space-2) var(--space-3);border-radius:14px;max-width:88%;margin:0;font-size:.82rem;line-height:1.45}.landing-cook-bubble-you{color:#171613;background:#f1eee6;border-bottom-right-radius:4px;justify-self:end}.landing-cook-bubble-ollo{color:#f1eee6eb;background:#f1eee61f;border-bottom-left-radius:4px;justify-self:start}.landing-cook-slot{display:grid}.landing-cook-slot>*{grid-area:1/1;align-self:start}.landing-cook-ghost{visibility:hidden}.landing-cook-typing{gap:3px;padding:2px 0;display:inline-flex}.landing-cook-typing i{background:#f1eee699;border-radius:50%;width:5px;height:5px;animation:1s ease-in-out infinite landing-typing}.landing-cook-typing i:nth-child(2){animation-delay:.15s}.landing-cook-typing i:nth-child(3){animation-delay:.3s}@keyframes landing-typing{0%,60%,to{opacity:.35}30%{opacity:1}}.landing-cook-btn.is-active{background:#f1eee629;border-color:#f1eee680}.landing-cook-btn{border-radius:var(--radius-pill);text-align:center;border:1px solid #f1eee640;flex:1;justify-content:center;align-items:center;gap:.3rem;padding:.5rem;font-size:.8rem;display:inline-flex}.landing-cook-btn.is-primary{color:#171613;font-weight:var(--font-weight-semibold);background:#f1eee6;border-color:#f1eee6}.landing-scan{gap:var(--space-3);justify-items:center;display:grid}.landing-scan-shot{padding:var(--space-4);justify-content:center;transition:transform .26s ease-out;display:flex;position:relative}.landing-scan-shot.is-shot{transform:scale(.97)}.landing-scan-frame i{border:2px solid var(--color-accent);border-radius:3px;width:18px;height:18px;animation:1.4s ease-in-out infinite landing-frame-pulse;position:absolute}.landing-scan-frame i:first-child{border-bottom:none;border-right:none;top:0;left:0}.landing-scan-frame i:nth-child(2){border-bottom:none;border-left:none;top:0;right:0}.landing-scan-frame i:nth-child(3){border-top:none;border-right:none;bottom:0;left:0}.landing-scan-frame i:nth-child(4){border-top:none;border-left:none;bottom:0;right:0}@keyframes landing-frame-pulse{0%,to{opacity:.45}50%{opacity:1}}.landing-scan-flash{border-radius:var(--radius-md);pointer-events:none;z-index:2;background:#fff;animation:.26s ease-out both landing-flash;position:absolute;inset:0}@keyframes landing-flash{0%{opacity:0}25%{opacity:.9}to{opacity:0}}.landing-scan-arrow{opacity:0;transition:opacity .3s ease-out}.landing-scan-arrow.is-in{opacity:1}.landing-scan-receipt{width:100%;max-width:15rem;padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-raised);border:1px solid var(--color-border);box-shadow:var(--shadow-card);font-family:var(--font-mono,ui-monospace, monospace);font-size:.72rem;transform:rotate(-1.5deg)}.landing-scan-receipt p{color:var(--color-text-muted);margin:0 0 .2rem}.landing-scan-store{padding-bottom:var(--space-2);border-bottom:1px dashed var(--color-border);align-items:center;gap:.3rem;display:flex;margin-bottom:var(--space-2)!important;color:var(--color-text)!important}.landing-scan-total{padding-top:var(--space-2);border-top:1px dashed var(--color-border);margin-top:var(--space-2)!important;color:var(--color-text)!important}.landing-scan-arrow{background:linear-gradient(var(--color-border), var(--color-accent));width:2px;height:22px}.landing-scan-items{gap:var(--space-2);flex-direction:column;width:100%;max-width:17rem;margin:0;padding:0;list-style:none;display:flex}@keyframes landing-scan-land{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}.landing-scan-items li{opacity:0;align-items:center;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface-raised);border:1px solid var(--color-border);font-size:.85rem;transition:opacity .32s ease-out,transform .32s ease-out;display:flex;transform:translateY(-10px)}.landing-scan-items li.is-stocked{opacity:1;transform:none}.landing-scan-receipt p.is-reading{background:var(--color-accent-bg);box-shadow:0 0 0 3px var(--color-accent-bg);border-radius:4px;color:var(--color-accent-strong)!important}.landing-scan-receipt p{transition:color .2s ease-out,background .2s ease-out,box-shadow .2s ease-out}.landing-scan-check{background:var(--color-accent-bg);width:18px;height:18px;color:var(--color-accent-strong);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.landing-scan-name{font-weight:var(--font-weight-medium)}.landing-scan-zone{color:var(--color-text-muted);align-items:center;gap:.2rem;margin-left:auto;font-size:.75rem;display:inline-flex}.landing-steps{padding:var(--space-8) 0;border-top:1px solid var(--color-border)}.landing-steps h2{font-size:var(--h4);margin:0 0 var(--space-6);text-align:center}.landing-steps ol{gap:var(--space-5);margin:0;padding:0;list-style:none;display:grid}.landing-steps li{gap:var(--space-4);align-items:flex-start;display:flex;position:relative}.landing-steps li:not(:last-child):after{content:"";top:38px;left:15px;bottom:calc(var(--space-5) * -1);background:linear-gradient(var(--color-accent-bg), transparent);width:2px;position:absolute}.landing-step-number{border-radius:var(--radius-pill);background:var(--color-accent);color:#fff;width:32px;height:32px;font-weight:var(--font-weight-semibold);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.landing-steps h3{font-size:var(--h6);margin:0 0 var(--space-1)}.landing-steps li p{color:var(--color-text-muted);margin:0}.landing-band{padding:var(--space-10) var(--space-6);border-radius:var(--radius-lg);background:var(--color-accent-bg);text-align:center;flex-direction:column;align-items:center;display:flex}.landing-band h2{font-size:var(--h3);max-width:18ch;margin:var(--space-4) 0 var(--space-3)}.landing-band-lede{max-width:46ch;color:var(--color-text);margin:0}.landing-band .landing-invite-note{margin-top:var(--space-4);color:var(--color-text)}.landing-footer{align-items:center;gap:var(--space-2);padding:var(--space-8) var(--space-5);border-top:1px solid var(--color-border);flex-direction:column;display:flex}.landing-footer p{color:var(--color-text-muted);margin:0;font-size:.8rem}@media (width>=640px){.landing-problems{grid-template-columns:repeat(3,1fr)}.landing-feature-grid{grid-template-columns:repeat(2,1fr)}.landing-steps ol{grid-template-columns:repeat(3,1fr)}.landing-steps li{gap:var(--space-3);flex-direction:column}.landing-steps li:not(:last-child):after{top:15px;bottom:auto;left:44px;right:calc(var(--space-5) * -1);background:linear-gradient(to right, var(--color-accent), transparent);width:auto;height:2px}}h1[tabindex="-1"]:focus{outline:none}.confirm-dialog{max-width:22rem}.confirm-dialog-message{margin:0 0 var(--space-4)}.button.button-small{align-items:center;min-height:44px;padding:.55rem .95rem;font-size:.8rem;display:inline-flex}.quick-links{gap:var(--space-2)}.quick-links .button{margin-top:var(--space-4)}.receipt-line-check input,.receipt-line-check .import-name-input input{border-color:var(--color-tag-amber-text);background:var(--color-tag-amber-bg)}.receipt-check-note{color:var(--color-tag-amber-text);font-weight:var(--font-weight-semibold)}.receipt-stock-hint{align-self:center}.receipt-confirm-note{margin-top:var(--space-4)}.receipt-line-main .import-name-input{flex:100%;min-width:0}@media (width>=640px){.receipt-line-main .import-name-input{flex:auto;min-width:160px}}.import-ingredient-inputs .import-name-input{flex:100%;order:-1;min-width:0}@media (width>=640px){.import-ingredient-inputs .import-name-input{flex:auto;order:0;min-width:160px}}.step-drag-handle{padding:var(--space-2) var(--space-1);margin-top:var(--space-1);color:var(--color-text-faint);cursor:grab;touch-action:none;background:0 0;border:none;flex-shrink:0}.step-drag-handle:active{cursor:grabbing;color:var(--color-text-muted)}.import-step-row.step-dragging{background:var(--color-surface);border-radius:var(--radius-md)}.import-step-row .library-item-remove{margin-top:var(--space-1)}.recipe-card-head-link{color:inherit;text-decoration:none}.recipe-card-actions{gap:var(--space-3);margin-top:var(--space-5);flex-wrap:wrap;width:100%;display:flex}.recipe-card-actions .button{margin-top:0}@media (width<=480px){.recipe-card-actions .button{min-width:0;padding-inline:var(--space-4);flex:1 1 0}}.recipe-card-link{color:inherit;text-decoration:none;display:block}.action-island{left:50%;bottom:calc(1.25rem + env(safe-area-inset-bottom));z-index:70;align-items:center;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-pill);background:var(--color-surface-raised);border:1px solid var(--color-border);box-shadow:var(--shadow-card);display:flex;position:fixed;transform:translate(-50%)}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.action-island{background:color-mix(in srgb, var(--color-surface-raised) 70%, transparent);-webkit-backdrop-filter:blur(16px)saturate(180%);backdrop-filter:blur(16px)saturate(180%)}}.action-island-primary{min-width:11rem;margin-top:0}.action-island-side{box-shadow:none;background:0 0;border:none}@media (width>=768px){.action-island{left:calc(50% + 110px);bottom:var(--space-6)}}.day-card{cursor:pointer;text-align:left;font:inherit;color:inherit}.day-card.day-card-selected{border-color:var(--color-accent)}.day-card-skeleton{border-radius:var(--radius-md)}.day-reveal{margin-top:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-raised);border:1px solid var(--color-border);min-height:9.2rem}.day-reveal-skeleton{margin-top:var(--space-3);border-radius:var(--radius-md)}.day-reveal-date{margin:0 0 var(--space-1)}.day-reveal-meal{font-weight:var(--font-weight-semibold);margin:0}.topbar-actions{align-items:center;gap:var(--space-3);display:flex}.topbar-icon-link{width:44px;height:44px;color:var(--color-text-muted);border-radius:50%;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.topbar-icon-link.active{color:var(--color-accent-strong);background:var(--color-accent-bg)}.overflow-trigger{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface-raised);width:44px;height:44px;color:var(--color-text);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.overflow-panel{top:calc(100% + var(--space-2));z-index:40;min-width:12rem;padding:var(--space-2);border-radius:var(--radius-md);background:var(--color-surface-raised);border:1px solid var(--color-border);box-shadow:var(--shadow-card);flex-direction:column;display:flex;position:absolute;right:0}.overflow-item{text-align:left;padding:var(--space-3);border-radius:var(--radius-md);color:var(--color-text);font:inherit;cursor:pointer;background:0 0;border:none;font-size:.9rem}.overflow-item:hover:not(:disabled){background:var(--color-surface)}.overflow-item:disabled{opacity:.5;cursor:not-allowed}.overflow-item-danger{color:var(--color-status-missing)}.recipe-ingredient-row{align-items:baseline;gap:var(--space-2);display:flex}.ingredient-stock{flex-shrink:0;align-items:center;display:inline-flex;transform:translateY(2px)}.ingredient-stock-ok{color:var(--color-accent-strong)}.ingredient-stock-low{color:var(--color-tag-amber-text)}.ingredient-stock-missing{color:var(--color-status-missing)}.ingredient-stock-untracked{color:var(--color-text-muted)}.inbox-list{flex-direction:column;display:flex}.inbox-list .inbox-row:first-child{border-top:1px solid var(--color-border)}.chore-add-form{gap:var(--space-2);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border);flex-direction:column;display:flex}.chore-add-input{width:100%}.chore-add-row{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));align-items:center;display:grid}.chore-add-row .button{margin-top:0}.chore-list{padding-top:var(--space-2)}.chore-row{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);display:flex}.chore-row:last-child{border-bottom:none}.chore-row .check{flex:1;min-width:0}.chore-row-controls{align-items:center;gap:var(--space-1);flex-shrink:0;display:flex}.chore-move{width:9.5rem}.chore-move .combobox-input{padding:var(--space-1) var(--space-2);padding-right:var(--space-7);font-size:1rem}.chore-row-done .check-label{color:var(--color-text-muted);text-decoration:line-through}.shared-topbar{padding:var(--space-5);border-bottom:1px solid var(--color-border);align-items:center;display:flex}.shared-brand{color:inherit;text-decoration:none;display:inline-flex}.shared-main{max-width:44rem;padding:var(--space-6) var(--space-5) var(--space-10);margin:0 auto}.shared-recipe-meta{margin-top:var(--space-1)}.shared-recipe-summary{margin-top:var(--space-3);color:var(--color-text-muted)}.shared-cta{margin:var(--space-6) 0;gap:var(--space-3);flex-direction:column;align-items:flex-start;display:flex}.shared-cta-actions{gap:var(--space-2);display:flex}.shared-empty{text-align:center;padding:var(--space-10) 0;align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.chore-main{flex:1;min-width:0}.chore-meta{margin:0 0 0 calc(20px + var(--space-3));align-items:center;gap:var(--space-2);display:flex}.chore-overdue{padding:.1rem var(--space-2);font-size:.7rem}.planner-cook-select .combobox-input{font-size:1rem}.receipt-detail-meta{margin-bottom:var(--space-4)}.receipt-detail-price{font-weight:var(--font-weight-medium);flex-shrink:0}
