:root{--bg:#f5f7f6;--card:#fff;--surface-subtle:#eef2ef;--text:#151e19;--muted:#647069;--line:#e4e9e6;--accent:#1f6f50;--accent-soft:#e3f2eb;--danger:#c93b2b;--danger-soft:#fdecea;--radius:16px;--radius-sm:11px;--bottom-nav-h:62px;--shadow-sm:0 1px 3px #0f1c150a, 0 1px 2px #0f1c1508;--shadow-md:0 6px 20px #0f1c1514;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Inter,Segoe UI,Roboto,system-ui,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0f1311;--card:#181e1b;--surface-subtle:#202824;--text:#edf2ef;--muted:#8f9e95;--line:#26302b;--accent:#47b889;--accent-soft:#1a3328;--danger:#ef6456;--danger-soft:#361c1a;--shadow-sm:0 1px 3px #00000040;--shadow-md:0 8px 24px #00000073}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent;margin:0;overflow-x:hidden}h1{letter-spacing:-.02em;margin:0;font-size:1.45rem;font-weight:750;line-height:1.2}h2{letter-spacing:-.01em;margin:0;font-size:1.05rem;font-weight:650}h3{margin:0;font-size:1rem;font-weight:650}a{color:var(--accent)}input,select,textarea,button{font:inherit;color:inherit}input,select,textarea{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card);width:100%;padding:.65rem .85rem;font-size:16px;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 16%, transparent);outline:none}button{border:1px solid var(--line);background:var(--card);border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;gap:.35rem;padding:.6rem 1rem;font-weight:550;transition:transform .1s,background .15s,border-color .15s;display:inline-flex}button svg{flex-shrink:0}button:active:not(:disabled){transform:scale(.98)}button.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}button.danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 30%, var(--line))}button.wide{width:100%}button.sm{border-radius:9px;padding:.42rem .8rem;font-size:.85rem}button.pill-btn{border-radius:999px}button:disabled{opacity:.4;cursor:default}.danger-link{background:var(--danger-soft);color:var(--danger);border:none;border-radius:999px;padding:.35rem .7rem;font-size:.82rem;font-weight:600}label{color:var(--muted);gap:.3rem;font-size:.85rem;font-weight:550;display:grid}code{background:var(--surface-subtle);border-radius:5px;padding:.1rem .35rem;font-size:.85em}.stack{gap:.85rem;display:grid}.row{justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.row .danger{margin-right:auto}.form-row-2{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1rem}.muted{color:var(--muted)}.small{margin:0;font-size:.84rem;line-height:1.4}.error{color:var(--danger);margin:0;font-size:.88rem}.ok{color:var(--accent);margin:0}.notice{background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 25%, transparent)}.center{text-align:center}.page{width:100%;min-width:0;max-width:600px;padding:calc(env(safe-area-inset-top) + .75rem) .9rem calc(var(--bottom-nav-h) + env(safe-area-inset-bottom) + 1.5rem);margin:0 auto}.list-page{padding-bottom:calc(var(--bottom-nav-h) + 6.5rem + env(safe-area-inset-bottom))}.auth{max-width:400px;padding:calc(env(safe-area-inset-top) + 3rem) 1.25rem 2rem;gap:1rem;margin:0 auto;display:grid}.topbar{justify-content:space-between;align-items:center;gap:.6rem;padding:.15rem 0 .35rem;display:flex}.title-group{align-items:center;gap:.6rem;min-width:0;display:flex}.header-actions{flex:none;align-items:center;gap:.45rem;display:flex}.header-icon-btn{background:var(--card);border:1px solid var(--line);width:36px;height:36px;color:var(--muted);box-shadow:var(--shadow-sm);border-radius:50%;flex:none;place-items:center;text-decoration:none;display:grid}.header-icon-btn:active{background:var(--surface-subtle)}.sync-pill{background:var(--surface-subtle);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:.32rem;padding:.18rem .52rem;font-size:.72rem;font-weight:600;display:inline-flex}.sync-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.sync-pill.live{background:var(--accent-soft);color:var(--accent)}.sync-pill.off{color:#9a5b00;background:#fdebd0}.bottom-nav{z-index:30;background:color-mix(in srgb, var(--card) 92%, transparent);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--line);max-width:600px;padding:.3rem .4rem calc(.3rem + env(safe-area-inset-bottom));grid-auto-columns:1fr;grid-auto-flow:column;margin:0 auto;display:grid;position:fixed;bottom:0;left:0;right:0}@media (width>=601px){.bottom-nav{border-left:1px solid var(--line);border-right:1px solid var(--line);border-radius:18px 18px 0 0}}.nav-item{color:var(--muted);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;padding:.3rem .2rem;font-size:.72rem;font-weight:600;text-decoration:none;transition:color .15s;display:flex}.nav-icon{border-radius:999px;place-items:center;width:28px;height:24px;transition:background .15s,transform .15s;display:grid;position:relative}.nav-icon svg{width:20px;height:20px}.nav-item.active{color:var(--accent)}.nav-item.active .nav-icon{background:var(--accent-soft);width:44px}.nav-badge{background:var(--accent);color:#fff;text-align:center;border:2px solid var(--card);border-radius:999px;min-width:16px;padding:.05rem .35rem;font-size:.65rem;font-weight:700;line-height:1.25;position:absolute;top:-4px;right:-6px}.due-strip{background:var(--card);border:1px solid color-mix(in srgb, var(--accent) 28%, var(--line));border-radius:var(--radius);box-shadow:var(--shadow-sm);margin:.4rem 0 .75rem;padding:.6rem .75rem}.due-strip-top{justify-content:space-between;align-items:center;margin-bottom:.45rem;display:flex}.due-strip-label{color:var(--accent);font-size:.78rem;font-weight:650}.due-close{color:var(--muted);background:0 0;border:none;padding:.1rem .3rem;font-size:.85rem}.due-banner-chips{scrollbar-width:none;gap:.38rem;display:flex;overflow-x:auto}.due-chip{background:var(--surface-subtle);color:var(--text);border:1px solid #0000;border-radius:999px;flex:none;align-items:center;gap:.25rem;padding:.32rem .7rem;font-size:.82rem;font-weight:550;display:inline-flex}.due-plus{color:var(--accent);font-weight:700}.empty-hero,.empty-state-card{text-align:center;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);justify-items:center;gap:.5rem;margin-top:.5rem;padding:2.5rem 1.25rem;display:grid}.empty-icon{margin-bottom:.2rem;font-size:2.2rem;line-height:1}.empty-hero .big,.empty-state-card .big{margin:0;font-size:1.15rem;font-weight:700}.groups-container{gap:.75rem;margin-top:.4rem;display:grid}.group h2{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);align-items:center;gap:.35rem;margin:0 0 .3rem .2rem;font-size:.74rem;font-weight:700;display:flex}.group ul,.done-list{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin:0;padding:0;list-style:none;overflow:hidden}.group li,.done-list li{border-top:1px solid var(--line);align-items:stretch;transition:background .3s;display:flex}.group li:first-child,.done-list li:first-child{border-top:none}.group li.flash{background:var(--accent-soft)}.shopping-item-inner{align-items:stretch;width:100%;display:flex}.check{text-align:left;background:0 0;border:none;border-radius:0;flex:1;align-items:center;gap:.7rem;min-height:46px;padding:.72rem .85rem;display:flex}.circle{border:2px solid color-mix(in srgb, var(--muted) 65%, transparent);color:#fff;border-radius:50%;flex:none;place-items:center;width:22px;height:22px;font-size:.75rem;transition:background .15s,border-color .15s;display:grid}.check:active .circle{background:var(--accent-soft);border-color:var(--accent)}.check.checked .circle{background:var(--accent);border-color:var(--accent)}.check.checked .name{color:var(--muted);text-decoration:line-through}.name{flex:1;font-size:.98rem;font-weight:500}.qty{background:var(--surface-subtle);color:var(--muted);white-space:nowrap;border-radius:6px;padding:.12rem .45rem;font-size:.78rem;font-weight:600}.by{color:var(--muted);font-size:.7rem}.more{color:var(--muted);background:0 0;border:none;border-radius:0;place-items:center;padding:0 .85rem;display:grid}.done-section{gap:.45rem;margin-top:.9rem;display:grid}.done-bar{background:var(--surface-subtle);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;padding:.3rem .4rem .3rem .65rem;display:flex}.done-toggle{color:var(--muted);background:0 0;border:none;align-items:center;gap:.4rem;padding:.25rem 0;font-size:.86rem;font-weight:600;display:inline-flex}.done-check-icon{color:var(--accent);font-weight:700}.finish-inline-btn{background:var(--card);border:1px solid var(--line);color:var(--text);border-radius:8px;padding:.35rem .75rem;font-size:.78rem;font-weight:600}.composer{left:0;right:0;bottom:calc(var(--bottom-nav-h) + env(safe-area-inset-bottom));z-index:25;pointer-events:none;padding:.4rem .85rem .55rem;position:fixed}.composer>*{pointer-events:auto;max-width:580px;margin:0 auto}.composer-pill{background:var(--card);border:1px solid color-mix(in srgb, var(--accent) 25%, var(--line));box-shadow:var(--shadow-md);border-radius:999px;align-items:center;gap:.3rem;padding:.28rem .32rem .28rem .95rem;display:flex}.composer-pill input{background:0 0;border:none;flex:1;padding:.45rem .2rem;font-size:16px}.composer-pill input:focus{box-shadow:none}.composer-icon-btn{border:none;border-radius:50%;flex:none;place-items:center;width:38px;height:38px;padding:0;display:grid}.composer-icon-btn.mic{background:var(--surface-subtle);color:var(--text)}.composer-icon-btn.add{background:var(--accent);color:#fff}.composer-icon-btn.mic.recording{background:var(--danger);color:#fff;animation:1.2s infinite pulse}@keyframes pulse{50%{box-shadow:0 0 0 7px color-mix(in srgb, var(--danger) 25%, transparent)}}.suggestions{scrollbar-width:none;gap:.35rem;padding-bottom:.45rem;display:flex;overflow-x:auto}.suggestions button{background:var(--card);border:1px solid var(--accent);color:var(--accent);box-shadow:var(--shadow-sm);border-radius:999px;flex:none;padding:.35rem .75rem;font-size:.82rem;font-weight:600}.due-bar{align-items:center}.due-pill-hint{text-transform:uppercase;letter-spacing:.05em;color:var(--accent);flex:none;padding:.2rem .4rem .2rem .1rem;font-size:.7rem;font-weight:700}.due-pill-chip{box-shadow:var(--shadow-sm);cursor:pointer;border-radius:999px;flex:none;align-items:center;gap:.25rem;font-size:.82rem;transition:all .12s;display:inline-flex;background:var(--card)!important;border:1px solid color-mix(in srgb, var(--accent) 35%, var(--line))!important;color:var(--text)!important;padding:.32rem .75rem!important;font-weight:500!important}.due-pill-chip:active{transform:scale(.96);background:var(--surface-subtle)!important}.view-pill-bar{justify-content:center;align-items:center;margin:.15rem 0 .85rem;display:flex}.pill-nav{background:color-mix(in srgb, var(--surface) 65%, var(--surface-subtle));border:1px solid var(--line);border-radius:9999px;align-items:center;gap:3px;padding:3px;display:inline-flex}.pill-nav-btn{color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:9999px;justify-content:center;align-items:center;gap:.45rem;padding:.38rem 1.15rem;font-size:.86rem;font-weight:500;line-height:1.2;transition:all .15s;display:inline-flex}.pill-nav-btn:hover{color:var(--text)}.pill-nav-btn.active{background:var(--card);color:var(--text);font-weight:600;box-shadow:0 1px 3px #00000014,0 1px 2px #0000000a}.pill-badge{background:var(--surface-subtle);color:var(--muted);text-align:center;border-radius:999px;min-width:1.25rem;padding:.08rem .44rem;font-size:.7rem;font-weight:650;line-height:1.2}.pill-nav-btn.active .pill-badge{background:color-mix(in srgb, var(--surface) 80%, transparent);color:var(--text)}.pill-badge.due{background:color-mix(in srgb, var(--accent) 18%, transparent);color:var(--accent)}.pill-nav-btn.active .pill-badge.due{background:var(--accent);color:#fff}.products-header-row{align-items:center;gap:.5rem;display:flex}.products-header-row .search-box{flex:1}.search-and-chips{gap:.55rem;display:grid}.search-box{flex:1;position:relative}.search-icon{color:var(--muted);pointer-events:none;position:absolute;top:50%;left:.8rem;transform:translateY(-50%)}.search-box input{background:var(--card);box-shadow:var(--shadow-sm);border-radius:999px;padding-left:2.35rem}.filter-row{align-items:center;gap:.45rem;display:flex}.compact-select{background:var(--card);width:auto;max-width:135px;box-shadow:var(--shadow-sm);border-radius:999px;flex:none;padding:.6rem .75rem;font-size:.84rem;font-weight:550}.sort-toggle-btn{background:var(--card);border:1px solid var(--line);height:38px;box-shadow:var(--shadow-sm);color:var(--text);cursor:pointer;white-space:nowrap;border-radius:999px;flex:none;justify-content:center;align-items:center;gap:.3rem;padding:0 .75rem;font-size:.8rem;font-weight:550;transition:background .15s,border-color .15s;display:inline-flex}.sort-toggle-btn:hover{border-color:var(--accent)}.sort-toggle-btn .sort-icon{color:var(--accent);font-weight:700}@media (width<=440px){.sort-toggle-btn .sort-text{display:none}.sort-toggle-btn{width:38px;padding:0}}.category-chips{scrollbar-width:none;gap:.38rem;min-width:0;max-width:100%;padding-bottom:.15rem;display:flex;overflow-x:auto}.chip{background:var(--card);border:1px solid var(--line);color:var(--muted);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;box-shadow:var(--shadow-sm);border-radius:9999px;flex:none;align-items:center;padding:.34rem .68rem;font-size:.8rem;font-weight:550;transition:all .15s;display:inline-flex}.chip:hover{color:var(--text);border-color:color-mix(in srgb, var(--accent) 35%, var(--line))}.chip:active{transform:scale(.97)}.chip.active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 2px 8px color-mix(in srgb, var(--accent) 30%, transparent);font-weight:600}.chip-badge{background:var(--surface-subtle);color:var(--muted);font-variant-numeric:tabular-nums;border-radius:9999px;justify-content:center;align-items:center;margin-left:.35rem;padding:.05rem .4rem;font-size:.72rem;font-weight:700;line-height:1.1;display:inline-flex}.chip.active .chip-badge{color:#fff;background:#ffffff40}.due-block{gap:.4rem;display:grid}.section-label-row{justify-content:space-between;align-items:baseline;padding:0 .15rem;display:flex}.section-eyebrow{color:var(--accent);font-size:.82rem;font-weight:700}.due-scroller{scrollbar-width:none;gap:.5rem;padding-bottom:.2rem;display:flex;overflow-x:auto}.due-tile{background:var(--card);border:1px solid color-mix(in srgb, var(--accent) 30%, var(--line));text-align:left;width:195px;box-shadow:var(--shadow-sm);border-radius:14px;flex:none;align-items:center;gap:.55rem;padding:.6rem .7rem;display:flex}.due-tile-icon{flex:none;font-size:1.3rem}.due-tile-body{flex:1;min-width:0}.due-tile-name{white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;display:block;overflow:hidden}.due-tile-sub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:.1rem;font-size:.72rem;display:block;overflow:hidden}.due-tile-plus{background:var(--accent-soft);width:26px;height:26px;color:var(--accent);border-radius:50%;flex:none;place-items:center;font-size:1rem;font-weight:700;display:grid}.clean-list{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin:0;padding:0;list-style:none;overflow:hidden}.clean-list li{border-top:1px solid var(--line);align-items:center;gap:.45rem;padding:.55rem .75rem;display:flex}.clean-list li:first-child{border-top:none}.star-btn{color:color-mix(in srgb, var(--muted) 50%, transparent);background:0 0;border:none;flex:none;padding:.25rem;font-size:1.15rem;line-height:1}.star-btn.active{color:#f39c12}.item-main{text-align:left;background:0 0;border:none;flex:1;min-width:0;padding:.15rem 0}.item-main .name-row{align-items:center;gap:.4rem;min-width:0;display:flex}.cat-dot{flex:none;font-size:1rem}.item-title{white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:600;overflow:hidden}.item-main .meta{color:var(--muted);margin-top:.12rem;font-size:.74rem}.status-pill.on-list{background:var(--accent-soft);color:var(--accent);white-space:nowrap;border-radius:999px;flex:none;padding:.28rem .6rem;font-size:.74rem;font-weight:650}.quick-add-btn{width:34px;height:34px;color:var(--accent);cursor:pointer;background:0 0;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s,transform .1s;display:inline-flex}.quick-add-btn:hover{background:var(--accent-soft);color:var(--accent)}.quick-add-btn:active{transform:scale(.9)}.recipe-grid{gap:.7rem;display:grid}.recipe-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;gap:.6rem;padding:.9rem 1rem;display:flex}.recipe-card-body{cursor:pointer;gap:.4rem;display:grid}.recipe-header{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.recipe-header h3{font-size:1.02rem;line-height:1.3}.time-badge{background:var(--surface-subtle);color:var(--muted);white-space:nowrap;border-radius:999px;flex:none;padding:.15rem .5rem;font-size:.74rem;font-weight:600}.recipe-card .desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.recipe-note-preview{background:color-mix(in srgb, #f39c12 10%, var(--card));border-left:3px solid #f39c12;border-radius:6px;padding:.35rem .6rem;font-size:.8rem;line-height:1.35}.recipe-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:.5rem;padding-top:.5rem;display:flex}.recipe-meta{color:var(--muted);cursor:pointer;font-size:.78rem}.recipe-quick-btns{flex:none;gap:.35rem;display:flex}.pill-action{background:var(--surface-subtle);color:var(--text);border:1px solid #0000;border-radius:999px;padding:.28rem .65rem;font-size:.76rem;font-weight:600}.pill-action:active{background:var(--accent-soft);color:var(--accent)}.action-choice-list{gap:.55rem;display:grid}.action-choice-card{background:var(--surface-subtle);border:1px solid var(--line);text-align:left;border-radius:14px;align-items:center;gap:.8rem;padding:.85rem .95rem;display:flex}.choice-icon{flex:none;font-size:1.5rem}.action-choice-card strong{margin-bottom:.1rem;font-size:.95rem;display:block}.recipe-detail-sheet{max-height:88vh;overflow-y:auto}.detail-submeta{flex-wrap:wrap;align-items:center;gap:.45rem;margin-top:.3rem;display:flex}.servings-stepper{background:var(--surface);border:1px solid var(--line);border-radius:999px;align-items:center;gap:.2rem;padding:2px 4px;display:inline-flex}.servings-stepper .stepper-btn{width:24px;height:24px;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:.95rem;font-weight:700;display:inline-flex}.servings-stepper .stepper-btn:active{background:var(--surface-subtle)}.servings-stepper .stepper-btn:disabled{opacity:.35;cursor:not-allowed}.servings-stepper .servings-value{color:var(--text);padding:0 .25rem;font-size:.82rem}.servings-stepper .stepper-reset{color:var(--muted);cursor:pointer;background:0 0;border:none;align-items:center;padding:0 4px;font-size:.9rem;display:inline-flex}.wakelock-pill{color:#d97706;background:#f59e0b1f;border:1px solid #f59e0b40;border-radius:999px;align-items:center;gap:.25rem;padding:2px 8px;font-size:.75rem;font-weight:500;display:inline-flex}.qty-scaled{color:var(--accent);font-weight:600}.detail-action-bar{scrollbar-width:none;gap:.4rem;padding-bottom:.15rem;display:flex;overflow-x:auto}.detail-action-bar button{white-space:nowrap;flex:none}.detail-section{gap:.4rem;display:grid}.detail-ingredients{background:var(--surface-subtle);border-radius:12px;margin:0;padding:0;list-style:none;overflow:hidden}.detail-ingredients li{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding:.5rem .75rem;font-size:.92rem;display:flex}.detail-ingredients li:first-child{border-top:none}.detail-steps{gap:.5rem;margin:0;padding-left:1.25rem;font-size:.92rem;line-height:1.45;display:grid}.plan-toolbar{scrollbar-width:none;align-items:center;gap:.4rem;display:flex;overflow-x:auto}.plan-quick-pills{flex:none;gap:.35rem;display:flex}.compact-date{background:var(--card);border-radius:999px;flex:1;width:auto;min-width:0;max-width:132px;padding:.36rem .55rem;font-size:.8rem;font-weight:550}.plan-toolbar .compact-select{max-width:90px;padding:.36rem .55rem;font-size:.8rem}.inspiration-strip{scrollbar-width:none;align-items:center;gap:.45rem;padding:.1rem 0;display:flex;overflow-x:auto}.insp-label{color:var(--accent);white-space:nowrap;flex:none;font-size:.78rem;font-weight:650}.top-suggestions-section{flex-direction:column;gap:.45rem;width:100%;min-width:0;max-width:100%;margin:.2rem 0 .85rem;display:flex;overflow:hidden}.top-suggestions-header{justify-content:space-between;align-items:center;padding:0 .15rem;display:flex}.top-suggestions-title{color:var(--text);align-items:center;gap:.4rem;font-size:.82rem;font-weight:700;display:inline-flex}.sugg-badge-icon{font-size:.85rem;line-height:1}.sugg-toggle-btn{color:var(--muted);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--transition-fast);background:0 0;border:none;padding:.15rem .4rem;font-size:.75rem;font-weight:550}.sugg-toggle-btn:hover{color:var(--text)}.top-suggestions-scroll{scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;align-items:stretch;gap:.45rem;width:100%;min-width:0;max-width:100%;padding:.1rem .15rem .35rem;display:flex;overflow-x:auto}.top-suggestions-scroll::-webkit-scrollbar{display:none}.suggestion-card{background:var(--card);border:1px solid color-mix(in srgb, var(--accent) 30%, var(--line));box-shadow:var(--shadow-sm);transition:transform var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);-webkit-user-select:none;user-select:none;border-radius:9999px;flex:none;align-items:center;padding:.22rem .25rem .22rem .75rem;display:inline-flex}.suggestion-card:hover{border-color:var(--accent);box-shadow:0 2px 8px color-mix(in srgb, var(--accent) 22%, transparent)}.suggestion-card:active{transform:scale(.98)}.suggestion-card-main{cursor:pointer;text-align:left;color:inherit;background:0 0;border:none;align-items:baseline;gap:.35rem;padding:0 .45rem 0 0;font-family:inherit;display:flex}.suggestion-title{color:var(--text);white-space:nowrap;font-size:.82rem;font-weight:600}.suggestion-meta{color:var(--muted);white-space:nowrap;font-size:.72rem}.suggestion-add-btn{background:color-mix(in srgb, var(--accent) 15%, transparent);width:1.6rem;height:1.6rem;color:var(--accent);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);border:none;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.suggestion-add-btn:hover{background:var(--accent);color:#fff}.suggestion-add-btn:active{transform:scale(.92)}.sheet-title-col{flex-direction:column;align-items:flex-start;gap:.15rem;display:flex}.past-days-toggle-row{justify-content:center;align-items:center;padding:.1rem 0 .2rem;display:flex}.past-load-btn{color:var(--muted);border:1px dashed var(--line);background:var(--surface-subtle);cursor:pointer;border-radius:999px;align-items:center;gap:.4rem;padding:.42rem .95rem;font-size:.83rem;font-weight:550;transition:all .15s;display:inline-flex}.past-load-btn:hover{color:var(--text);border-color:var(--accent);background:var(--card)}.past-days-expanded-bar{align-items:center;gap:.45rem;display:flex}.past-hide-btn{color:var(--muted);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:999px;padding:.38rem .75rem;font-size:.8rem}.past-hide-btn:hover{color:var(--text);background:var(--surface-subtle)}.days-container{gap:.6rem;display:grid}.day-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:.75rem .85rem;transition:border-color .2s}.day-card.today{border:1.5px solid var(--accent)}.day-card.past{opacity:.72}.day-head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.45rem;display:flex}.day-title{align-items:baseline;gap:.45rem;min-width:0;display:flex}.day-badge{font-size:.98rem;font-weight:700}.badge-today{color:var(--accent)}.day-date{font-size:.82rem}.day-head-actions{flex:none;align-items:center;gap:.3rem;display:flex}.day-add-btn{background:var(--accent-soft);color:var(--accent);border:none;border-radius:999px;padding:.25rem .6rem;font-size:.78rem;font-weight:600}.day-more-btn{width:28px;height:28px;color:var(--muted);background:0 0;border:none;border-radius:50%;place-items:center;padding:0;font-size:1.05rem;display:grid}.day-empty-btn{border:1px dashed var(--line);width:100%;color:var(--muted);text-align:center;background:0 0;border-radius:10px;padding:.48rem;font-size:.8rem;font-weight:500}.day-meal-list{gap:.38rem;margin:0;padding:0;list-style:none;display:grid}.meal-item{background:var(--surface-subtle);border-radius:11px;align-items:center;gap:.55rem;padding:.5rem .65rem;display:flex}.meal-body{text-align:left;background:0 0;border:none;flex:1;min-width:0;padding:0}.meal-title-row{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.meal-title-text{font-size:.94rem;font-weight:600;line-height:1.25}.tag-badge{white-space:nowrap;border-radius:999px;padding:.1rem .42rem;font-size:.68rem;font-weight:650}.tag-badge.leftover{color:#b85d00;background:#fef3de}.tag-badge.skipped,.tag-badge.not-cooking{background:var(--surface-subtle,#f1f5f9);color:var(--muted,#64748b);border:1px solid var(--line)}.tag-badge.lunch{color:#206a9c;background:#e6f2fa}.meal-note{margin:.15rem 0 0;font-size:.76rem}.shift-one-btn{background:var(--card);border:1px solid var(--line);color:var(--muted);border-radius:999px;flex:none;padding:.2rem .5rem;font-size:.72rem;font-weight:650}.quick-preset-row{flex-wrap:wrap;gap:.4rem;display:flex}.preset-pill{background:var(--surface-subtle);border:1px solid var(--line);text-align:center;border-radius:10px;flex:1;padding:.48rem .6rem;font-size:.8rem;font-weight:600}.menu-container{position:relative}.menu-backdrop{z-index:100;background:0 0;position:fixed;inset:0}.day-actions-dropdown{z-index:101;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow-md);border-radius:12px;flex-direction:column;gap:.15rem;min-width:215px;padding:.35rem;display:flex;position:absolute;top:calc(100% + 4px);right:0}.day-actions-dropdown button{text-align:left;color:var(--text);background:0 0;border:none;border-radius:8px;padding:.55rem .75rem;font-size:.84rem;font-weight:550}.day-actions-dropdown button:active{background:var(--surface-subtle)}.day-card.drag-target{outline:2px dashed var(--accent);background:var(--accent-soft)}.meal-item.is-dragging{opacity:.35}.sheet-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:50;background:#0006;position:fixed;inset:0}.sheet{box-sizing:border-box;background:var(--card);width:100%;max-width:600px;max-height:88vh;padding:.7rem 1.05rem calc(1.1rem + env(safe-area-inset-bottom));z-index:55;border-radius:22px 22px 0 0;margin:0 auto;position:fixed;bottom:0;left:0;right:0;overflow:hidden auto;box-shadow:0 -8px 30px #0000002e}@media (width>=601px){.sheet{border-left:1px solid var(--line);border-right:1px solid var(--line);border-top:1px solid var(--line)}}.sheet-handle{background:var(--line);border-radius:999px;width:36px;height:4px;margin:0 auto .25rem}.sheet-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.close-btn{background:var(--surface-subtle);width:30px;height:30px;color:var(--muted);border:none;border-radius:50%;place-items:center;padding:0;font-size:.9rem;display:grid}.editor-section{background:var(--surface-subtle);border-radius:12px;gap:.5rem;padding:.75rem;display:grid}.section-head{justify-content:space-between;align-items:center;display:flex}.ingredient-rows,.instruction-rows{gap:.4rem;display:grid}.ingredient-input-row{gap:.35rem;display:flex}.qty-input{flex:none;width:82px}.name-input{flex:1}.remove-btn{color:var(--danger);background:0 0;border:none;padding:.3rem;font-size:.95rem}.instruction-input-row{align-items:flex-start;gap:.4rem;display:flex}.step-num{color:var(--muted);min-width:1.3rem;padding-top:.5rem;font-weight:700}.instruction-input-row textarea{flex:1;padding:.5rem}.ingredient-checklist{background:var(--surface-subtle);border-radius:12px;gap:.5rem;max-height:48vh;padding:.55rem;display:grid;overflow-y:auto}.checkbox-label{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.6rem;font-size:.92rem;display:flex}.checkbox-label input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent);flex:none;margin:0}.voice-textarea-wrapper{position:relative}.voice-textarea-wrapper textarea{padding-right:3.2rem}.dictate-btn{background:var(--accent-soft);border:1px solid var(--accent);width:38px;height:38px;color:var(--accent);border-radius:50%;place-items:center;padding:0;font-size:1.15rem;display:grid;position:absolute;bottom:.6rem;right:.6rem}.dictate-btn.recording{background:var(--danger);border-color:var(--danger);color:#fff;animation:1.2s infinite pulse}.dictate-status{color:var(--danger);align-items:center;gap:.4rem;margin:0;font-size:.84rem;font-weight:550;display:flex}.pulsing-dot{background:var(--danger);border-radius:50%;width:9px;height:9px;animation:1s infinite pulse;display:inline-block}.members{margin:0;padding-left:1.1rem}details summary{cursor:pointer;color:var(--accent);margin-bottom:.6rem;font-size:.9rem;font-weight:600}.toast{left:50%;bottom:calc(var(--bottom-nav-h) + 1.2rem + env(safe-area-inset-bottom));color:#fff;max-width:calc(100% - 2rem);box-shadow:var(--shadow-md);z-index:45;white-space:nowrap;background:#1c2420;border-radius:999px;align-items:center;gap:.75rem;padding:.6rem .95rem;font-size:.86rem;display:flex;position:fixed;transform:translate(-50%)}.toast button{color:#6ee7b7;background:0 0;border:none;padding:.1rem .25rem;font-weight:650}.fab-secondary,.shopping-fab,.task-fab{right:1rem;bottom:calc(var(--bottom-nav-h) + env(safe-area-inset-bottom) + .9rem + 48px + .65rem);border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);background:var(--accent);color:#fff;width:48px;height:48px;box-shadow:0 4px 16px color-mix(in srgb, var(--accent) 40%, transparent), var(--shadow-md);z-index:40;cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s,background .2s;display:flex;position:fixed}@media (width>=641px){.fab-secondary,.shopping-fab,.task-fab{width:56px;height:56px;bottom:calc(2.25rem + 56px);right:1.5rem}}.fab-secondary:hover,.shopping-fab:hover,.task-fab:hover{background:color-mix(in srgb, var(--accent) 88%, #000);transform:scale(1.06)}.fab-secondary:active,.shopping-fab:active,.task-fab:active{transform:scale(.94)}.tag-badge.recipe{background:var(--accent-soft);color:var(--accent)}.dish-field{gap:.35rem;display:grid}.dish-input-row{align-items:stretch;gap:.4rem;display:flex}.dish-input-row input{flex:1}.recipe-btn{background:var(--surface-subtle);border:1px solid var(--line);border-radius:var(--radius-sm);white-space:nowrap;cursor:pointer;flex:none;padding:.55rem .85rem;font-size:.85rem;font-weight:600}.recipe-btn:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.recipe-linked-info{align-items:center;gap:.5rem;margin-top:.1rem;display:flex}.badge-action-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:.76rem;text-decoration:underline}.label-heading{color:var(--muted);font-size:.85rem;font-weight:600}.dish-picker-trigger{background:var(--surface-subtle);border:1.5px dashed var(--line);border-radius:var(--radius-sm);cursor:pointer;text-align:left;width:100%;color:var(--text);align-items:center;gap:.8rem;padding:.85rem 1rem;transition:background .15s,border-color .15s,transform .1s;display:flex}.dish-picker-trigger:hover,.dish-picker-trigger:focus-visible{background:var(--card);border-color:var(--accent)}.dish-picker-trigger:active{transform:scale(.99)}.trigger-icon{flex:none;font-size:1.3rem}.trigger-text{flex:1;gap:.15rem;display:grid}.trigger-text strong{font-size:.95rem;font-weight:650}.trigger-arrow{color:var(--muted);font-size:1.25rem;font-weight:300}.selected-dish-card{background:var(--surface-subtle);border:1.5px solid var(--line);border-radius:var(--radius-sm);align-items:center;gap:.8rem;padding:.75rem .9rem;transition:border-color .15s;display:flex}.selected-dish-card.is-recipe{background:var(--surface-subtle);border-color:#1f6f5059}@media (prefers-color-scheme:dark){.selected-dish-card.is-recipe{border-color:#47b88966}}.dish-icon{flex:none;font-size:1.35rem}.dish-info{flex:1;gap:.2rem;min-width:0;display:grid}.dish-title-badge{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.dish-title-badge strong{word-break:break-word;font-size:.96rem;font-weight:650}.dish-meta{color:var(--muted);flex-wrap:wrap;gap:.35rem;font-size:.78rem;display:flex}.dish-card-actions{flex:none;align-items:center;gap:.35rem;display:flex}.ghost-btn{background:var(--card);border:1px solid var(--line);color:var(--text);cursor:pointer;border-radius:8px;padding:.35rem .65rem;font-size:.82rem;font-weight:600}.ghost-btn:hover{border-color:var(--muted)}.ghost-btn.danger{color:var(--danger)}.ghost-btn.danger:hover{border-color:var(--danger);background:var(--danger-soft)}.type-pill{background:var(--card);color:var(--muted);border:1px solid var(--line);letter-spacing:.02em;border-radius:999px;padding:.12rem .45rem;font-size:.7rem;font-weight:650}.type-pill.recipe-pill{background:var(--accent-soft);color:var(--accent);border-color:#0000}.type-pill.freitext-pill{background:var(--surface-subtle);color:var(--muted)}.skipped-section{gap:.45rem;display:grid}.quick-chips{flex-wrap:wrap;gap:.35rem;margin-top:.2rem;display:flex}.quick-chip{background:var(--surface-subtle);border:1px solid var(--line);color:var(--text);cursor:pointer;border-radius:999px;padding:.32rem .65rem;font-size:.78rem;font-weight:550;transition:background .15s,border-color .15s}.quick-chip:hover,.quick-chip:focus-visible{background:var(--card);border-color:var(--muted)}.quick-chip:active{background:var(--accent-soft);color:var(--accent)}.dish-picker-backdrop{z-index:55}.dish-picker-sheet{z-index:60;max-height:88vh;padding:.8rem 1.05rem calc(1rem + env(safe-area-inset-bottom));flex-direction:column;display:flex}.dish-search-bar{margin-top:.2rem;position:relative}.dish-search-bar .search-box input{padding-right:2.2rem}.search-clear-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:50%;place-items:center;padding:.25rem;font-size:.95rem;display:grid;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.search-clear-btn:hover{color:var(--text)}.dish-tag-chips{padding-bottom:.2rem}.dish-picker-list{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:.45rem;min-height:220px;max-height:54vh;padding-right:2px;display:flex;overflow-y:auto}.freitext-action-card{text-align:left;border-radius:var(--radius-sm);background:var(--accent-soft);border:1.5px solid var(--accent);cursor:pointer;width:100%;color:var(--text);align-items:center;gap:.75rem;padding:.75rem .9rem;transition:background .12s,transform .1s;display:flex}.freitext-action-card:hover,.freitext-action-card:focus-visible{background:var(--card)}.freitext-action-card:active{transform:scale(.99)}.freitext-icon{color:var(--accent);flex:none;font-size:1.3rem}.freitext-content{flex:1;gap:.15rem;min-width:0;display:grid}.freitext-sub{color:var(--muted);font-size:.75rem}.freitext-name{color:var(--text);word-break:break-word;font-size:.96rem;font-weight:700}.recipe-results-header{justify-content:space-between;align-items:center;padding:.25rem .15rem 0;display:flex}.dish-recipe-items{gap:.45rem;display:grid}.dish-recipe-item{text-align:left;border-radius:var(--radius-sm);background:var(--card);border:1px solid var(--line);width:100%;color:var(--text);cursor:pointer;justify-content:space-between;align-items:center;gap:.75rem;padding:.72rem .9rem;transition:background .15s,border-color .15s;display:flex}.dish-recipe-item:hover,.dish-recipe-item:focus-visible{background:var(--surface-subtle);border-color:var(--muted)}.dish-recipe-item:active{transform:scale(.995)}.dish-recipe-item.selected{border-color:var(--accent);background:var(--accent-soft)}.dish-item-main{flex:1;gap:.22rem;min-width:0;display:grid}.dish-item-title-row{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.dish-item-title{word-break:break-word;font-size:.94rem;font-weight:650}.time-badge{background:var(--surface-subtle);color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:.1rem .4rem;font-size:.72rem}.dish-item-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.77rem;display:flex}.dish-item-action{flex:none;justify-content:center;align-items:center;display:flex}.dish-plan-icon-btn{border:1px solid var(--accent);background:var(--accent-soft);width:36px;height:36px;color:var(--accent);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .15s,transform .1s,border-color .15s,color .15s;display:inline-flex}.dish-plan-icon-btn:hover{background:var(--accent);color:#fff}.dish-plan-icon-btn:active{transform:scale(.92)}.picker-actions-row,.picker-actions-bottom{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;display:flex}.picker-actions-bottom{border-top:1px solid var(--line);margin-top:.75rem;padding-top:.75rem}.selected-check{color:var(--accent);font-size:1.15rem;font-weight:700}.picker-empty-state{text-align:center;justify-items:center;gap:.75rem;padding:1.75rem 1rem;display:grid}.picker-footer{border-top:1px solid var(--line);justify-content:flex-end;margin-top:.4rem;padding-top:.4rem;display:flex}.sugg-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.link-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:.1rem .25rem;font-weight:600}.recipe-open-btn{background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);color:var(--accent);font-weight:600}.plan-day-picker-list{gap:.4rem;max-height:48vh;display:grid;overflow-y:auto}.plan-day-option{border-radius:var(--radius-sm);background:var(--surface-subtle);border:1px solid var(--line);text-align:left;justify-content:space-between;align-items:center;gap:.6rem;width:100%;padding:.65rem .85rem;display:flex}.plan-day-option.free{background:var(--card)}.plan-day-option:hover{border-color:var(--accent)}.plan-day-left{flex:none;align-items:baseline;gap:.45rem;display:flex}.plan-day-right{align-items:center;gap:.5rem;min-width:0;display:flex}.free-badge{color:var(--accent);background:var(--accent-soft);border-radius:999px;padding:.12rem .5rem;font-size:.75rem;font-weight:600}.occupied-text{white-space:nowrap;text-overflow:ellipsis;max-width:170px;overflow:hidden}.plan-add-plus{background:var(--accent-soft);width:24px;height:24px;color:var(--accent);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.custom-date-plan-row{border-top:1px solid var(--line);align-items:center;gap:.5rem;padding-top:.35rem;display:flex}.custom-date-plan-row input{flex:1}.custom-date-plan-row button{flex:none}.assistant-fab.svelte-11bpm00{right:1rem;bottom:calc(var(--bottom-nav-h) + env(safe-area-inset-bottom) + .9rem);border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);background:linear-gradient(135deg, var(--accent), color-mix(in srgb, var(--accent) 80%, #000));color:#fff;width:48px;height:48px;box-shadow:0 4px 16px color-mix(in srgb, var(--accent) 45%, transparent), var(--shadow-md);z-index:40;cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s,background .2s;display:flex;position:fixed}@media (width>=641px){.assistant-fab.svelte-11bpm00{width:56px;height:56px;bottom:1.5rem;right:1.5rem}}.assistant-fab.svelte-11bpm00:hover{transform:scale(1.06)}.assistant-fab.svelte-11bpm00:active{transform:scale(.94)}.assistant-fab.is-recording.svelte-11bpm00{background:linear-gradient(135deg, var(--danger), #a82315);border-color:color-mix(in srgb, var(--danger) 50%, #fff);box-shadow:0 0 20px #ef444499, var(--shadow-md);animation:1.2s ease-in-out infinite svelte-11bpm00-fabThrob}.fab-content.svelte-11bpm00{z-index:2;justify-content:center;align-items:center;font-size:1.35rem;display:flex;position:relative}.fab-icon.svelte-11bpm00{transition:transform .2s;display:inline-block}.assistant-fab.svelte-11bpm00:hover .fab-icon:where(.svelte-11bpm00){transform:rotate(15deg)scale(1.1)}.fab-spinner.svelte-11bpm00{animation:1.5s linear infinite svelte-11bpm00-spin;display:inline-block}.fab-pulse-ring.svelte-11bpm00{border:2px solid var(--danger);pointer-events:none;border-radius:50%;animation:1.5s cubic-bezier(.215,.61,.355,1) infinite svelte-11bpm00-pulseExpand;position:absolute;inset:-8px}@keyframes svelte-11bpm00-pulseExpand{0%{opacity:.9;transform:scale(.8)}to{opacity:0;transform:scale(1.5)}}@keyframes svelte-11bpm00-fabThrob{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes svelte-11bpm00-spin{to{transform:rotate(360deg)}}.card.svelte-oa0kr5{background:var(--surface-subtle);border:1px solid var(--line);border-radius:var(--radius-sm);flex-direction:column;gap:.5rem;margin-top:.6rem;padding:.75rem;font-size:.9rem;display:flex}.card-header.svelte-oa0kr5{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:.4rem;font-size:.88rem;display:flex}.header-title.svelte-oa0kr5{align-items:center;gap:.35rem;display:flex}.btn-text.svelte-oa0kr5{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:.2rem .4rem;font-size:.8rem;font-weight:600}.ingredients-list.svelte-oa0kr5{flex-direction:column;gap:.35rem;max-height:220px;padding-right:.2rem;display:flex;overflow-y:auto}.ingredient-row.svelte-oa0kr5{background:var(--card);border:1px solid var(--line);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;align-items:center;gap:.5rem;padding:.45rem .6rem;transition:background .15s;display:flex}.ingredient-row.is-disabled.svelte-oa0kr5{cursor:default;opacity:.8}.ingredient-row.svelte-oa0kr5 input[type=checkbox]:where(.svelte-oa0kr5){width:17px;height:17px;cursor:inherit;accent-color:var(--accent);margin:0}.ingredient-name.svelte-oa0kr5{flex:1;font-weight:500}.ingredient-qty.svelte-oa0kr5{color:var(--muted);background:var(--surface-subtle);border-radius:6px;padding:.15rem .4rem;font-size:.82rem;font-weight:600}.card-actions.svelte-oa0kr5{padding-top:.2rem}.submit-btn.svelte-oa0kr5{width:100%;padding:.55rem;font-size:.88rem}.submitted-notice.svelte-oa0kr5{color:var(--accent);justify-content:center;align-items:center;gap:.4rem;padding:.4rem 0;font-size:.85rem;font-weight:600;display:flex}.spinner.svelte-oa0kr5{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.8s linear infinite svelte-oa0kr5-spin;display:inline-block}@keyframes svelte-oa0kr5-spin{to{transform:rotate(360deg)}}.card.svelte-f2isx5{background:var(--surface-subtle);border:1px solid var(--line);border-radius:var(--radius-sm);flex-direction:column;gap:.5rem;margin-top:.6rem;padding:.75rem;font-size:.9rem;display:flex}.card-header.svelte-f2isx5{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:.4rem;font-size:.88rem;display:flex}.header-title.svelte-f2isx5{align-items:center;gap:.35rem;display:flex}.undo-btn.svelte-f2isx5{background:var(--card);border:1px solid var(--line);color:var(--danger);cursor:pointer;border-radius:6px;padding:.25rem .55rem;font-size:.8rem;font-weight:600;transition:all .15s}.undo-btn.is-undone.svelte-f2isx5{color:var(--muted);cursor:default;background:0 0;border-color:#0000}.changes-list.svelte-f2isx5{flex-direction:column;gap:.4rem;display:flex}.change-row.svelte-f2isx5{background:var(--card);border:1px solid var(--line);border-radius:8px;align-items:center;gap:.6rem;padding:.45rem .6rem;font-size:.85rem;display:flex}.date-col.svelte-f2isx5{border-right:1px solid var(--line);flex-direction:column;align-items:center;min-width:55px;padding-right:.4rem;display:flex}.day-name.svelte-f2isx5{color:var(--accent);font-size:.82rem;font-weight:700}.date-num.svelte-f2isx5{color:var(--muted);font-size:.72rem}.flow-col.svelte-f2isx5{flex-wrap:wrap;flex:1;align-items:center;gap:.35rem;display:flex}.from-dish.is-struck.svelte-f2isx5{color:var(--muted);text-decoration:line-through}.arrow.svelte-f2isx5{color:var(--muted);font-size:.8rem;font-weight:600}.to-dish.svelte-f2isx5{color:var(--text);font-weight:600}.skipped-label.svelte-f2isx5{color:var(--muted);font-style:italic}.dish-note.svelte-f2isx5{color:var(--muted);font-size:.78rem}.card.svelte-1ri6ocn{background:var(--surface-subtle);border:1px solid var(--line);border-radius:var(--radius-sm);flex-direction:column;gap:.5rem;margin-top:.6rem;padding:.75rem;font-size:.9rem;display:flex}.card-header.svelte-1ri6ocn{border-bottom:1px solid var(--line);flex-direction:column;gap:.35rem;padding-bottom:.4rem;display:flex}.header-main.svelte-1ri6ocn{align-items:center;gap:.4rem;display:flex}.recipe-title.svelte-1ri6ocn{color:var(--text);margin:0;font-size:.95rem;font-weight:700}.meta-row.svelte-1ri6ocn{gap:.4rem;display:flex}.meta-badge.svelte-1ri6ocn{background:var(--card);border:1px solid var(--line);color:var(--muted);border-radius:6px;padding:.15rem .4rem;font-size:.75rem;font-weight:600}.recipe-desc.svelte-1ri6ocn{color:var(--muted);margin:0;font-size:.82rem;line-height:1.35}.tabs-bar.svelte-1ri6ocn{border-bottom:1px solid var(--line);gap:.35rem;padding-bottom:.3rem;display:flex}.tab-btn.svelte-1ri6ocn{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.25rem .5rem;font-size:.8rem;font-weight:600}.tab-btn.active.svelte-1ri6ocn{background:var(--card);color:var(--accent);border:1px solid var(--line)}.tab-content.svelte-1ri6ocn{background:var(--card);border:1px solid var(--line);border-radius:8px;max-height:180px;padding:.5rem;overflow-y:auto}.ingredients-list.svelte-1ri6ocn,.steps-list.svelte-1ri6ocn{flex-direction:column;gap:.35rem;margin:0;padding:0;font-size:.83rem;list-style:none;display:flex}.ing-item.svelte-1ri6ocn{align-items:center;gap:.4rem;display:flex}.bullet.svelte-1ri6ocn{color:var(--accent);font-weight:700}.ing-name.svelte-1ri6ocn{flex:1}.ing-qty.svelte-1ri6ocn{color:var(--muted);font-weight:600}.step-item.svelte-1ri6ocn{gap:.4rem;line-height:1.3;display:flex}.step-num.svelte-1ri6ocn{color:var(--accent);min-width:18px;font-weight:700}.date-picker-box.svelte-1ri6ocn{background:var(--card);border:1px solid var(--accent);border-radius:8px;flex-direction:column;gap:.4rem;padding:.6rem;font-size:.82rem;display:flex}.date-picker-header.svelte-1ri6ocn{justify-content:space-between;align-items:center;display:flex}.close-picker.svelte-1ri6ocn{cursor:pointer;color:var(--muted);background:0 0;border:none;padding:0}.quick-dates.svelte-1ri6ocn{gap:.4rem;display:flex}.quick-date-btn.svelte-1ri6ocn{background:var(--surface-subtle);border:1px solid var(--line);flex:1;padding:.3rem .5rem;font-size:.8rem}.custom-date-row.svelte-1ri6ocn{gap:.4rem;display:flex}.custom-date-row.svelte-1ri6ocn input:where(.svelte-1ri6ocn){padding:.35rem .5rem;font-size:.85rem}.action-buttons.svelte-1ri6ocn{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.35rem;padding-top:.2rem;display:grid}.action-btn.svelte-1ri6ocn{white-space:nowrap;text-overflow:ellipsis;justify-content:center;padding:.45rem .4rem;font-size:.78rem;overflow:hidden}.action-btn.is-done.svelte-1ri6ocn{color:var(--accent);border-color:var(--accent-soft);background:var(--accent-soft);cursor:default}.card.svelte-i2y77z{background:var(--surface-subtle);border:1px solid var(--line);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:.5rem;margin-top:.4rem;padding:.5rem .65rem;font-size:.85rem;display:flex}.action-body.svelte-i2y77z{flex:1;align-items:center;gap:.4rem;display:flex}.action-icon.svelte-i2y77z{font-size:.9rem}.action-desc.svelte-i2y77z{color:var(--text);font-weight:500}.undo-btn.svelte-i2y77z{background:var(--card);border:1px solid var(--line);color:var(--danger);cursor:pointer;white-space:nowrap;border-radius:6px;padding:.2rem .5rem;font-size:.78rem;font-weight:600}.undo-btn.is-undone.svelte-i2y77z{color:var(--muted);cursor:default;background:0 0;border-color:#0000}.backdrop.svelte-s4sp1y{-webkit-backdrop-filter:blur(4px);z-index:999;background:#00000073;justify-content:center;align-items:flex-end;animation:.18s ease-out svelte-s4sp1y-fadeIn;display:flex;position:fixed;inset:0}@media (width>=640px){.backdrop.svelte-s4sp1y{align-items:center;padding:1rem}}.sheet-container.svelte-s4sp1y{background:var(--card);border:1px solid var(--line);width:100%;max-width:560px;height:85vh;max-height:720px;box-shadow:var(--shadow-md);border-radius:20px 20px 0 0;flex-direction:column;animation:.22s cubic-bezier(.16,1,.3,1) svelte-s4sp1y-slideUp;display:flex;overflow:hidden}@media (width>=640px){.sheet-container.svelte-s4sp1y{border-radius:20px;height:80vh}}.sheet-drag-handle.svelte-s4sp1y{background:var(--line);border-radius:999px;flex-shrink:0;width:38px;height:4px;margin:.5rem auto .2rem}.sheet-header.svelte-s4sp1y{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--card) 95%, transparent);justify-content:space-between;align-items:center;padding:.85rem 1rem;display:flex}.header-left.svelte-s4sp1y{align-items:center;gap:.65rem;display:flex}.bot-badge.svelte-s4sp1y{background:linear-gradient(135deg, var(--accent-soft), var(--surface-subtle));border:1px solid color-mix(in srgb, var(--accent) 30%, var(--line));border-radius:12px;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.15rem;display:flex}.sheet-title.svelte-s4sp1y{margin:0;font-size:1.02rem;font-weight:700;line-height:1.2}.sheet-status.svelte-s4sp1y{color:var(--muted);align-items:center;gap:.35rem;font-size:.75rem;display:flex}.status-dot.svelte-s4sp1y{background:var(--accent);border-radius:50%;width:7px;height:7px}.status-dot.rec.svelte-s4sp1y{background:var(--danger);animation:1s infinite alternate svelte-s4sp1y-pulseRec}.status-dot.proc.svelte-s4sp1y{background:#f59e0b}.header-right.svelte-s4sp1y{align-items:center;gap:.3rem;display:flex}.icon-btn.svelte-s4sp1y{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:.45rem;display:flex}.icon-btn.svelte-s4sp1y:hover{color:var(--text);background:var(--surface-subtle)}.sheet-messages.svelte-s4sp1y{scroll-behavior:smooth;flex-direction:column;flex:1;gap:.85rem;padding:1rem;display:flex;overflow-y:auto}.empty-state.svelte-s4sp1y{text-align:center;flex-direction:column;align-items:center;margin:auto 0;padding:1.5rem .5rem;display:flex}.empty-icon.svelte-s4sp1y{margin-bottom:.5rem;font-size:2.5rem}.empty-state.svelte-s4sp1y h4:where(.svelte-s4sp1y){margin:0 0 .35rem;font-size:1.15rem;font-weight:700}.empty-state.svelte-s4sp1y p:where(.svelte-s4sp1y){color:var(--muted);max-width:380px;margin:0 0 1.25rem;font-size:.88rem;line-height:1.4}.prompt-chips.svelte-s4sp1y{flex-direction:column;gap:.5rem;width:100%;max-width:380px;display:flex}.chip.svelte-s4sp1y{background:var(--surface-subtle);border:1px solid var(--line);text-align:left;cursor:pointer;color:var(--text);border-radius:12px;padding:.55rem .75rem;font-size:.82rem;font-weight:500;transition:background .15s,border-color .15s}.chip.svelte-s4sp1y:hover{background:var(--card);border-color:var(--accent)}.message-row.svelte-s4sp1y{width:100%;display:flex}.message-row.user.svelte-s4sp1y{justify-content:flex-end}.message-row.assistant.svelte-s4sp1y{justify-content:flex-start}.message-bubble.svelte-s4sp1y{word-break:break-word;border-radius:16px;max-width:86%;padding:.65rem .85rem;font-size:.92rem;line-height:1.42}.message-row.user.svelte-s4sp1y .message-bubble:where(.svelte-s4sp1y){background:var(--accent);color:#fff;border-bottom-right-radius:4px}.message-row.assistant.svelte-s4sp1y .message-bubble:where(.svelte-s4sp1y){background:var(--surface-subtle);color:var(--text);border:1px solid var(--line);border-bottom-left-radius:4px}.message-bubble.has-cards.svelte-s4sp1y{width:100%;max-width:95%}.cards-container.svelte-s4sp1y{flex-direction:column;gap:.6rem;margin-top:.4rem;display:flex}.undo-bar.svelte-s4sp1y{margin-top:.4rem}.undo-action-btn.svelte-s4sp1y{background:var(--card);border:1px solid var(--line);color:var(--danger);cursor:pointer;border-radius:6px;padding:.2rem .5rem;font-size:.78rem;font-weight:600}.undo-action-btn.is-undone.svelte-s4sp1y{color:var(--muted);cursor:default;background:0 0;border-color:#0000}.message-footer.svelte-s4sp1y{justify-content:flex-end;margin-top:.35rem;display:flex}.tts-btn.svelte-s4sp1y{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:.3rem;padding:.2rem .4rem;font-size:.85rem;display:inline-flex}.tts-btn.is-speaking.svelte-s4sp1y{color:var(--accent);font-weight:600}.processing-bubble.svelte-s4sp1y{align-items:center;gap:.5rem;padding:.6rem .8rem;display:flex}.processing-text.svelte-s4sp1y{color:var(--muted);font-size:.84rem}.typing-indicator.svelte-s4sp1y{gap:4px;display:inline-flex}.typing-indicator.svelte-s4sp1y span:where(.svelte-s4sp1y){background:var(--accent);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite both svelte-s4sp1y-blink}.typing-indicator.svelte-s4sp1y span:where(.svelte-s4sp1y):nth-child(2){animation-delay:.2s}.typing-indicator.svelte-s4sp1y span:where(.svelte-s4sp1y):nth-child(3){animation-delay:.4s}.error-banner.svelte-s4sp1y{background:var(--danger-soft);color:var(--danger);border-radius:10px;padding:.5rem .75rem;font-size:.84rem;font-weight:500}.sheet-footer.svelte-s4sp1y{padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--card)}.input-form.svelte-s4sp1y{align-items:center;gap:.5rem;display:flex}.input-form.svelte-s4sp1y input:where(.svelte-s4sp1y){flex:1;padding:.6rem .8rem;font-size:.95rem}.mic-btn.svelte-s4sp1y,.send-btn.svelte-s4sp1y{border-radius:12px;flex-shrink:0;width:42px;height:42px;padding:0}.mic-btn.svelte-s4sp1y{background:var(--surface-subtle);border:1px solid var(--line);color:var(--text)}.mic-btn.svelte-s4sp1y:hover{background:var(--card);border-color:var(--accent);color:var(--accent)}.recording-bar.svelte-s4sp1y{background:var(--surface-subtle);border:1px solid color-mix(in srgb, var(--danger) 40%, var(--line));border-radius:14px;justify-content:space-between;align-items:center;gap:.6rem;padding:.4rem .6rem;animation:2s ease-in-out infinite svelte-s4sp1y-pulseRecBorder;display:flex}.cancel-rec-btn.svelte-s4sp1y{border:1px solid var(--line);background:var(--card);width:36px;height:36px;color:var(--muted);border-radius:50%;padding:0;font-weight:700}.waveform-box.svelte-s4sp1y{flex:1;justify-content:center;align-items:center;gap:.75rem;display:flex}.rec-time.svelte-s4sp1y{color:var(--danger);font-family:monospace;font-size:.9rem;font-weight:700}.wave-bars.svelte-s4sp1y{align-items:center;gap:3px;height:24px;display:flex}.wave-bars.svelte-s4sp1y .bar:where(.svelte-s4sp1y){background:var(--danger);transform-origin:50%;border-radius:3px;width:3.5px;height:18px;transition:transform 80ms ease-out}.rec-label.svelte-s4sp1y{color:var(--muted);font-size:.82rem;font-weight:500}.stop-rec-btn.svelte-s4sp1y{background:var(--accent);border-radius:50%;width:40px;height:40px;padding:0}@keyframes svelte-s4sp1y-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes svelte-s4sp1y-slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes svelte-s4sp1y-blink{0%,80%,to{opacity:.4;transform:scale(0)}40%{opacity:1;transform:scale(1)}}@keyframes svelte-s4sp1y-pulseRec{0%{opacity:.5}to{opacity:1}}@keyframes svelte-s4sp1y-pulseRecBorder{0%{border-color:var(--line)}50%{border-color:var(--danger)}to{border-color:var(--line)}}
