:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--green:#1d9e75;--green-dark:#0f6e56;--green-light:#e1f5ee;--green-text:#085041;--orange:#c50;--orange-light:#fff5ef;--star-gold:#f5a623;--red:#e24b4a;--red-light:#fcebeb;--yt-red:#c00;--ig-purple:#c13584;--bg:#fff;--bg-secondary:#f5f5f3;--bg-tertiary:#eeece8;--text:#1a1a18;--text-muted:#6b6b67;--text-hint:#9b9b96;--border:#0000001a;--border-md:#0000002e;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-pill:999px;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--nutrition-partial-bg:#d977061f;--nutrition-partial-text:#b45309;--nutrition-complete-bg:#16a34a1f;--nutrition-complete-text:#15803d;--nutrition-manual-bg:#3b82f61f;--nutrition-manual-text:#1d4ed8;--nutrition-protein:#22c55e;--nutrition-carbs:#f59e0b;--nutrition-fat:#ef4444;--nutrition-fiber:#0d9488;--color-warn:#b45309;--color-warn-bg:#fef3c7;--color-accent:#43a047;--meal-breakfast:#d97706;--meal-lunch:#0d9488;--meal-dinner:#6366f1;--section-proteins:#ef4444;--section-carbs:#d97706;--section-veg-fruit:#16a34a;--section-dairy-eggs:#3b82f6;--section-fats-spices:#ca8a04;--section-other:#6b7280}:root[data-theme=light]{--bg:#fff;--bg-secondary:#f5f5f3;--bg-tertiary:#eeece8;--text:#1a1a18;--text-muted:#6b6b67;--text-hint:#9b9b96;--border:#0000001a;--border-md:#0000002e;--green-light:#e1f5ee;--green-text:#085041;--orange-light:#fff5ef;--red-light:#fcebeb;--nutrition-partial-bg:#d977061f;--nutrition-partial-text:#b45309;--nutrition-complete-bg:#16a34a1f;--nutrition-complete-text:#15803d;--nutrition-manual-bg:#3b82f61f;--nutrition-manual-text:#1d4ed8;--nutrition-protein:#22c55e;--nutrition-carbs:#f59e0b;--nutrition-fat:#ef4444;--nutrition-fiber:#0d9488;--color-warn:#b45309;--color-warn-bg:#fef3c7;--color-accent:#43a047;--meal-breakfast:#d97706;--meal-lunch:#0d9488;--meal-dinner:#6366f1;--section-proteins:#ef4444;--section-carbs:#d97706;--section-veg-fruit:#16a34a;--section-dairy-eggs:#3b82f6;--section-fats-spices:#ca8a04;--section-other:#6b7280}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#1a1a18;--bg-secondary:#252523;--bg-tertiary:#2e2e2b;--text:#f0ede8;--text-muted:#9b9b96;--text-hint:#6b6b67;--border:#ffffff1a;--border-md:#ffffff2e;--green-light:#0a3326;--green-text:#9fe1cb;--orange-light:#2a1800;--red-light:#2a0a0a;--nutrition-partial-bg:#fbbf2426;--nutrition-partial-text:#fbbf24;--nutrition-complete-bg:#34d39926;--nutrition-complete-text:#34d399;--nutrition-manual-bg:#60a5fa26;--nutrition-manual-text:#60a5fa;--nutrition-protein:#4ade80;--nutrition-carbs:#fbbf24;--nutrition-fat:#f87171;--nutrition-fiber:#5eead4;--color-warn:#fbbf24;--color-warn-bg:#fbbf2426;--color-accent:#4ade80;--meal-breakfast:#fbbf24;--meal-lunch:#5eead4;--meal-dinner:#a5b4fc;--section-proteins:#fca5a5;--section-carbs:#fcd34d;--section-veg-fruit:#4ade80;--section-dairy-eggs:#93c5fd;--section-fats-spices:#fde047;--section-other:#9ca3af}@media (prefers-color-scheme:dark){:root:not([data-theme]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#1a1a18;--bg-secondary:#252523;--bg-tertiary:#2e2e2b;--text:#f0ede8;--text-muted:#9b9b96;--text-hint:#6b6b67;--border:#ffffff1a;--border-md:#ffffff2e;--green-light:#0a3326;--green-text:#9fe1cb;--orange-light:#2a1800;--red-light:#2a0a0a;--nutrition-partial-bg:#fbbf2426;--nutrition-partial-text:#fbbf24;--nutrition-complete-bg:#34d39926;--nutrition-complete-text:#34d399;--nutrition-manual-bg:#60a5fa26;--nutrition-manual-text:#60a5fa;--nutrition-protein:#4ade80;--nutrition-carbs:#fbbf24;--nutrition-fat:#f87171;--nutrition-fiber:#5eead4;--color-warn:#fbbf24;--color-warn-bg:#fbbf2426;--color-accent:#4ade80;--meal-breakfast:#fbbf24;--meal-lunch:#5eead4;--meal-dinner:#a5b4fc;--section-proteins:#fca5a5;--section-carbs:#fcd34d;--section-veg-fruit:#4ade80;--section-dairy-eggs:#93c5fd;--section-fats-spices:#fde047;--section-other:#9ca3af}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}.skip-link{z-index:9999;background:var(--green);color:#fff;border-radius:0 0 var(--radius-sm) 0;padding:8px 16px;font-size:14px;font-weight:600;text-decoration:none;transition:top .1s;position:absolute;top:-100%;left:0}.skip-link:focus{top:0}body{font-family:var(--font);color:var(--text);background:var(--bg-tertiary);flex-direction:column;min-height:100dvh;font-size:16px;line-height:1.6;display:flex}#app{flex-direction:column;min-height:100dvh;display:flex}.app-footer{text-align:center;width:100%;color:var(--text-muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-top:auto;padding:14px 1.5rem 22px;font-size:12px;display:flex}.footer-actions{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.footer-meta{align-items:center;display:inline-flex}.footer-link-btn{border:.5px solid var(--border-md);border-radius:var(--radius-pill);min-height:36px;color:var(--text-muted);cursor:pointer;font-size:12px;font-family:var(--font);background:0 0;padding:6px 12px;text-decoration:none}.footer-link-btn:hover{background:var(--bg-secondary);color:var(--text)}.footer-refresh{border:.5px solid var(--border-md);border-radius:var(--radius-pill);background:var(--bg);min-height:36px;color:var(--text-muted);cursor:pointer;font-size:12px;font-family:var(--font);padding:6px 12px}.footer-refresh:hover{background:var(--bg-secondary);color:var(--text)}.credits-overlay{z-index:40;background:#00000073;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.credits-modal{width:min(680px,100%);max-height:min(80vh,720px);overflow:auto}.credits-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.credits-list{flex-direction:column;gap:8px;margin:12px 0;padding-left:18px;display:flex}.credits-list a{color:var(--green)}.credits-note{color:var(--text-muted);font-size:12px;display:block}.changelog-version{margin:8px 0 12px}.changelog-entries{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.changelog-entry{grid-template-columns:24px 1fr;align-items:start;gap:10px;display:grid}.changelog-entry-icon{text-align:center;font-size:18px;line-height:1.25}.changelog-entry-body{flex-direction:column;gap:2px;display:flex}.changelog-entry-title{font-weight:600;line-height:1.3}.changelog-entry-desc{color:var(--text-muted);font-size:.875em;line-height:1.4}.changelog-history{border-top:1px solid var(--border);flex-direction:column;gap:6px;margin-top:20px;padding-top:16px;display:flex}.changelog-history-title{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin:0 0 4px;font-size:.75rem;font-weight:600}.changelog-history-item{border-bottom:1px solid var(--border)}.changelog-history-item:last-of-type{border-bottom:none}.changelog-history-summary{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;min-height:44px;padding:10px 0;font-size:.9rem;list-style:none;display:flex}.changelog-history-summary::-webkit-details-marker{display:none}.changelog-history-summary:before{content:"▸";color:var(--text-muted);flex-shrink:0;width:12px;font-size:.7rem;transition:transform .2s}.changelog-history-item[open]>.changelog-history-summary:before{transform:rotate(90deg)}@media (prefers-reduced-motion:reduce){.changelog-history-summary:before{transition:none}}.changelog-history-version{color:var(--text);font-weight:600}.changelog-history-date{color:var(--text-muted);font-size:.82rem}.changelog-history-item[open] .changelog-entries{padding:4px 0 14px 22px}.confirm-overlay{z-index:45;background:#00000073;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.confirm-dialog{width:min(420px,100%);padding:1rem}.confirm-title{margin-bottom:4px}.confirm-message{color:var(--text-muted);font-size:14px;line-height:1.5}.confirm-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.confirm-actions button{min-height:40px;padding:8px 14px}.timer-alert-overlay{z-index:46;background:#00000073;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.timer-alert-modal{text-align:center;width:min(420px,100%);padding:1rem}.timer-alert-icon{background:color-mix(in srgb, var(--orange-light) 78%, var(--bg) 22%);border-radius:50%;justify-content:center;align-items:center;width:46px;height:46px;margin:0 auto 8px;font-size:22px;display:inline-flex}.timer-alert-title{margin-bottom:4px}.timer-alert-message{color:var(--text-muted);font-size:14px;line-height:1.5}.timer-alert-actions{flex-direction:column;gap:8px;margin-top:14px;display:flex}.timer-alert-actions .timer-alert-snooze,.timer-alert-actions .timer-alert-dismiss{width:100%;min-height:48px}@media (width<=560px){.confirm-dialog{border-radius:var(--radius-lg);width:100%}.confirm-actions{justify-content:stretch}.confirm-actions button{flex:1 1 0}.timer-alert-modal{border-radius:var(--radius-lg);width:100%}}.app-top-stack{z-index:10;position:sticky;top:0}.app-header{background:var(--bg);border-bottom:.5px solid var(--border);align-items:center;gap:10px;padding:14px 1.5rem;display:flex}.offline-banner{background:var(--bg-tertiary);min-height:44px;color:var(--text-muted);border-bottom:.5px solid var(--border);justify-content:center;align-items:center;gap:8px;padding:10px 1.5rem;font-size:.875rem;display:flex}.app-brand{cursor:pointer;color:inherit;font:inherit;background:0 0;border:none;align-items:center;gap:10px;min-height:44px;padding:0;display:inline-flex}.app-brand:hover{opacity:.9}.app-brand:focus-visible{outline:2px solid var(--green);outline-offset:4px;border-radius:var(--radius-sm)}.app-logo{flex-shrink:0;width:28px;height:28px}.app-header h1{font-size:18px;font-weight:600}.header-right{align-items:center;margin-left:auto;display:flex}.header-controls{border:.5px solid var(--border-md);border-radius:var(--radius-sm);background:var(--bg-secondary);align-items:stretch;display:inline-flex;overflow:hidden}.header-controls select{min-height:32px;color:var(--text);cursor:pointer;font-size:13px;font-family:var(--font);background:0 0;border:none;border-radius:0;padding:5px 9px;transition:background .12s}.header-controls select:hover{background:var(--bg-tertiary)}.header-controls select+select{border-left:.5px solid var(--border-md)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app{flex:1 0 auto;width:min(100%,1100px);margin:0 auto;padding:1.25rem 1rem 4rem}.app-shell{flex-direction:row;flex:1 0 auto;min-width:0;display:flex}.app-sidenav{display:none}.nav-icon{flex-shrink:0;width:20px;height:20px}.app-sidenav-item{border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;text-align:left;width:100%;font-size:14px;font-weight:500;font-family:var(--font);background:0 0;border:none;align-items:center;gap:10px;min-height:44px;padding:10px 12px;transition:background .13s,color .13s;display:flex}.app-sidenav-item:hover{background:var(--bg-secondary);color:var(--text)}.app-sidenav-item.active{background:color-mix(in srgb, var(--green) 10%, var(--bg) 90%);color:var(--green)}@media (width>=960px){.app-sidenav{border-right:.5px solid var(--border);background:var(--bg);flex-direction:column;flex-shrink:0;align-self:flex-start;gap:2px;width:220px;height:calc(100vh - 57px);padding:12px 8px;display:flex;position:sticky;top:57px;overflow-y:auto}.app-shell>.app{flex:auto;width:100%;min-width:0;max-width:880px}}.app-bottomnav{height:calc(60px + env(safe-area-inset-bottom,0px));background:var(--bg);border-top:.5px solid var(--border);z-index:20;padding-bottom:env(safe-area-inset-bottom,0px);display:flex;position:fixed;bottom:0;left:0;right:0}@media (width>=960px){.app-bottomnav{display:none}}.app-bottomnav-item{cursor:pointer;color:var(--text-muted);font-family:var(--font);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;min-height:44px;padding:6px 4px;transition:color .13s;display:flex}.app-bottomnav-item:hover{color:var(--text)}.app-bottomnav-item.active{color:var(--green)}.app-bottomnav-label{font-size:10px;font-weight:500;line-height:1}@media (width<=959px){.app-shell>.app,.app{padding-bottom:calc(4rem + 60px + env(safe-area-inset-bottom,0px))}.app-footer{padding-bottom:calc(22px + 60px + env(safe-area-inset-bottom,0px))}}.app-more-overlay{z-index:30;background:#0006;flex-direction:column;justify-content:flex-end;display:flex;position:fixed;inset:0}@media (width>=960px){.app-more-overlay{display:none!important}}.app-more-panel{background:var(--bg);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:12px 8px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));flex-direction:column;gap:2px;display:flex}.app-more-item{border-radius:var(--radius-sm);color:var(--text);cursor:pointer;text-align:left;width:100%;font-size:15px;font-weight:500;font-family:var(--font);background:0 0;border:none;align-items:center;gap:12px;min-height:48px;padding:13px 16px;transition:background .13s;display:flex}.app-more-item:hover{background:var(--bg-secondary)}.app-more-item.active{color:var(--green)}.more-panel-enter-active{transition:opacity .22s}.more-panel-leave-active{transition:opacity .18s}.more-panel-enter-from,.more-panel-leave-to{opacity:0}.more-panel-enter-active .app-more-panel{transition:transform .22s}.more-panel-leave-active .app-more-panel{transition:transform .18s}.more-panel-enter-from .app-more-panel,.more-panel-leave-to .app-more-panel{transform:translateY(100%)}.tabs{flex-wrap:wrap;gap:6px;margin-bottom:1.5rem;display:flex}.tab{border:.5px solid var(--border-md);border-radius:var(--radius-sm);background:var(--bg-secondary);min-width:80px;color:var(--text-muted);cursor:pointer;text-align:center;font-size:13px;font-weight:500;font-family:var(--font);flex:1;padding:9px 6px;transition:all .15s}.tab:hover:not(.active){background:var(--bg)}.tab.active{background:var(--bg);color:var(--text);border-color:var(--border-md);box-shadow:0 1px 3px #0000000f}.panel{display:none}.panel.active{display:block}.card{background:var(--bg);border:.5px solid var(--border);border-radius:var(--radius-md);padding:1.25rem}h2{margin-bottom:6px;font-size:17px;font-weight:600}h3{margin-bottom:4px;font-size:15px;font-weight:600}.muted-label{color:var(--text-muted);font-size:13px}.sec-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;margin-bottom:8px;font-size:11px;font-weight:600}.empty{text-align:center;color:var(--text-muted);margin:0;padding:2.5rem 1rem;font-size:14px;line-height:1.8}.empty-state-shell{text-align:center;flex-direction:column;grid-column:1/-1;justify-content:center;align-items:center;gap:10px;max-width:620px;min-height:min(56vh,440px);margin:0 auto;display:flex}.empty-kicker{border-radius:var(--radius-pill);background:var(--green-light);border:.5px solid color-mix(in srgb, var(--green) 38%, var(--border) 62%);min-height:26px;color:var(--green-text);letter-spacing:.04em;text-transform:uppercase;justify-content:center;align-items:center;padding:2px 10px;font-size:11px;font-weight:600;display:inline-flex}.empty-state-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.empty-next{text-align:center;max-width:520px;margin:0;line-height:1.5}.empty-steps{text-align:left;width:min(520px,100%);color:var(--text-muted);margin:6px 0 2px;padding-left:1.25rem;font-size:13px;line-height:1.55}.empty-steps li+li{margin-top:4px}.shopping-empty-state{border:1px solid color-mix(in srgb, var(--border) 82%, transparent);background:color-mix(in srgb, var(--bg-secondary) 68%, var(--bg) 32%);border-radius:16px;max-width:560px;min-height:min(48vh,360px);padding:1.15rem 1rem}.shopping-empty-state .empty{padding:.5rem .5rem 0}.shopping-empty-state .empty-steps{margin-top:2px}.btn-primary{background:var(--green);color:#fff;border-radius:var(--radius-sm);cursor:pointer;min-height:44px;font-size:14px;font-weight:500;font-family:var(--font);border:none;padding:9px 18px;transition:background .15s,transform .15s,box-shadow .15s,opacity .15s}.btn-primary:hover{background:var(--green-dark)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;background:#9fe1cb}.btn-primary:active{transform:translateY(1px)}.btn-ghost{border:.5px solid var(--border-md);border-radius:var(--radius-sm);cursor:pointer;min-height:44px;color:var(--text-muted);font-size:14px;font-family:var(--font);background:0 0;padding:9px 18px;transition:background .15s,border-color .15s,color .15s,opacity .15s}.btn-ghost:hover{background:var(--bg-secondary)}.btn-shopping{background:linear-gradient(135deg, var(--green) 0%, var(--green-dark) 100%);color:#fff;border-radius:var(--radius-pill);cursor:pointer;font-size:15px;font-weight:600;font-family:var(--font);border:none;align-items:center;gap:8px;padding:10px 20px;transition:transform .15s,box-shadow .15s,background .15s;display:inline-flex;box-shadow:0 4px 14px #1d9e754d}.btn-shopping:hover{background:linear-gradient(135deg, var(--green-dark) 0%, #085041 100%);transform:translateY(-2px);box-shadow:0 6px 20px #1d9e7566}.btn-shopping:active{transform:translateY(0);box-shadow:inset 0 2px 8px #0003}.btn-secondary{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;min-height:44px;color:var(--text);font-size:14px;font-weight:500;font-family:var(--font);padding:9px 18px;transition:background .15s,border-color .15s,transform .15s,box-shadow .15s}.btn-secondary:hover{background:var(--bg-tertiary);border-color:color-mix(in srgb, var(--green) 50%, var(--border) 50%);transform:translateY(-1px);box-shadow:0 2px 6px #0000000f}.btn-secondary:active{background:var(--bg-tertiary)}.btn-secondary:disabled,.btn-ghost:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.btn-primary:focus-visible,.btn-secondary:focus-visible,.btn-ghost:focus-visible,.tab:focus-visible{outline:none;box-shadow:0 0 0 3px #1d9e752e}.btn-secondary.btn-favorite{align-items:center;gap:8px;display:inline-flex}.btn-favorite .button-icon{background:var(--bg);width:20px;height:20px;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;font-size:12px;transition:background .15s,color .15s,transform .15s;display:inline-flex}.btn-favorite.active .button-icon{color:#b38900;background:#ffea89;transform:scale(1.05)}.btn-secondary.btn-secondary-icon{align-items:center;gap:8px;display:inline-flex}.btn-secondary.btn-secondary-icon .button-icon{width:20px;height:20px;color:var(--text-muted);background:#0000000a;border-radius:6px;justify-content:center;align-items:center;font-size:12px;display:inline-flex}.btn-secondary.btn-secondary-icon:hover .button-icon{background:#00000014}.btn-danger{border-radius:var(--radius-sm);cursor:pointer;min-height:36px;color:var(--text-hint);font-size:12px;font-family:var(--font);background:0 0;border:none;padding:6px 12px}.btn-danger:hover{background:var(--red-light);color:var(--red)}input[type=text],input[type=url],input[type=number],textarea,select{border:.5px solid var(--border-md);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font-size:14px;font-family:var(--font);width:100%;padding:9px 12px;transition:border-color .15s,box-shadow .15s,transform .15s}input:focus,textarea:focus,select:focus{border-color:var(--green);outline:none;box-shadow:0 0 0 3px #1d9e751f}input[type=number]{text-align:center}.servings-row{border:.5px solid var(--border-md);border-radius:var(--radius-pill);background:var(--bg-secondary);align-items:center;gap:0;display:inline-flex;overflow:hidden}.servings-btn{cursor:pointer;width:36px;height:36px;color:var(--text);font-size:18px;font-weight:600;font-family:var(--font);background:0 0;border:none;justify-content:center;align-items:center;line-height:1;transition:background .12s,color .12s;display:flex}.source-pills{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.src-pill{border:.5px solid var(--border-md);border-radius:var(--radius-pill);cursor:pointer;min-height:36px;color:var(--text-muted);background:var(--bg-secondary);padding:7px 12px;font-size:12px;font-weight:500;transition:all .15s}.src-pill.yt{color:var(--yt-red);background:#cc00000f;border-color:#c006}.src-pill.tt{border-color:var(--border-md)}.src-pill.ig{color:var(--ig-purple);background:#c135840f;border-color:#c1358466}.src-pill.active,.src-pill.cat-active{background:var(--green);color:#fff;border-color:var(--green)}.type-pill{border:.5px solid var(--border-md);border-radius:var(--radius-pill);cursor:pointer;min-height:36px;color:var(--text-muted);background:var(--bg-secondary);padding:7px 12px;font-size:12px;font-weight:500;transition:all .15s}.type-pill.active{background:var(--orange);color:#fff;border-color:var(--orange)}.site-pill{border:.5px solid var(--border-md);border-radius:var(--radius-pill);cursor:pointer;min-height:36px;color:var(--text-muted);background:var(--bg-secondary);padding:7px 12px;font-size:12px;font-weight:500;transition:all .15s}.site-pill.active{color:#fff;background:#2563eb;border-color:#2563eb}.tag-pill{border:1.5px solid var(--border);background:var(--bg-secondary);min-height:36px;color:var(--text-muted);cursor:pointer;white-space:nowrap;border-radius:20px;padding:7px 12px;font-size:13px;font-weight:500;transition:all .15s}.tag-pill.active{background:var(--orange);color:#fff;border-color:var(--orange)}.saved-filter-panel .tag-pill{background:color-mix(in srgb, var(--bg) 82%, var(--bg-secondary) 18%);min-height:36px;padding:5px 10px}.saved-filter-panel .tag-pill.active{background:var(--bg);color:var(--text);border-color:var(--text);font-weight:640}.status-msg{border-radius:var(--radius-sm);margin-top:10px;padding:9px 12px;font-size:13px;display:none}.status-msg.loading{background:color-mix(in srgb, var(--bg-secondary) 86%, transparent);color:var(--text-muted);display:block}.status-msg.ok{color:var(--green-dark);background:#1d9e751f;display:block}.status-msg.err{background:var(--red-light);color:var(--red);display:block}.import-diagnostics{border:1px solid var(--border-md);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font);background:#ffffff14;margin-top:12px;padding:12px;font-size:13px;line-height:1.4}.import-diagnostics-title{color:var(--text);margin-bottom:6px;font-weight:700}.import-diagnostics-summary{color:var(--text-muted);margin:0 0 6px}.import-diagnostics-next{color:var(--text);font-weight:600}.import-diagnostics-item{gap:.5rem;margin-bottom:5px;display:flex}.import-diagnostics-item:last-child{margin-bottom:0}.import-diagnostics-label{color:var(--text-muted);flex-shrink:0;min-width:110px}.import-diagnostics-value{color:var(--text);word-break:break-word}.import-diagnostics-hint{border-top:1px solid var(--border);margin-top:8px;padding-top:6px}.import-diagnostics-hint summary{color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none}.import-diagnostics-hint-body{color:var(--text-muted);word-break:break-word;margin-top:4px}.import-shell{flex-direction:column;gap:1rem;display:flex}.import-work-sections{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1rem;display:grid}.import-box,.import-flow-card{margin-bottom:0}.import-start-card{border:1px solid color-mix(in srgb, var(--green) 30%, var(--border) 70%);background:linear-gradient(180deg, color-mix(in srgb, var(--green-light) 55%, var(--bg) 45%) 0%, var(--bg) 100%)}.import-secondary-card{border-color:color-mix(in srgb, var(--border) 74%, var(--green) 26%);background:color-mix(in srgb, var(--bg-secondary) 70%, var(--bg) 30%)}.import-start-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.btn-secondary-strong{border-color:color-mix(in srgb, var(--green) 38%, var(--border-md) 62%);color:color-mix(in srgb, var(--green-text) 80%, var(--text) 20%)}.btn-secondary-strong:hover{border-color:color-mix(in srgb, var(--green) 50%, var(--border-md) 50%);background:color-mix(in srgb, var(--green-light) 34%, var(--bg) 66%)}.import-manual-active{border-color:color-mix(in srgb, var(--green) 42%, var(--border) 58%);box-shadow:0 0 0 1px color-mix(in srgb, var(--green-light) 48%, transparent)}.import-help-line{margin-top:4px;margin-bottom:0}.import-flow-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.import-flow-head>.btn-secondary{min-width:180px}.import-section-subtitle{margin-top:2px;margin-bottom:0}.import-success-banner{border:1px solid color-mix(in srgb, var(--green) 36%, var(--border) 64%);background:linear-gradient(180deg, color-mix(in srgb, var(--green-light) 48%, var(--bg) 52%) 0%, var(--bg) 100%);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.import-success-banner.is-info{border-color:color-mix(in srgb, var(--border-md) 78%, var(--green) 22%);background:linear-gradient(180deg, color-mix(in srgb, var(--bg-secondary) 78%, var(--bg) 22%) 0%, var(--bg) 100%)}.import-success-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--green-text);margin-bottom:4px;font-size:11px;font-weight:700;display:inline-flex}.import-success-banner.is-info .import-success-kicker{color:var(--text-muted)}.import-success-actions{flex-wrap:wrap;gap:8px;display:flex}.import-success-actions .btn-primary,.import-success-actions .btn-ghost{min-height:42px}.source-pills-static .src-pill{cursor:default}.source-pills-static .src-pill:hover{background:var(--bg-secondary)}.url-row{align-items:stretch;gap:8px;display:flex}.url-row input{flex:1}.import-supported-sites{border-top:1px dashed color-mix(in srgb, var(--border) 86%, transparent);margin-top:10px;padding-top:8px}.import-supported-sites summary{cursor:pointer;color:var(--text-muted);-webkit-user-select:none;user-select:none;font-size:12px}.import-supported-sites .source-pills{margin-top:8px}.preview-box{margin-top:1rem}.preview-review-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.preview-unsaved-pill{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--orange) 14%, var(--bg) 86%);border:1px solid color-mix(in srgb, var(--orange) 38%, var(--border) 62%);min-height:26px;color:var(--text);align-items:center;margin-bottom:8px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.preview-review-head #preview-meta{margin-bottom:6px}.preview-save-helper{color:var(--text-muted);margin:0;font-size:13px;line-height:1.4}.preview-save-top{flex-shrink:0;min-height:44px}.preview-actions{flex-wrap:wrap;gap:8px;margin-top:1rem;display:flex}.preview-actions .btn-primary,.preview-actions .btn-ghost{min-height:44px}.manual-form-wrap{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.manual-form-top-actions{justify-content:flex-end;margin-bottom:8px;display:flex}.manual-form-title{margin-bottom:6px;font-size:17px}.manual-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.manual-field{flex-direction:column;gap:6px;display:flex}.manual-field--full{grid-column:1/-1}.manual-field label{color:var(--text-muted);font-size:12px;font-weight:500}.manual-list-wrap{margin-top:14px}.manual-list-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.manual-list-header .btn-ghost{min-height:38px}.manual-list-items{flex-direction:column;gap:10px;display:flex}.manual-list-item{grid-template-columns:1fr auto;align-items:stretch;gap:10px;display:grid}.manual-item-actions{align-items:stretch;gap:6px;display:flex}.manual-item-actions .btn-ghost,.manual-item-actions .btn-danger{min-height:42px}.manual-item-actions .btn-reorder{min-width:42px;padding:0;font-size:16px;line-height:1}.manual-list-item .btn-danger{min-width:86px}.manual-actions{justify-content:flex-end;margin-top:14px;display:flex}.manual-actions .btn-primary{min-height:44px}.recipe-edit-box{margin-top:1rem}.recipe-edit-actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.recipe-edit-actions .btn-primary,.recipe-edit-actions .btn-ghost{min-height:42px}.preview-metadata{background:var(--bg-secondary);border-radius:var(--radius-sm);flex-direction:column;gap:7px;margin:.75rem 0 1rem;padding:10px 12px;display:flex}.preview-meta-row{flex-wrap:wrap;align-items:flex-start;gap:8px;font-size:13px;display:flex}.preview-meta-label{color:var(--text-muted);flex-shrink:0;min-width:90px;padding-top:3px;font-size:12px}.preview-meta-value{color:var(--text);padding-top:3px}.prep-type-pills{flex-wrap:wrap;gap:5px;display:flex}.prep-pill{border-radius:var(--radius-pill);border:1px solid var(--border-md);background:var(--bg);color:var(--text);cursor:pointer;padding:3px 10px;font-size:12px;transition:background .12s,border-color .12s,color .12s}.prep-pill.active{background:var(--green);border-color:var(--green);color:#fff}.prep-pill:hover:not(.active){background:var(--bg-tertiary)}.preview-tags-wrap{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.preview-tag{background:var(--green-light);color:var(--green-text);border-radius:var(--radius-pill);align-items:center;gap:2px;padding:2px 8px 2px 9px;font-size:12px;display:inline-flex}.tag-remove{color:inherit;cursor:pointer;opacity:.65;background:0 0;border:none;padding:0 1px;font-size:14px;line-height:1}.tag-remove:hover{opacity:1}.tag-add-input{border:1px solid var(--border-md);border-radius:var(--radius-pill);background:var(--bg);width:90px;color:var(--text);padding:2px 7px;font-size:12px}.tag-add-btn{border:1px dashed var(--border-md);border-radius:var(--radius-pill);color:var(--text-muted);cursor:pointer;background:0 0;padding:2px 8px;font-size:13px;line-height:1.4}.tag-add-btn:hover{background:var(--bg-tertiary)}.tag-suggestions{flex-wrap:wrap;gap:5px;margin-top:6px;display:flex}.tag-suggestion-chip{border:1px solid var(--border-md);border-radius:var(--radius-pill);background:var(--bg-secondary);color:var(--text-muted);cursor:pointer;padding:2px 8px;font-size:.78rem;line-height:1.5;transition:background .12s,color .12s}.tag-suggestion-chip:hover{background:var(--accent-soft,#e8a02026);color:var(--text)}.guide-article{max-width:780px;margin:0 auto;padding:1.4rem 1.5rem}.guide-source{margin-bottom:1.2rem}.guide-entry-intro{border-radius:var(--radius-md);border:1px solid var(--border);background:color-mix(in srgb, var(--bg-secondary) 68%, var(--bg) 32%);margin-bottom:1rem;padding:.9rem 1rem}.guide-entry-intro h2{margin-bottom:4px}.guide-entry-desc{margin-bottom:10px}.guide-entry-tags{flex-wrap:wrap;gap:6px;display:flex}.guide-entry-tag{color:var(--text-muted);border:.5px solid var(--border-md);border-radius:var(--radius-pill);background:var(--bg);min-height:32px;padding:5px 10px;font-size:12px}.guide-content{color:var(--text);overflow-wrap:anywhere;word-break:break-word;min-width:0;font-size:15px;line-height:1.65;overflow-x:hidden}.guide-content h1,.guide-content h2,.guide-content h3,.guide-content h4{margin-top:1.2rem;margin-bottom:.5rem;line-height:1.3}.guide-content h1,.guide-content h2,.guide-content h3,.guide-content h4,.guide-content h5,.guide-content h6{scroll-margin-top:92px}.guide-content h1{font-size:28px}.guide-content h2{font-size:22px}.guide-content h3{font-size:18px}.guide-content p,.guide-content ul,.guide-content ol,.guide-content table,.guide-content blockquote{margin:.7rem 0}.guide-content ul,.guide-content ol{padding-left:1.25rem}.guide-content li{margin:.22rem 0}.guide-content a{color:var(--green)}.guide-content a[href^=\#]{align-items:center;min-height:34px;padding:2px 1px;text-decoration-style:dotted;display:inline-flex}.guide-content img,.guide-content table{max-width:100%}.guide-content pre{border:1px solid var(--border);background:var(--bg-secondary);border-radius:8px;max-width:100%;padding:.55rem .65rem;overflow-x:auto}.guide-content blockquote{border-left:3px solid var(--border);color:var(--text-muted);padding-left:.9rem}.guide-content code{background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;padding:.1rem .32rem;font-size:.9em}.guide-content hr{border:none;border-top:1px solid var(--border);margin:1rem 0}.guide-check-item{margin-left:-1.1rem;list-style:none}.guide-check-label{align-items:flex-start;gap:10px;font-size:15px;line-height:1.55;display:flex}.guide-check-input{width:18px;height:18px;accent-color:var(--green);flex-shrink:0;margin-top:3px}.guide-check-input:checked+span{color:var(--text-muted);text-decoration:line-through}.collection-browser{border-color:color-mix(in srgb, var(--green) 24%, var(--border) 76%);background:color-mix(in srgb, var(--bg-secondary) 62%, var(--bg) 38%);padding:1rem}.collection-browser .import-featured-grid{margin:8px 0 12px}.collection-browser-top{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px;display:flex}.collection-switcher{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.collection-switcher-btn{border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;border-radius:999px;align-items:center;gap:8px;min-height:38px;padding:8px 12px;font-weight:600;display:inline-flex}.collection-switcher-btn small{color:var(--text-muted);font-size:11px}.collection-switcher-btn.active{border-color:color-mix(in srgb, var(--green) 40%, var(--border) 60%);background:color-mix(in srgb, var(--green-soft) 55%, var(--bg) 45%)}.collection-browser-grid{grid-template-columns:minmax(260px,1fr) minmax(320px,1.4fr);gap:12px;display:grid}.collection-list{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-secondary);min-height:360px;padding:10px}.collection-list-actions{gap:6px;margin-bottom:10px;display:flex}.collection-list-actions .btn-ghost{min-height:34px;padding:6px 10px;font-size:12px}.collection-list-items{flex-direction:column;gap:6px;display:flex}.collection-item{border-radius:var(--radius-sm);background:var(--bg);border:1px solid #0000;grid-template-columns:auto 1fr;align-items:flex-start;gap:8px;padding:10px;display:grid}.collection-item.active{border-color:color-mix(in srgb, var(--green) 50%, var(--border) 50%);box-shadow:0 1px 3px #0000000f}.collection-item input[type=checkbox]{width:20px;height:20px;margin-top:2px}.collection-item-main{text-align:left;color:inherit;cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;gap:3px;min-height:44px;padding:0;display:flex}.collection-item-name{font-size:13px;font-weight:600;line-height:1.3}.collection-item-meta{color:var(--text-muted);font-size:12px}.collection-preview{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);padding:10px 12px}.collection-preview h4{margin-bottom:4px;font-size:16px}.collection-preview-list li{padding:5px 0}.collection-preview-steps{max-height:280px;overflow:auto}.collection-browser-bottom{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;display:flex}.collection-browser-actions{gap:8px;display:flex}.import-featured-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;display:grid}.import-duemme-featured{border-color:color-mix(in srgb, var(--green) 32%, var(--border) 68%);background:linear-gradient(140deg, color-mix(in srgb, var(--green-soft) 72%, var(--bg) 28%), var(--bg));gap:10px;padding:1rem;display:grid}.import-duemme-featured.is-ninja{border-color:color-mix(in srgb, var(--orange) 30%, var(--border) 70%);background:linear-gradient(140deg, color-mix(in srgb, var(--orange-light) 72%, var(--bg) 28%), var(--bg))}.import-duemme-featured-head{gap:2px;display:grid}.import-duemme-featured-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:700}.import-duemme-featured h2{margin:0}.import-duemme-featured-meta{flex-wrap:wrap;gap:8px;display:flex}.chip-featured{border:1px solid color-mix(in srgb, var(--green) 20%, var(--border) 80%);background:color-mix(in srgb, var(--bg) 88%, var(--green-soft) 12%);min-height:30px;color:var(--text-muted);border-radius:999px;align-items:center;padding:5px 10px;font-size:12px;font-weight:600;display:inline-flex}.import-duemme-featured-actions{flex-wrap:wrap;gap:8px;display:flex}.ricette-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));align-items:stretch;gap:14px;display:grid}.ricetta-card{background:var(--bg);border:1px solid color-mix(in srgb, var(--border) 78%, transparent);cursor:pointer;border-radius:18px;flex-direction:column;height:100%;padding:1rem 1rem .95rem;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex;position:relative;box-shadow:0 1px 2px #00000009}.ricetta-card:hover{border-color:color-mix(in srgb, var(--green) 24%, var(--border-md) 76%);transform:translateY(-1px);box-shadow:0 5px 14px #00000012}.ricetta-card.is-bimby{border-left:3px solid var(--orange);border-radius:0 var(--radius-md) var(--radius-md) 0}.ricetta-card.is-airfryer{border-left:3px solid var(--yt-red);border-radius:0 var(--radius-md) var(--radius-md) 0}.card-cover-wrap{border:1px solid color-mix(in srgb, var(--border) 65%, transparent);background:color-mix(in srgb, var(--bg-secondary) 72%, var(--bg) 28%);aspect-ratio:16/9;border-radius:14px;margin:-4px -4px 10px;overflow:hidden}.card-cover-img{object-fit:cover;width:100%;height:100%;display:block}.card-cover-placeholder,.detail-cover-placeholder{background:linear-gradient(160deg, color-mix(in srgb, var(--bg-secondary) 84%, var(--bg) 16%), color-mix(in srgb, var(--bg-secondary) 62%, var(--green-soft) 10%));place-items:center;width:100%;height:100%;display:grid}.card-cover-placeholder-icon,.detail-cover-placeholder-icon{opacity:.88;font-size:clamp(24px,4.3vw,34px);line-height:1}.card-src{border-radius:var(--radius-pill);letter-spacing:.02em;margin-bottom:10px;padding:3px 10px;font-size:11px;font-weight:650;display:inline-block}.badge-yt{color:var(--yt-red);background:#cc00001a;border:.5px solid #cc000040}.badge-tt{background:var(--bg-secondary);color:var(--text);border:.5px solid var(--border)}.badge-ig{color:var(--ig-purple);background:#c135841a;border:.5px solid #c1358440}.badge-web{background:var(--bg-secondary);color:var(--text-muted);border:.5px solid var(--border)}.badge-bimby{background:var(--orange-light);color:var(--orange);border:.5px solid #cc550040}.badge-classica{background:var(--green-light);color:var(--green-text);border:.5px solid #1d9e7540}.badge-airfryer{color:var(--yt-red);background:#cc000014;border:.5px solid #c003}.card-name,.card-nome{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.64em;margin-bottom:8px;font-size:16px;font-weight:600;line-height:1.32;display:-webkit-box;overflow:hidden}.card-meta{color:var(--text-muted);font-size:12px}.card-rating{align-items:center;gap:1px;margin:-4px 0 6px;line-height:1;display:flex}.card-rating-star{color:var(--accent,#f7a800);letter-spacing:.5px;font-size:13px}.card-body{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex}.card-meta-block{flex-direction:column;gap:6px;min-height:84px;display:flex}.card-tags-block{min-height:30px;margin-top:auto}.card-tags-block.is-empty{min-height:24px}.card-row{color:var(--text-muted);align-items:flex-start;gap:7px;font-size:12px;line-height:1.45;display:flex}.card-row-icon{text-align:center;opacity:.72;flex-shrink:0;width:15px;margin-top:3px;font-size:10px;line-height:1}.card-row--time{color:var(--text);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--green-light) 58%, var(--bg) 42%);border:1px solid color-mix(in srgb, var(--green) 18%, var(--border) 82%);align-items:center;width:fit-content;min-height:26px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-flex}.card-row--time .card-row-icon{opacity:1;color:var(--green);margin-top:0}.card-row--cat{color:var(--text-hint);font-size:11px}.card-row--meal{align-items:flex-start}.card-row--source{color:var(--text-muted);min-height:18px;font-size:11px}.card-row--source .card-row-icon{font-size:10px}.card-row--tags{flex-wrap:wrap;align-items:center;gap:4px;min-height:24px;padding-top:1px}.card-chips{flex-wrap:wrap;gap:5px;display:flex}.card-chip{border-radius:var(--radius-pill);white-space:nowrap;padding:3px 9px;font-size:11px;font-weight:550;line-height:1.45;display:inline-block}.card-chip--meal{background:color-mix(in srgb, var(--green-light) 55%, var(--bg) 45%);color:var(--green-text);border:1px solid color-mix(in srgb, var(--green) 30%, var(--border) 70%)}.card-chip--tag{background:color-mix(in srgb, var(--bg-secondary) 70%, var(--bg) 30%);color:var(--text-hint);border:1px solid color-mix(in srgb, var(--border) 86%, transparent)}.card-chip--tool{background:color-mix(in srgb, var(--color-accent) 12%, var(--bg) 88%);color:var(--text);border:1px solid color-mix(in srgb, var(--color-accent) 30%, var(--border) 70%)}.card-actions{align-items:center;gap:6px;display:inline-flex;position:absolute;top:9px;right:9px}.card-action-btn{border-radius:var(--radius-sm);width:44px;min-width:44px;height:44px;min-height:44px;color:var(--text-hint);cursor:pointer;font-size:16px;font-family:var(--font);background:0 0;border:none;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.card-action-btn:focus-visible{outline:2px solid color-mix(in srgb, var(--green) 72%, white 28%);outline-offset:1px}.card-action-glyph{-webkit-user-select:none;user-select:none;line-height:1;display:block}.card-fav.is-fav{color:var(--star-gold)}.card-del:hover{background:var(--red-light);color:var(--red)}.card-fav:hover{background:var(--bg-secondary);color:var(--star-gold)}.card-fav.is-fav:hover{background:color-mix(in srgb, var(--star-gold) 12%, transparent);color:var(--star-gold)}.saved-header{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:1rem;display:flex}.saved-header input{flex:1;min-width:160px}.saved-random-btn,.saved-select-btn{white-space:nowrap;flex:none;min-height:44px;padding:0 12px}.bulk-toolbar{border:1px solid var(--border-md,var(--border));border-radius:var(--radius-md);background:color-mix(in srgb, var(--bg-soft,var(--bg)) 88%, var(--accent,var(--green)) 12%);flex-wrap:wrap;align-items:center;gap:10px;margin:8px 0 12px;padding:12px;display:flex}.bulk-toolbar-status{flex-wrap:wrap;flex:auto;align-items:center;gap:8px;min-width:0;display:flex}.bulk-toolbar-actions{flex-wrap:wrap;gap:8px;display:flex}.bulk-toolbar-action{min-height:36px;font-size:.9rem}.bulk-toolbar-action:disabled{opacity:.5;cursor:not-allowed}.bulk-tag-input-row{flex-wrap:wrap;align-items:center;gap:8px;width:100%;display:flex}.bulk-tag-input{border:1px solid var(--border-md,var(--border));border-radius:var(--radius-sm);background:var(--bg);min-height:36px;color:var(--text);font:inherit;flex:200px;padding:6px 10px}.bulk-tag-apply{min-height:36px}.ricetta-card.is-selection-mode{cursor:pointer}.ricetta-card.is-selected{outline:2px solid var(--green,#16a34a);outline-offset:-2px;background:color-mix(in srgb, var(--green) 8%, var(--bg))}.card-select-indicator{z-index:2;width:28px;height:28px;color:var(--text-muted,var(--text));background:color-mix(in srgb, var(--bg) 88%, transparent);pointer-events:none;border-radius:999px;justify-content:center;align-items:center;font-size:1.1rem;display:inline-flex;position:absolute;top:6px;left:6px}.card-select-indicator.is-on{color:var(--green,#16a34a)}.backup-actions{flex-wrap:wrap;gap:8px;margin:-4px 0 10px;display:flex}.backup-actions .btn-ghost{min-height:34px;color:var(--text-muted);background:0 0;padding:6px 11px;font-size:12px}.backup-import-label{cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.saved-filter-panel{background:color-mix(in srgb, var(--bg-secondary) 62%, var(--bg) 38%);border:.5px solid color-mix(in srgb, var(--border) 78%, transparent);border-radius:var(--radius-md);flex-direction:column;gap:6px;margin-bottom:.75rem;padding:.55rem .7rem;display:flex}.saved-filter-mobile-toggle-wrap{display:none}.saved-filter-mobile-toggle{justify-content:center;align-items:center;gap:8px;width:100%;min-height:40px;display:inline-flex}.saved-filter-mobile-badge{border-radius:var(--radius-pill);min-width:22px;min-height:22px;color:var(--green-text);border:1px solid color-mix(in srgb, var(--green) 36%, var(--border-md) 64%);background:color-mix(in srgb, var(--green-light) 46%, var(--bg) 54%);justify-content:center;align-items:center;padding:2px 7px;font-size:11px;font-weight:700;display:inline-flex}.cookbook-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;margin:6px 0 10px;display:flex}.cookbook-chips{flex-wrap:wrap;flex:auto;gap:6px;min-width:0;display:flex}.cookbook-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.cookbook-name-input{border:1px solid var(--border-md);border-radius:var(--radius-md);background:var(--bg);min-height:36px;color:var(--text);max-width:200px;padding:4px 10px;font-size:13px}.cookbook-save-btn,.cookbook-manage-btn{min-height:44px;padding:6px 14px;font-size:13px}.cookbook-modal-overlay{background:color-mix(in srgb, var(--text) 38%, transparent);z-index:1000;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.cookbook-modal{background:var(--card-bg,var(--bg));color:var(--text);border:1px solid var(--border-md);border-radius:var(--radius-lg,12px);width:100%;max-width:480px;max-height:80vh;box-shadow:0 8px 32px color-mix(in srgb, var(--text) 22%, transparent);flex-direction:column;display:flex}.cookbook-modal-header{border-bottom:1px solid var(--border-soft,var(--border-md));justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.cookbook-modal-title{margin:0;font-size:16px;font-weight:700}.cookbook-modal-close{min-width:32px;min-height:32px;padding:0 8px;font-size:22px;line-height:1}.cookbook-modal-body{padding:12px 16px;overflow-y:auto}.cookbook-empty{color:var(--muted,var(--text));margin:8px 0;font-size:13px;line-height:1.4}.cookbook-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.cookbook-list-item{border:1px solid var(--border-soft,var(--border-md));border-radius:var(--radius-md);background:var(--bg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.cookbook-list-name{word-break:break-word;flex:auto;min-width:0;font-weight:600}.cookbook-list-actions{flex-wrap:wrap;gap:6px;display:flex}@media (width<=640px){.cookbook-row{flex-direction:column;align-items:stretch}.cookbook-actions{justify-content:flex-start}.cookbook-name-input{flex:auto;max-width:none}}.saved-filter-panel .saved-filter-group{margin-bottom:0}.saved-filter-panel .filter-row{justify-content:flex-start;gap:5px;margin-bottom:0}.saved-filter-group{margin-bottom:10px}.filter-group--labeled{align-items:flex-start;gap:8px;display:flex}.filter-group--labeled>.filter-group-label{white-space:nowrap;flex-shrink:0;width:72px;margin-bottom:0;padding-top:8px;display:block}.filter-group--labeled>.filter-row{flex:1;min-width:0}.filter-group-label{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px;font-size:10px;font-weight:700;display:block}.saved-filter-panel .type-pill,.saved-filter-panel .site-pill{border:.5px solid color-mix(in srgb, var(--border-md) 80%, transparent);border-radius:var(--radius-pill);cursor:pointer;min-height:36px;color:var(--text-muted);background:color-mix(in srgb, var(--bg) 82%, var(--bg-secondary) 18%);padding:5px 10px;font-size:11px;font-weight:500;transition:all .15s}.saved-filter-panel .src-pill{background:color-mix(in srgb, var(--bg) 82%, var(--bg-secondary) 18%);min-height:36px;padding:5px 10px;font-size:11px}.saved-filter-panel .site-pill{text-overflow:ellipsis;white-space:nowrap;max-width:min(220px,100%);overflow:hidden}.saved-filter-group--sites .filter-row{scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-gutter:stable;flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.saved-filter-group--sites .filter-row::-webkit-scrollbar{height:4px}.saved-filter-group--sites .filter-row::-webkit-scrollbar-thumb{background:var(--border-md,#00000026);border-radius:2px}.saved-filter-group--sites .filter-row::-webkit-scrollbar-track{background:0 0}.saved-filter-group--sites .site-pill{flex-shrink:0}.saved-filter-panel .src-pill.active,.saved-filter-panel .type-pill.active,.saved-filter-panel .site-pill.active,.type-pill.active,.site-pill.active{background:var(--bg);color:var(--text);border-color:var(--border-md);box-shadow:0 1px 3px #0000000f}.pill-count{opacity:.8;font-weight:400}.detail-back{color:var(--text-muted);border:.5px solid var(--border-md);border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-family:var(--font);background:0 0;margin-bottom:1rem;padding:6px 14px;display:inline-block}.detail-back:hover{background:var(--bg-secondary)}.detail-wrap{background:var(--bg);border:1px solid color-mix(in srgb, var(--border) 80%, transparent);border-radius:18px;padding:1.2rem;box-shadow:0 2px 10px #0000000a}.detail-meta-grid{flex-direction:column;gap:8px;margin-bottom:1.1rem;display:flex}.detail-head{margin-bottom:.9rem}.detail-cover-wrap{border:1px solid color-mix(in srgb, var(--border) 75%, transparent);background:color-mix(in srgb, var(--bg-secondary) 75%, var(--bg) 25%);aspect-ratio:16/9;border-radius:14px;max-height:min(38vh,340px);margin-bottom:.9rem;overflow:hidden}.detail-cover-img{object-fit:cover;width:100%;height:100%;display:block}.detail-meta-panel{border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--bg-secondary) 72%, var(--bg) 28%);padding:10px 12px}.detail-meta-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.detail-meta-row+.detail-meta-row{border-top:1px dashed color-mix(in srgb, var(--border) 80%, transparent);padding-top:6px}.detail-meta-row--chips{align-items:flex-start}.detail-title{margin-bottom:4px;font-size:20px;font-weight:600}.detail-meta{color:var(--text-muted);margin-bottom:0;font-size:13px}.detail-method,.detail-origin{color:var(--text-muted);margin:0;font-size:13px}.sec-label-inline{color:var(--text-muted);font-weight:600}.card-origin{color:var(--text-hint);margin-top:4px;font-size:11px}.detail-meta-line{flex-wrap:wrap;align-items:center;gap:4px;min-height:1.4em;margin-bottom:0;display:flex}.detail-meta-text{color:var(--text-muted);font-size:.85rem}.difficulty-chip{letter-spacing:.02em;vertical-align:middle;border-radius:20px;align-items:center;gap:5px;padding:2px 8px 2px 6px;font-size:.75rem;font-weight:600;line-height:1;display:inline-flex}.difficulty-bars{align-items:flex-end;gap:2px;height:12px;display:inline-flex}.difficulty-bar{opacity:.25;background:currentColor;border-radius:2px;width:3px}.difficulty-bar:first-child{height:5px}.difficulty-bar:nth-child(2){height:8px}.difficulty-bar:nth-child(3){height:11px}.difficulty-bar.filled{opacity:1}.difficulty-chip--easy{background:var(--nutrition-complete-bg,#dcfce7);color:var(--nutrition-complete-text,#166534)}.difficulty-chip--medium{background:var(--nutrition-partial-bg,#fef3c7);color:var(--nutrition-partial-text,#92400e)}.difficulty-chip--hard{color:#991b1b;background:#fee2e2}[data-theme=dark] .difficulty-chip--hard{color:#fca5a5;background:#ef444426}@media (prefers-color-scheme:dark){.difficulty-chip--hard{color:#fca5a5;background:#ef444426}}.nutrition-details-status-partial{border-left:3px solid var(--nutrition-partial-bg)}.nutrition-details-status-complete{border-left:3px solid var(--nutrition-complete-bg)}.nutrition-details-status-manual{border-left:3px solid var(--nutrition-manual-bg)}.nutrition-details-status-missing{border-left:3px solid var(--hover-bg,#0000000f)}.detail-tag-list{row-gap:6px}.ing-list{list-style:none}.ing-list li{border-bottom:.5px solid var(--border);padding:8px 0;font-size:14px}.ing-list li:last-child{border-bottom:none}.step-row{align-items:flex-start;gap:10px;margin-bottom:12px;display:flex}.step-n{background:var(--green-light);width:24px;min-width:24px;height:24px;color:var(--green-text);border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex}.step-txt{padding-top:2px;font-size:14px;line-height:1.6}.bimby-step{background:color-mix(in srgb, var(--orange-light) 55%, var(--bg) 45%);border-radius:var(--radius-sm);border:.5px solid #cc550038;align-items:flex-start;gap:10px;margin-bottom:10px;padding:10px 12px;display:flex}.bimby-step-body{flex:1;min-width:0}.bimby-step-tags{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:6px;display:flex}.bimby-tag{color:var(--orange);border-radius:var(--radius-pill);letter-spacing:.01em;background:#cc55001f;border:.5px solid #cc550040;padding:3px 8px;font-size:11px;font-weight:700;line-height:1.3}.bimby-action-icon{width:16px;height:16px;color:var(--orange);opacity:.85;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.bimby-action-icon svg{stroke:currentColor;fill:none;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%}.cooking-bimby-tags .bimby-action-icon{width:20px;height:20px}.detail-origin a{color:var(--green);text-decoration:none}.detail-origin a:hover{text-decoration:underline}.detail-actions{flex-wrap:wrap;gap:8px;margin-top:.25rem;display:flex}.detail-actions-shell{flex-direction:column;gap:10px;margin-top:1.05rem;display:flex}.detail-action-primary{display:block}.detail-actions-planning{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin-top:0;padding-bottom:4px;display:grid}.detail-actions-planning .btn-secondary{border-width:1.5px;width:100%;font-weight:600}.detail-action-shopping{font-weight:600}.detail-action-icon-text{justify-content:center;align-items:center;gap:6px;display:inline-flex}.detail-action-icon{color:var(--green-dark);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.detail-action-icon svg{width:16px;height:16px}.detail-action-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.detail-actions-planning--single{grid-template-columns:1fr}.detail-actions-altro{border-top:1px solid color-mix(in srgb, var(--border) 85%, transparent);margin-top:4px;padding-top:10px}.detail-actions-altro .sec-label{margin-bottom:8px}.detail-actions-altro-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:6px;display:grid}.detail-actions-altro-grid .btn-utility{min-height:44px;color:var(--text-muted);width:100%;padding:8px 12px;font-size:13px}.detail-actions-altro-grid--icons{grid-template-columns:repeat(auto-fit,minmax(44px,1fr));gap:8px}.btn-utility-icon-only{min-width:44px;min-height:44px;color:var(--text-muted);justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.btn-utility-icon-only svg{width:20px;height:20px}.btn-utility-icon-only:hover{color:var(--text)}.btn-icon-badge{color:var(--text-hint);pointer-events:none;font-size:9px;font-weight:600;line-height:1;position:absolute;bottom:3px;right:4px}.detail-edit-inline{width:100%;min-height:44px;color:var(--text-muted);margin-top:8px;padding:8px 14px;font-size:13px;display:block}.btn-utility-icon{align-items:center;gap:8px;display:inline-flex}.btn-utility-icon .button-icon{width:18px;height:18px;color:var(--text-muted);background:#0000000a;border-radius:6px;justify-content:center;align-items:center;font-size:12px;display:inline-flex}.btn-utility-icon:hover .button-icon{background:#00000014}.btn-start-cooking{background:var(--green);color:#fff;border-radius:var(--radius-md);cursor:pointer;width:100%;min-height:56px;font-size:17px;font-weight:600;font-family:var(--font);letter-spacing:.01em;border:none;padding:15px 20px;transition:background .12s}.btn-start-cooking:hover{background:var(--green-dark)}.detail-top-start{margin-top:14px}.notes-box{margin-top:1rem}.notes-textarea{resize:vertical;border:.5px solid var(--border-md);border-radius:var(--radius-sm);background:var(--bg);width:100%;min-height:120px;color:var(--text);font-size:14px;font-family:var(--font);padding:10px 12px}.notes-actions{justify-content:flex-end;margin-top:.75rem;display:flex}.edit-section{flex-direction:column;gap:8px;margin-bottom:1.25rem;display:flex}.edit-section:last-of-type{margin-bottom:0}.detail-meal-occasion{flex-wrap:wrap;align-items:center;gap:6px;margin-top:2px;display:flex}.meal-occasion-badges{flex-wrap:wrap;gap:6px;display:flex}.meal-badge{background:color-mix(in srgb, var(--green-light) 55%, var(--bg) 45%);color:var(--green-text);border:1px solid color-mix(in srgb, var(--green) 30%, var(--border) 70%);border-radius:var(--radius-pill);letter-spacing:.01em;justify-content:center;align-items:center;padding:3px 9px;font-size:11px;font-weight:600;display:inline-flex}.meal-occasion-chips{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.required-marker{color:var(--danger,#d33);margin-left:2px;font-weight:600}.meal-chip{border:1px solid var(--border-md);border-radius:var(--radius-pill);background:var(--bg-secondary);min-height:36px;color:var(--text-muted);cursor:pointer;font-size:13px;font-weight:500;font-family:var(--font);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:6px 14px;transition:all .15s;display:inline-flex}.meal-chip:hover{background:var(--bg-tertiary);color:var(--text);border-color:var(--border)}.meal-chip.active{background:var(--green-light);color:var(--green-text);border-color:#1d9e7580;font-weight:600}.meal-suggestions{color:var(--text-muted);margin-top:4px;font-size:12px;font-style:italic}.manual-list-footer{justify-content:center;margin-top:10px;display:flex}.btn-add,.btn-remove,.btn-move{border-radius:var(--radius-sm);background:var(--bg-secondary);color:var(--text-muted);cursor:pointer;font-family:var(--font);border:none;min-height:36px;padding:7px 12px;font-size:13px;font-weight:500;transition:all .12s}.btn-add{background:var(--green);color:#fff;flex:1;max-width:240px}.btn-add:hover{background:var(--green-dark)}.btn-add:active{opacity:.85}.btn-remove{color:var(--red);background:0 0;border:.5px solid #e24b4a4d;min-width:36px;min-height:36px;padding:4px;font-size:14px}.btn-remove:hover{background:var(--red-light);color:var(--red);border-color:var(--red)}.btn-move{color:var(--text-muted);border:.5px solid var(--border-md);background:0 0;min-width:36px;min-height:36px;padding:4px;font-size:14px}.btn-move:hover{background:var(--bg-tertiary);color:var(--text);border-color:var(--border)}.edit-ingredients .manual-item-actions,.edit-steps .manual-item-actions{gap:4px}.shopping-card{padding:1.05rem 1rem 1.4rem}.shopping-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:1.2rem;display:flex}.shopping-header .btn-ghost{border-radius:var(--radius-pill);min-height:44px;padding-inline:14px}.shopping-summary{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.shopping-summary-chip{color:var(--text-muted);background:color-mix(in srgb, var(--bg-secondary) 74%, var(--bg) 26%);border:1px solid color-mix(in srgb, var(--border) 86%, transparent);border-radius:var(--radius-pill);font-variant-numeric:tabular-nums;padding:4px 10px;font-size:11px}.shopping-summary-chip.is-remaining{color:var(--text);border-color:color-mix(in srgb, var(--border) 92%, var(--text) 8%);font-weight:660}.shopping-filter-toggle{color:var(--text-muted);background:color-mix(in srgb, var(--bg-secondary) 72%, var(--bg) 28%);border:1px solid color-mix(in srgb, var(--border) 80%, transparent);border-radius:var(--radius-pill);cursor:pointer;min-height:28px;font-size:11px;font-family:var(--font);align-items:center;padding:3px 10px;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.shopping-filter-toggle:hover{background:var(--bg-secondary);color:var(--text)}.shopping-filter-toggle.is-active{background:color-mix(in srgb, var(--green-light) 42%, var(--bg) 58%);border-color:color-mix(in srgb, var(--green) 32%, var(--border) 68%);color:var(--green-text);font-weight:640}.shopping-manual-add{gap:8px;margin:10px 0 14px;display:flex}.shopping-manual-input{border:1px solid var(--border);background:var(--bg);min-width:0;color:var(--text);border-radius:10px;flex:1;padding:8px 12px;font-size:14px;line-height:1.4}.shopping-manual-input:focus{border-color:var(--orange);outline:none}.shopping-manual-btn{white-space:nowrap;flex-shrink:0}.shopping-toolbar{border:1px solid color-mix(in srgb, var(--border) 82%, transparent);background:color-mix(in srgb, var(--bg-secondary) 70%, var(--bg) 30%);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;margin:0 0 14px;padding:10px 12px;display:flex}.shopping-toolbar-meta{flex-direction:column;gap:4px;min-width:0;display:flex}.shopping-toolbar-note{color:var(--text-muted);margin:0;font-size:12px;line-height:1.45}.shopping-export-mode-toggle{align-self:flex-start;gap:4px;margin-top:4px;display:inline-flex}.shopping-export-mode-segment{white-space:nowrap;flex:none;min-width:0;min-height:32px;padding:6px 12px;font-size:12px}.shopping-toolbar-actions{flex-wrap:wrap;gap:8px;display:flex}.shopping-toolbar-btn{white-space:nowrap;min-height:44px;padding-inline:14px}.shopping-list-rows{flex-direction:column;gap:14px;display:flex}.shopping-item{background:var(--bg);border:1px solid color-mix(in srgb, var(--border) 84%, transparent);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:12px 13px;transition:border-color .15s,background .15s;display:flex;box-shadow:0 1px 2px #00000006}.shopping-row-primary{flex:1;min-width:0}.shopping-row-secondary{align-items:center;gap:8px;min-width:0;display:flex}.shopping-item-main{cursor:pointer;flex:1;align-items:center;gap:13px;min-height:44px;display:flex}.shopping-item-copy{flex-direction:column;gap:4px;min-width:0;display:flex}.shopping-item-checkbox{width:22px;height:22px;accent-color:var(--green);cursor:pointer;flex-shrink:0;margin:0}.shopping-item-text{font-size:14px;line-height:1.5}.shopping-item.is-checked .shopping-item-text{text-decoration:line-through;text-decoration-thickness:2px;-webkit-text-decoration-color:color-mix(in srgb, var(--green) 38%, var(--text-hint) 62%);text-decoration-color:color-mix(in srgb, var(--green) 38%, var(--text-hint) 62%);color:color-mix(in srgb, var(--text-muted) 88%, var(--bg) 12%)}.shopping-item.is-checked{background:color-mix(in srgb, var(--green-light) 18%, var(--bg) 82%);border-color:color-mix(in srgb, var(--green) 28%, var(--border) 72%);opacity:.62}.shopping-remove{border-radius:var(--radius-sm);min-width:44px;min-height:44px;color:var(--text-hint);cursor:pointer;font-size:16px;font-family:var(--font);background:0 0;border:none;flex-shrink:0}.shopping-remove:hover{background:var(--red-light);color:var(--red)}.shopping-pantry{border-radius:var(--radius-sm);min-width:44px;min-height:44px;color:var(--text-hint);cursor:pointer;font-size:16px;font-family:var(--font);background:0 0;border:none;flex-shrink:0}.shopping-pantry:hover{background:color-mix(in srgb, var(--green) 12%, transparent);color:var(--green)}.shopping-pantry:focus-visible,.shopping-remove:focus-visible,.shopping-group-toggle:focus-visible,.shopping-contrib-remove:focus-visible,#shopping-clear-btn:focus-visible{outline:2px solid color-mix(in srgb, var(--green) 72%, white 28%);outline-offset:2px}.shopping-section{flex-direction:column;gap:11px;padding-top:3px;display:flex}.shopping-section+.shopping-section{border-top:1px dashed color-mix(in srgb, var(--border) 74%, transparent);margin-top:20px;padding-top:18px}.shopping-done-section{border-top:1px dashed color-mix(in srgb, var(--border) 74%, transparent);margin-top:24px;padding-top:14px}.shopping-done-toggle{border:1px solid var(--border-md,var(--border));border-radius:var(--radius-md);background:color-mix(in srgb, var(--bg-soft,var(--bg)) 88%, var(--border) 12%);width:100%;min-height:44px;color:var(--text);cursor:pointer;text-align:left;align-items:center;gap:10px;padding:8px 10px;font-weight:600;display:flex}.shopping-done-toggle:hover{background:color-mix(in srgb, var(--bg-soft,var(--bg)) 78%, var(--border) 22%)}.shopping-done-section.is-expanded .shopping-done-toggle{border-radius:var(--radius-md) var(--radius-md) 0 0}.shopping-done-chevron{justify-content:center;width:16px;display:inline-flex}.shopping-done-title{flex:1;font-size:.95rem}.shopping-done-count{background:var(--green-soft,color-mix(in srgb, var(--green) 30%, var(--bg)));min-width:28px;height:22px;color:var(--text);border-radius:999px;justify-content:center;align-items:center;padding:0 8px;font-size:.85rem;font-weight:600;display:inline-flex}.shopping-done-list{border:1px solid var(--border-md,var(--border));border-radius:0 0 var(--radius-md) var(--radius-md);background:color-mix(in srgb, var(--bg-soft,var(--bg)) 94%, var(--border) 6%);border-top:0;flex-direction:column;gap:8px;padding:10px;display:flex}.shopping-done-uncheck-all{align-self:flex-end;min-height:36px;font-size:.85rem}.shopping-done-item{opacity:.78}.shopping-done-item .shopping-item-text{text-decoration:line-through;text-decoration-thickness:1px}.shopping-done-undo{min-height:36px;font-size:.85rem}.shopping-section-heading{justify-content:space-between;align-items:center;gap:10px;padding:2px 2px 0;display:flex}.shopping-section-title-wrap{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.shopping-section-name{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:12px;font-weight:700}.shopping-section-icon{width:18px;height:18px;color:var(--section-other);flex:none;justify-content:center;align-items:center;display:inline-flex}.shopping-section-icon svg{width:100%;height:100%;display:block}.shopping-section-icon-proteins{color:var(--section-proteins)}.shopping-section-icon-carbs{color:var(--section-carbs)}.shopping-section-icon-vegetables_fruit{color:var(--section-veg-fruit)}.shopping-section-icon-dairy_eggs{color:var(--section-dairy-eggs)}.shopping-section-icon-fats_oils_spices{color:var(--section-fats-spices)}.shopping-section-icon-other{color:var(--section-other)}.shopping-section-rule{background:linear-gradient(90deg, color-mix(in srgb, var(--border) 85%, transparent) 0%, color-mix(in srgb, var(--border) 38%, transparent) 100%);flex:1;min-width:18px;height:1px}.shopping-section-count{color:var(--text-hint);font-variant-numeric:tabular-nums;border-radius:var(--radius-pill);border:1px solid color-mix(in srgb, var(--border) 82%, transparent);background:color-mix(in srgb, var(--bg-secondary) 70%, var(--bg) 30%);justify-content:center;align-items:center;min-width:32px;min-height:26px;padding:3px 9px;font-size:11px;font-weight:700;display:inline-flex}.shopping-grouped-item{background:var(--bg);border:1px solid color-mix(in srgb, var(--border) 82%, transparent);border-radius:14px;flex-direction:column;gap:0;transition:border-color .15s,background .15s,box-shadow .15s;display:flex;overflow:hidden;box-shadow:0 1px 3px #00000009}.shopping-grouped-item.is-partial{border-color:color-mix(in srgb, var(--green) 38%, var(--border) 62%);background:color-mix(in srgb, var(--green-light) 14%, var(--bg) 86%)}.shopping-grouped-item.is-checked{border-color:color-mix(in srgb, var(--green) 44%, var(--border) 56%);background:color-mix(in srgb, var(--green-light) 20%, var(--bg) 80%);opacity:.62}.shopping-grouped-item.is-checked .shopping-item-total-name,.shopping-grouped-item.is-checked .shopping-item-total-qty{text-decoration:line-through;text-decoration-thickness:2px;-webkit-text-decoration-color:color-mix(in srgb, var(--green) 36%, var(--text-hint) 64%);text-decoration-color:color-mix(in srgb, var(--green) 36%, var(--text-hint) 64%)}.shopping-grouped-item.is-checked .shopping-item-total,.shopping-grouped-item.is-checked .shopping-group-progress,.shopping-grouped-item.is-checked .shopping-item-sub{color:color-mix(in srgb, var(--text-hint) 82%, var(--text-muted) 18%)}.shopping-grouped-item.is-partial .shopping-item-total{color:color-mix(in srgb, var(--green) 40%, var(--text) 60%)}.shopping-group-header{align-items:center;gap:6px;padding-right:9px;display:flex}.shopping-group-header .shopping-row-primary{flex:1}.shopping-group-header .shopping-row-secondary{flex-shrink:0}.shopping-grouped-item .shopping-item-main{flex:1;justify-content:flex-start;align-items:center;gap:11px;padding:11px}.shopping-grouped-item.is-expanded .shopping-item-main{border-bottom:1px dashed color-mix(in srgb, var(--border) 72%, transparent)}.shopping-grouped-item .shopping-item-total{flex-wrap:wrap;align-items:baseline;gap:5px 8px;font-size:14px;font-weight:560;line-height:1.35;display:flex}.shopping-item-total-name{color:var(--text)}.shopping-item-total-qty{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--green-light) 52%, var(--bg) 48%);border:1px solid color-mix(in srgb, var(--green) 24%, var(--border) 76%);min-height:23px;color:var(--green-text);font-variant-numeric:tabular-nums;align-items:center;padding:2px 9px;font-size:12px;font-weight:600;display:inline-flex}.shopping-item-sub{letter-spacing:.01em;color:var(--text-muted);margin-top:4px;font-size:11px;line-height:1.4;display:block}.shopping-group-side{align-items:stretch;gap:6px;display:flex}.shopping-state-pill{border-radius:var(--radius-pill);border:1px solid color-mix(in srgb, var(--border) 82%, transparent);background:color-mix(in srgb, var(--bg-secondary) 72%, var(--bg) 28%);min-height:38px;color:var(--text-muted);letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;justify-content:center;align-items:center;padding:4px 10px;font-size:10px;font-weight:700;display:inline-flex}.shopping-state-pill.is-partial{color:color-mix(in srgb, var(--green) 62%, var(--text) 38%);border-color:color-mix(in srgb, var(--green) 28%, var(--border) 72%);background:color-mix(in srgb, var(--green-light) 34%, var(--bg) 66%)}.shopping-state-pill.is-checked{color:var(--green-text);border-color:color-mix(in srgb, var(--green) 42%, var(--border) 58%);background:color-mix(in srgb, var(--green-light) 52%, var(--bg) 48%)}.shopping-group-progress{color:var(--text-muted);text-align:center;font-variant-numeric:tabular-nums;border:1px solid color-mix(in srgb, var(--border) 84%, transparent);background:color-mix(in srgb, var(--bg-secondary) 72%, var(--bg) 28%);border-radius:11px;flex-direction:column;justify-content:center;align-items:stretch;gap:3px;min-width:52px;min-height:38px;padding:3px 7px 4px;font-size:10px;display:inline-flex}.shopping-grouped-item.is-checked .shopping-group-progress{border-color:color-mix(in srgb, var(--green) 28%, var(--border) 72%);background:color-mix(in srgb, var(--green-light) 38%, var(--bg) 62%)}.shopping-group-progress-value{letter-spacing:.01em;font-weight:650;line-height:1}.shopping-group-progress-track{background:color-mix(in srgb, var(--border) 82%, transparent);border-radius:999px;height:3px;overflow:hidden}.shopping-group-progress-fill{border-radius:inherit;background:color-mix(in srgb, var(--green) 78%, var(--green-text) 22%);height:100%;display:block}.shopping-group-toggle{border:1px solid color-mix(in srgb, var(--border) 82%, transparent);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--bg-secondary) 70%, var(--bg) 30%);min-height:40px;color:var(--text-muted);letter-spacing:.01em;cursor:pointer;font-size:11px;font-weight:620;font-family:var(--font);align-items:center;gap:6px;padding:3px 11px;display:inline-flex}.shopping-group-toggle:hover{background:var(--bg-tertiary);color:var(--text)}.shopping-group-toggle-icon{opacity:.75;font-size:10px;line-height:1}.shopping-grouped-item .shopping-remove{min-width:42px;min-height:42px;font-size:14px}.shopping-group-breakdown{background:color-mix(in srgb, var(--bg-secondary) 74%, var(--bg) 26%);color:var(--text-muted);flex-direction:column;gap:8px;padding:10px 10px 11px;font-size:12px;line-height:1.45;display:flex}.shopping-group-meta{color:var(--text-hint);letter-spacing:.02em;font-variant-numeric:tabular-nums;margin-bottom:0;padding-inline:2px;font-size:11px}.shopping-group-contribution{border:1px solid color-mix(in srgb, var(--border) 84%, transparent);background:color-mix(in srgb, var(--bg) 82%, var(--bg-secondary) 18%);border-radius:11px;justify-content:flex-start;align-items:flex-start;gap:8px;padding:9px;display:flex}.shopping-group-contribution+.shopping-group-contribution{margin-top:0}.shopping-contrib-state{background:color-mix(in srgb, var(--text-hint) 36%, transparent);border-radius:999px;width:8px;min-width:8px;height:8px;margin-top:7px}.shopping-group-contribution-main{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.shopping-group-contribution .contrib-qty{color:var(--text);font-variant-numeric:tabular-nums;min-width:46px;font-size:12px;font-weight:620}.shopping-group-contribution .contrib-recipe{color:var(--text-muted);text-overflow:ellipsis;white-space:normal;font-size:11px;font-weight:560;overflow:hidden}.shopping-group-contribution.is-checked .contrib-qty,.shopping-group-contribution.is-checked .contrib-recipe{text-decoration:line-through;text-decoration-thickness:2px;-webkit-text-decoration-color:color-mix(in srgb, var(--green) 34%, var(--text-hint) 66%);text-decoration-color:color-mix(in srgb, var(--green) 34%, var(--text-hint) 66%);color:var(--text-hint)}.shopping-group-contribution.is-checked .shopping-contrib-state{background:color-mix(in srgb, var(--green) 62%, var(--green-text) 38%)}.shopping-contrib-remove{border-radius:var(--radius-sm);min-width:38px;min-height:38px;color:var(--text-hint);cursor:pointer;font-size:14px;font-family:var(--font);background:0 0;border:none;flex-shrink:0;margin-left:auto}.shopping-contrib-remove:hover{background:var(--red-light);color:var(--red)}.shopping-empty-state{gap:11px;min-height:min(52vh,420px)}.shopping-empty-state .empty{max-width:30ch}.shopping-empty-state .empty-next{max-width:44ch}.shopping-empty-state .empty-steps{max-width:42ch;margin-top:0}.shopping-empty-state .empty-state-actions .btn-primary{min-height:46px}@media (width<=640px){.shopping-card{padding:.95rem .85rem 1.25rem}.shopping-toolbar{flex-direction:column;align-items:stretch;padding:10px}.shopping-toolbar-actions{width:100%}.shopping-toolbar-btn{flex:140px}.shopping-header{gap:10px;margin-bottom:1rem}.shopping-header .btn-ghost{width:100%}.shopping-section+.shopping-section{margin-top:16px;padding-top:14px}.shopping-item{gap:10px;padding:12px 10px}.shopping-grouped-item .shopping-item-main{padding:11px 9px}.shopping-group-breakdown{padding:9px 9px 10px}.shopping-group-toggle{min-height:40px;padding:3px 10px}.shopping-state-pill{min-height:40px;padding-inline:9px}.shopping-group-progress{min-width:49px}.shopping-item-checkbox{width:24px;height:24px}.shopping-group-contribution{padding:8px}.shopping-contrib-remove{min-width:40px;min-height:40px}.shopping-empty-state .empty-steps{width:100%}}.servings-ctrl{align-items:center;gap:12px;margin:1rem 0 .5rem;display:flex}.servings-ctrl .sec-label{margin-bottom:0}.servings-resizer-link{background:var(--bg-secondary);border:1px solid var(--border);min-height:32px;color:var(--text-muted);cursor:pointer;border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:600;text-decoration:none;transition:color .15s,border-color .15s;display:inline-flex}.servings-resizer-link:hover{color:var(--color-accent);border-color:var(--color-accent)}.servings-resizer-link svg{width:14px;height:14px}.servings-row{border:.5px solid var(--border-md);border-radius:var(--radius-sm);align-items:center;gap:0;display:flex;overflow:hidden}.servings-btn{background:var(--bg-secondary);cursor:pointer;width:36px;height:36px;color:var(--text);font-size:18px;font-weight:400;font-family:var(--font);border:none;justify-content:center;align-items:center;line-height:1;transition:background .12s;display:flex}.servings-btn:hover{background:var(--bg-tertiary)}.servings-btn:active{background:var(--green-light);color:var(--green-text)}#servings-val{font-variant-numeric:tabular-nums;background:var(--bg);border-left:.5px solid var(--border-md);border-right:.5px solid var(--border-md);justify-content:center;align-items:center;min-width:36px;height:36px;padding:0 4px;font-size:15px;font-weight:600;display:flex}.filter-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;width:100%;margin-bottom:8px;display:flex}.filter-label{color:var(--text-muted);white-space:nowrap;font-size:12px;font-weight:500}.time-slider-row{gap:10px}.time-slider-row input[type=range]{min-width:80px;max-width:420px;accent-color:var(--green);cursor:pointer;flex:1}#time-val{color:var(--text-muted);white-space:nowrap;min-width:56px;font-size:12px}.reset-filters{color:var(--text-muted);cursor:pointer;font-size:12px;font-family:var(--font);background:0 0;border:none;margin-bottom:8px;padding:2px 0;text-decoration:underline;display:block}.reset-filters:hover{color:var(--text)}.results-count{color:var(--text-muted);min-height:1em;margin-bottom:8px;font-size:12px}#saved-grid,#builtin-grid{margin-top:6px}#saved-source-filter{margin-bottom:0}#builtin-toolbar{max-width:980px;margin:0 auto 1rem}.builtin-intro{max-width:980px;margin:0 auto .8rem}.builtin-intro h1{margin:0 0 4px;font-size:clamp(1.45rem,2.4vw,2rem);line-height:1.15}.builtin-intro p{margin:0}#builtin-cats,#builtin-filters{width:100%}#builtin-cats.filter-row,#builtin-filters .filter-row{justify-content:flex-start}#builtin-filters{flex-direction:column;align-items:stretch;display:flex}#builtin-filters .time-slider-row{max-width:780px}.builtin-filter-panel{margin-bottom:.5rem}.builtin-filter-panel .filter-row{margin-bottom:0}.builtin-filter-panel #builtin-filters{flex-direction:column;gap:6px;display:flex}#builtin-results-count{text-align:left}.toast-container{z-index:50;pointer-events:none;flex-direction:column;gap:10px;width:min(360px,100vw - 32px);display:flex;position:fixed;bottom:16px;right:16px}@media (width<=959px){.toast-container{bottom:calc(60px + env(safe-area-inset-bottom,0px) + 16px)}}.toast{pointer-events:auto;cursor:pointer;border-radius:var(--radius-md);border:.5px solid var(--border-md);background:var(--bg);color:var(--text);opacity:0;padding:12px 14px;font-size:14px;line-height:1.45;transition:opacity .18s,transform .18s;transform:translateY(10px);box-shadow:0 8px 24px #0000001f}.toast.is-visible{opacity:1;transform:translateY(0)}.toast.is-leaving{opacity:0;transform:translateY(10px)}.toast-success{background:color-mix(in srgb, var(--bg) 86%, var(--green-light));border-color:#1d9e7552}.toast-error{background:color-mix(in srgb, var(--bg) 86%, var(--red-light));border-color:#e24b4a59}.toast-info{border-color:var(--border-md);background:color-mix(in srgb, var(--bg) 90%, var(--bg-secondary))}.toast-update{background:color-mix(in srgb, var(--bg) 82%, #3b82f6);border-color:#3b82f673;font-weight:500}.toast{align-items:center;gap:10px;display:flex}.toast-message{flex:1}.toast-action{border:1px solid var(--border-md);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;white-space:nowrap;background:0 0;flex-shrink:0;min-height:44px;padding:4px 10px;font-size:13px;font-weight:600}.toast-action:hover{background:var(--bg-secondary)}.toast-close{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;flex-shrink:0;min-width:44px;min-height:44px;padding:4px 6px;font-size:14px;line-height:1}.toast-close:hover{background:var(--bg-secondary);color:var(--text)}.cooking-mode{flex-direction:column;gap:1.1rem;min-height:80vh;display:flex}.cooking-progress-bar{background:var(--border);border-radius:var(--radius-pill);height:4px;margin-top:-.25rem;overflow:hidden}.cooking-progress-fill{background:var(--green);border-radius:var(--radius-pill);height:100%;transition:width .3s}.cooking-header{border-bottom:.5px solid var(--border);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding-bottom:.9rem;display:grid}.cooking-exit{border:.5px solid var(--border-md);border-radius:var(--radius-sm);cursor:pointer;min-height:44px;color:var(--text-muted);font-size:13px;font-family:var(--font);background:0 0;padding:6px 14px}.cooking-exit:hover{background:var(--bg-secondary)}.cooking-recipe-name{text-align:center;font-size:15px;font-weight:700;line-height:1.35}.cooking-progress{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--green-light) 55%, var(--bg));min-height:32px;color:var(--green-text);white-space:nowrap;justify-content:center;align-items:center;padding:0 12px;font-size:12px;font-weight:700;display:inline-flex}.cooking-ingredients{background:var(--bg-secondary);border-radius:var(--radius-sm);border:.5px solid color-mix(in srgb, var(--border) 88%, var(--bg));padding:10px 14px;font-size:14px}.cooking-ingredients summary{cursor:pointer;color:var(--text-muted);justify-content:space-between;align-items:center;gap:10px;font-size:13px;font-weight:600;list-style:none;display:flex}.cooking-ingredients summary:before{content:"▸ "}.cooking-ingredients[open] summary:before{content:"▾ "}.cooking-ingredients-count{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--green-light) 68%, var(--bg));min-width:42px;min-height:24px;color:var(--green-text);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;padding:0 8px;font-size:12px;font-weight:700;display:inline-flex}.cooking-ingredients-progress{color:var(--text-muted);margin:10px 0 8px;font-size:12px;font-weight:600}.cooking-ingredient-checklist{flex-direction:column;gap:6px;margin-top:8px;display:flex}.cooking-ingredient-check{border:.5px solid color-mix(in srgb, var(--border) 78%, var(--bg));border-radius:var(--radius-sm);background:color-mix(in srgb, var(--bg) 76%, var(--bg-secondary));min-height:46px;color:var(--text);cursor:pointer;grid-template-columns:32px minmax(0,1fr);align-items:start;gap:10px;padding:8px 10px;line-height:1.45;display:grid}.cooking-ingredient-check input{width:26px;height:26px;accent-color:var(--green);cursor:pointer;margin:1px 0 0}.cooking-ingredient-check span{overflow-wrap:anywhere;padding-top:2px}.cooking-ingredient-check.is-checked{background:color-mix(in srgb, var(--bg-secondary) 72%, var(--bg));color:var(--text-muted)}.cooking-ingredient-check.is-checked span{text-decoration:line-through;text-decoration-thickness:1px;-webkit-text-decoration-color:color-mix(in srgb, var(--text-muted) 45%, transparent);text-decoration-color:color-mix(in srgb, var(--text-muted) 45%, transparent)}.cooking-ingredient-check:focus-within{outline:2px solid var(--green);outline-offset:2px}.cooking-step-wrap{background:linear-gradient(180deg, color-mix(in srgb, var(--green-light) 26%, var(--bg)) 0%, var(--bg) 68%);border:1px solid color-mix(in srgb, var(--green) 16%, var(--border));border-radius:var(--radius-md);min-height:auto;box-shadow:0 14px 34px color-mix(in srgb, var(--green) 8%, transparent);flex:none;align-items:flex-start;gap:1rem;padding:1.45rem;display:flex}.cooking-step-number{background:color-mix(in srgb, var(--green-light) 82%, var(--bg));border:1px solid color-mix(in srgb, var(--green) 18%, transparent);width:58px;min-width:58px;height:58px;color:var(--green-text);box-shadow:0 10px 22px color-mix(in srgb, var(--green) 10%, transparent);border-radius:50%;justify-content:center;align-items:center;font-size:22px;font-weight:700;display:flex}.cooking-step-content{flex-direction:column;flex:1;min-width:0;padding-top:2px;display:flex}.cooking-step-text{max-width:28ch;color:var(--text);font-size:28px;line-height:1.55}.cooking-bimby-tags{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.cooking-bimby-tag{padding:5px 13px;font-size:13px;font-weight:700}.cooking-step-timer{text-align:left;background:var(--bg-secondary);border:1px solid color-mix(in srgb, var(--border) 88%, var(--bg));border-radius:var(--radius-md);flex-direction:column;gap:1rem;padding:1.1rem 1.1rem 1.15rem;display:flex}.cooking-timer-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.cooking-timer-heading{flex-direction:column;gap:.4rem;min-width:0;display:flex}.cooking-timer-header{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:8px;display:flex}.cooking-timer-label{color:var(--text-muted);letter-spacing:.01em;text-transform:none;font-size:13px;font-weight:500}.cooking-timer-status{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--bg-tertiary) 74%, var(--bg));min-height:24px;color:var(--text-muted);letter-spacing:.03em;text-transform:uppercase;align-items:center;padding:0 9px;font-size:11px;font-weight:700;display:inline-flex}.cooking-timer-status.is-running{background:color-mix(in srgb, var(--green-light) 70%, var(--bg));color:var(--green-text)}.cooking-timer-status.is-ready{background:color-mix(in srgb, var(--bg-alt,var(--bg)) 80%, var(--bg));color:var(--text-muted)}.cooking-timer-status.is-finished{background:color-mix(in srgb, var(--yellow-light) 72%, var(--bg));color:color-mix(in srgb, var(--yellow-dark) 70%, var(--text))}.cooking-timer-edit-btn{border:.5px solid var(--border-md);border-radius:var(--radius-pill);background:var(--bg);cursor:pointer;min-height:38px;color:var(--text-muted);font-size:12px;font-family:var(--font);flex-shrink:0;align-items:center;gap:4px;padding:7px 12px;display:inline-flex}.cooking-timer-edit-btn:hover{background:var(--bg-tertiary)}.cooking-timer-face{border-radius:calc(var(--radius-md) - 4px);background:linear-gradient(180deg, color-mix(in srgb, var(--bg) 78%, var(--green-light)) 0%, var(--bg) 100%);border:1px solid color-mix(in srgb, var(--green) 14%, var(--border));justify-content:center;align-items:center;min-height:124px;padding:1rem;display:flex}.cooking-step-timer.has-timer .cooking-timer-face{background:linear-gradient(180deg, color-mix(in srgb, var(--green-light) 32%, var(--bg)) 0%, var(--bg) 100%)}.cooking-timer-face.is-inactive{background:var(--bg);border-color:var(--border);opacity:.45}.cooking-timer-display{letter-spacing:3px;font-variant-numeric:tabular-nums;color:var(--green);margin:0;font-size:68px;font-weight:700;line-height:1}.cooking-timer-display.timer-inactive{color:var(--text-hint);letter-spacing:1px;font-size:44px}.cooking-timer-help{color:var(--text-muted);max-width:52ch;font-size:13px;line-height:1.5}.cooking-timer-edit{flex-direction:column;align-items:center;gap:12px;padding:.25rem 0 .5rem;display:flex}.cooking-timer-edit-fields{align-items:center;gap:4px;display:flex}.cooking-timer-edit-field{flex-direction:column;align-items:center;gap:4px;display:flex}.cooking-timer-input{text-align:center;border:1.5px solid var(--border-md);border-radius:var(--radius-sm);background:var(--bg);width:68px;color:var(--text);font-size:36px;font-weight:600;font-family:var(--font);font-variant-numeric:tabular-nums;-moz-appearance:textfield;padding:6px 4px}.cooking-timer-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.cooking-timer-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.cooking-timer-input:focus{outline:2px solid var(--green);outline-offset:1px}.cooking-timer-unit{color:var(--text-hint);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:500}.cooking-timer-sep{color:var(--text-hint);align-self:flex-start;padding:6px 2px 0;font-size:36px;font-weight:600}.cooking-timer-btns{justify-content:flex-start;gap:8px;display:flex}.cooking-timer-btns button{border:.5px solid var(--border-md);border-radius:var(--radius-sm);cursor:pointer;min-height:44px;color:var(--text);font-size:14px;font-family:var(--font);background:0 0;padding:8px 20px;transition:background .15s,border-color .15s,transform 80ms}.cooking-timer-btns .cooking-timer-confirm-btn,.cooking-timer-btns .cooking-timer-toggle-btn{background:var(--green);color:#fff;border-color:var(--green)}.cooking-timer-btns .cooking-timer-toggle-btn:hover,.cooking-complete-action:hover{background:var(--green-dark)}.cooking-timer-btns .cooking-timer-reset-btn{color:var(--text-muted)}.cooking-timer-btns .cooking-timer-reset-btn:hover{background:var(--bg);border-color:color-mix(in srgb, var(--border-md) 72%, var(--text-muted))}.cooking-nav{gap:12px;padding-top:.25rem;display:flex}.cooking-btn-prev,.cooking-btn-next{border-radius:var(--radius-md);cursor:pointer;font-size:16px;font-weight:500;font-family:var(--font);flex:1;min-height:56px;padding:16px}.cooking-btn-prev{border:.5px solid var(--border-md);color:var(--text-muted);background:0 0}.cooking-btn-next{background:var(--green);color:#fff;border:none}.cooking-btn-next:hover{background:var(--green-dark)}.cooking-timer-btns button:active,.cooking-exit:active,.cooking-btn-prev:active,.cooking-btn-next:active,.cooking-complete-action:active{transform:translateY(1px)}.cooking-btn-prev:disabled,.cooking-btn-next:disabled{opacity:.35;cursor:not-allowed}.btn-cooking{background:var(--green);color:#fff;border-radius:var(--radius-md);cursor:pointer;width:100%;min-height:44px;font-size:16px;font-weight:500;font-family:var(--font);border:none;margin-top:.5rem;padding:14px}.btn-cooking:hover{background:var(--green-dark)}.cooking-complete{text-align:center;width:100%;padding:2rem 1rem}.cooking-complete-icon{color:var(--green);margin-bottom:.5rem;font-size:56px}.cooking-complete-title{margin-bottom:8px;font-size:24px;font-weight:600}.cooking-complete-sub{color:var(--text-muted);margin-bottom:1rem;font-size:18px}.cooking-complete-action{border-radius:var(--radius-md);background:var(--green);color:#fff;cursor:pointer;min-height:46px;font-size:15px;font-weight:600;font-family:var(--font);border:none;padding:10px 18px}mark{color:inherit;background:#fff176;border-radius:2px;padding:0 1px}@media (prefers-color-scheme:dark){mark{color:#fff;background:#7c6f00}}.lbl-row{grid-template-columns:1fr 60px 60px auto;gap:8px;margin-bottom:4px;display:grid}.lbl-row span{color:var(--text-muted);text-align:center;font-size:11px}.lbl-row span:first-child{text-align:left}.add-row{background:var(--bg-secondary);border-radius:var(--radius-sm);grid-template-columns:1fr 60px 60px auto;align-items:center;gap:8px;margin-bottom:1rem;padding:12px;display:grid}.add-row input[type=number]{width:100%}.timer-num-group{display:contents}.timer-num-label{display:none}.timer-settings-card{margin-bottom:1rem}.timer-settings-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.timer-settings-head .btn-ghost{min-height:40px}.timer-sound-controls{margin-top:12px}.timer-settings-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.timer-setting-field{flex-direction:column;gap:6px;display:flex}.timer-setting-field label{color:var(--text-muted);font-size:12px;font-weight:500}.timer-setting-value{color:var(--text)}.timer-sound-controls select,.timer-sound-controls input[type=range]{width:100%;min-height:42px}.timer-sound-controls input[type=range]{accent-color:var(--green)}.timer-toggle-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);cursor:pointer;grid-template-columns:auto 1fr;align-items:start;gap:12px;margin-top:14px;padding:12px;display:grid}.timer-toggle-card input[type=checkbox]{width:20px;height:20px;accent-color:var(--green);margin-top:2px}.timer-toggle-copy{flex-direction:column;gap:4px;display:flex}.timer-toggle-title{color:var(--text);font-size:14px;font-weight:600}.timer-toggle-desc{color:var(--text-muted);font-size:12px;line-height:1.45}.timer-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}.timer-card{background:var(--bg);border:.5px solid var(--border);border-radius:var(--radius-md);text-align:center;padding:1rem}.t-name{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-bottom:4px;font-size:13px;overflow:hidden}.t-display{letter-spacing:2px;font-variant-numeric:tabular-nums;color:var(--text);margin:8px 0;font-size:38px;font-weight:600}.t-display.running{color:var(--green)}.t-display.done{color:var(--red)}.t-btns{justify-content:center;gap:6px;display:flex}.t-btns button{border:.5px solid var(--border-md);border-radius:var(--radius-sm);cursor:pointer;color:var(--text);font-size:12px;font-family:var(--font);background:0 0;flex:1;padding:7px 4px;transition:background .12s}.t-btns button:hover{background:var(--bg-secondary)}.t-btns .t-del{color:var(--red);border-color:#e24b4a4d}.t-btns .t-del:hover{background:var(--red-light)}.planner-view{gap:16px;display:grid}.planner-summary-card{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.planner-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--green);margin:0 0 4px;font-size:11px;font-weight:700}.planner-summary-card h1,.planner-day-card h2,.planner-picker-card h2{margin:0}.planner-summary-desc{max-width:60ch}.planner-week-range{color:var(--text-secondary,var(--text-muted));margin-top:4px;font-weight:500}.planner-day-date{white-space:nowrap;font-weight:500}.planner-summary-side{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.planner-summary-stat{border:.5px solid var(--green-soft);border-radius:var(--radius-md);background:color-mix(in srgb, var(--green) 7%, var(--bg));text-align:right;gap:2px;min-width:112px;padding:10px 14px;display:grid}.planner-summary-value{color:var(--green);font-size:24px;font-weight:700}.planner-summary-label{color:var(--text-muted);font-size:12px}.planner-empty-state .empty-next{max-width:50ch}.planner-picker-card{gap:12px;display:grid}.planner-picker-card--inline{border-color:color-mix(in srgb, var(--green) 18%, var(--border-md));margin:2px 0;padding:16px}.planner-picker-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.planner-picker-controls{gap:8px;display:grid}.planner-picker-search{flex:1;min-width:0}.planner-picker-search-row{flex-wrap:wrap;align-items:stretch;gap:8px;display:flex}.planner-picker-random{white-space:nowrap;flex:none;min-height:44px;padding:0 12px}.planner-picker-list{gap:8px;max-height:420px;display:grid;overflow:auto}.planner-picker-item{border:.5px solid var(--border-md);border-radius:var(--radius-md);background:var(--bg);width:100%;color:var(--text);text-align:left;cursor:pointer;font-family:var(--font);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;transition:background .15s,border-color .15s;display:flex}.planner-picker-item:hover,.planner-picker-item.active{border-color:var(--green-soft);background:color-mix(in srgb, var(--green) 6%, var(--bg))}.planner-picker-item-main{gap:5px;display:grid}.planner-picker-item-title{font-weight:600}.planner-picker-item-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;display:flex}.planner-picker-pill{border-radius:var(--radius-pill);background:var(--bg-secondary);min-height:24px;color:var(--text-muted);align-items:center;padding:0 9px;display:inline-flex}.planner-picker-pill--suggested{background:color-mix(in srgb, var(--green) 12%, var(--bg));color:var(--green-dark)}.planner-picker-pill--pinned{background:color-mix(in srgb, var(--green) 18%, var(--bg));color:var(--green-dark);font-weight:600}.planner-picker-item--pinned{border-color:var(--green);background:color-mix(in srgb, var(--green) 8%, var(--bg));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--green) 24%, transparent)}.planner-picker-item--pinned:hover{background:color-mix(in srgb, var(--green) 12%, var(--bg))}.planner-picker-action{color:var(--green);white-space:nowrap;font-weight:600}.planner-picker-empty{text-align:left;margin:0}.planner-week-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;display:grid}.planner-week-grid--picker-open{grid-template-columns:1fr}.planner-day-card{gap:12px;transition:border-color .16s,background .16s,box-shadow .16s,transform .16s;display:grid}.planner-day-card--planned{border-color:color-mix(in srgb, var(--green) 18%, var(--border-md));background:linear-gradient(180deg, color-mix(in srgb, var(--green) 3%, var(--bg)) 0%, var(--bg) 100%)}.planner-day-card--complete{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--green) 20%, transparent)}.planner-day-card.is-today{border-color:color-mix(in srgb, var(--green) 32%, var(--border-md));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--green) 14%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--green) 6%, var(--bg)) 0%, var(--bg) 100%)}.planner-day-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.planner-day-heading{flex:auto;gap:6px;min-width:0;display:grid}.planner-day-title-row{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.planner-day-title-copy{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.planner-today-badge{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--green) 10%, var(--bg));border:1px solid color-mix(in srgb, var(--green) 18%, transparent);min-height:22px;color:var(--green-dark);letter-spacing:.04em;text-transform:uppercase;align-items:center;padding:0 8px;font-size:11px;font-weight:700;display:inline-flex}.planner-day-count{border-radius:var(--radius-pill);background:var(--bg-secondary);min-height:24px;color:var(--text-muted);flex-shrink:0;align-items:center;padding:0 8px;font-size:12px;font-weight:700;display:inline-flex}.planner-day-progress{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.planner-day-progress-segment{background:var(--border-md);border-radius:999px;height:5px}.planner-day-progress-segment.is-filled{background:color-mix(in srgb, var(--green) 75%, white)}.planner-day-progress-segment.is-missing{background:color-mix(in srgb, var(--red) 50%, white)}.planner-summary-actions,.planner-day-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.planner-day-clear,.planner-clear-week,.planner-day-shopping,.planner-week-shopping{border-color:color-mix(in srgb, var(--border-md) 92%, transparent);background:color-mix(in srgb, var(--bg-secondary) 76%, transparent);min-height:38px;color:var(--text-muted);padding:8px 12px;font-size:12px;font-weight:600}.planner-day-shopping,.planner-week-shopping{background:color-mix(in srgb, var(--bg-secondary) 88%, transparent)}.planner-day-clear:hover,.planner-clear-week:hover,.planner-day-shopping:hover,.planner-week-shopping:hover{background:color-mix(in srgb, var(--bg-secondary) 98%, transparent);border-color:color-mix(in srgb, var(--green-soft) 40%, var(--border-md));color:var(--text)}.weekly-nutrition-pulse{flex-direction:column;gap:0;display:flex}.weekly-nutrition-header{text-align:left;cursor:pointer;width:100%;color:inherit;font:inherit;background:0 0;border:none;justify-content:space-between;align-items:flex-start;gap:12px;padding:0;display:flex}.weekly-nutrition-header-copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.weekly-nutrition-header-copy h2,.weekly-nutrition-summary-line{margin:0}.weekly-nutrition-chevron{color:var(--text-muted);flex-shrink:0;padding-top:6px;font-size:.7rem;transition:transform .2s}.weekly-nutrition-chevron.open{transform:rotate(180deg)}@media (prefers-reduced-motion:reduce){.weekly-nutrition-chevron{transition:none}}.weekly-nutrition-body{flex-direction:column;gap:12px;padding-top:12px;display:flex}.weekly-nutrition-view-toggle{border:1px solid var(--border);background:var(--bg-secondary,#0000000a);border-radius:999px;align-self:flex-start;gap:0;padding:2px;display:inline-flex}.weekly-nutrition-view-btn{color:var(--text-muted);cursor:pointer;letter-spacing:.02em;background:0 0;border:none;border-radius:999px;min-height:44px;padding:10px 14px;font-size:.78rem;font-weight:600;transition:background-color .15s,color .15s}.weekly-nutrition-view-btn.is-active{background:var(--bg);color:var(--text);box-shadow:0 1px 2px #00000014}@media (prefers-reduced-motion:reduce){.weekly-nutrition-view-btn{transition:none}}.weekly-nutrition-missing-chip{color:var(--color-warn);background:var(--color-warn-bg);border-radius:6px;align-self:flex-start;margin:0;padding:6px 10px;font-size:.78rem}.weekly-nutrition-empty{color:var(--text-muted);margin:0;font-size:.85rem;font-style:italic}.weekly-nutrition-rows{flex-direction:column;gap:8px;display:flex}.weekly-nutrition-row{align-items:center;gap:8px;min-height:24px;display:flex}.weekly-nutrition-name{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;width:88px;font-size:.82rem;overflow:hidden}.weekly-nutrition-bar-wrap{background:var(--bg-secondary,#0000000f);border-radius:3px;flex:1;min-width:0;height:6px;overflow:hidden}.weekly-nutrition-bar-spacer{flex:1;min-width:0}.weekly-nutrition-bar{background:var(--color-accent);border-radius:3px;height:100%;transition:width .3s}@media (prefers-reduced-motion:reduce){.weekly-nutrition-bar{transition:none}}.weekly-nutrition-row--under .weekly-nutrition-bar{background:var(--color-accent)}.weekly-nutrition-row--on_track .weekly-nutrition-bar{background:var(--nutrition-complete-text)}.weekly-nutrition-row--over .weekly-nutrition-bar{background:var(--nutrition-partial-text)}.weekly-nutrition-val{color:var(--text);text-align:right;flex-shrink:0;min-width:64px;font-size:.85rem;font-weight:700}.weekly-nutrition-unit{color:var(--text-muted);margin-left:2px;font-size:.72rem;font-weight:500}.weekly-nutrition-pct{color:var(--text-muted);text-align:right;font-variant-numeric:tabular-nums;flex-shrink:0;width:50px;font-size:.72rem}.weekly-nutrition-row--on_track .weekly-nutrition-pct{color:var(--nutrition-complete-text);font-weight:700}.weekly-nutrition-row--over .weekly-nutrition-pct{color:var(--nutrition-partial-text);font-weight:700}.weekly-nutrition-pct--empty{color:var(--text-muted);opacity:.4}.weekly-nutrition-cta{border:1px dashed var(--border);color:var(--text-muted);cursor:pointer;text-align:left;background:0 0;border-radius:8px;align-self:stretch;min-height:44px;padding:8px 12px;font-size:.82rem;transition:background-color .15s,border-color .15s,color .15s}.weekly-nutrition-cta:hover{background:var(--bg-secondary,#0000000a);color:var(--text);border-color:var(--color-accent)}@media (prefers-reduced-motion:reduce){.weekly-nutrition-cta{transition:none}}@media (width<=640px){.weekly-nutrition-name{width:72px;font-size:.78rem}.weekly-nutrition-val{min-width:56px;font-size:.82rem}.weekly-nutrition-pct{width:44px;font-size:.7rem}}.planner-slot-list{gap:12px;display:grid}.planner-slot-card{border:.5px solid var(--border-md);border-radius:var(--radius-md);background:var(--bg);border-left-width:3px;transition:border-color .14s,background .14s,box-shadow .14s,transform .14s;position:relative;overflow:hidden}.planner-slot-rule-dot{background:var(--accent,var(--green));width:8px;height:8px;box-shadow:0 0 0 2px var(--bg);pointer-events:none;z-index:1;border-radius:50%;position:absolute;top:6px;right:6px}.planner-rule-editor{background:color-mix(in srgb, var(--accent,var(--green)) 5%, var(--bg));border:1px solid var(--border-soft,var(--border-md));border-radius:var(--radius-md);margin-top:8px;padding:8px 10px}.planner-rule-editor-label{color:var(--muted,var(--text));text-transform:uppercase;letter-spacing:.04em;margin:0 0 6px;font-size:12px;font-weight:600}.planner-rule-row{flex-wrap:wrap;align-items:flex-start;gap:6px 10px;margin-top:4px;display:flex}.planner-rule-row-label{min-width:64px;color:var(--text);padding-top:6px;font-size:12px;font-weight:600}.planner-rule-chips{margin-bottom:0}.planner-rule-chip{min-height:28px;padding:2px 10px;font-size:12px}.planner-rule-hint{margin:6px 0 0;font-size:12px}.planner-bulk-fill{min-height:44px}.planner-slot-card[data-slot=breakfast]{border-left-color:var(--meal-breakfast)}.planner-slot-card[data-slot=lunch]{border-left-color:var(--meal-lunch)}.planner-slot-card[data-slot=dinner]{border-left-color:var(--meal-dinner)}.planner-slot-card.is-filled{border-color:var(--green-soft);border-left-color:inherit;background:color-mix(in srgb, var(--green) 4%, var(--bg))}.planner-slot-card[data-slot=breakfast].is-filled{border-left-color:var(--meal-breakfast)}.planner-slot-card[data-slot=lunch].is-filled{border-left-color:var(--meal-lunch)}.planner-slot-card[data-slot=dinner].is-filled{border-left-color:var(--meal-dinner)}.planner-slot-card.is-missing{border-color:color-mix(in srgb, var(--red) 30%, var(--border-md));background:color-mix(in srgb, var(--red) 4%, var(--bg))}.planner-slot-card.is-active{box-shadow:0 0 0 1px color-mix(in srgb, var(--green) 35%, transparent)}.planner-slot-card.is-note{background:color-mix(in srgb, var(--accent,var(--green)) 4%, var(--bg))}.planner-slot-note-name{color:var(--text-muted,var(--text));font-style:italic}.planner-picker-note{border:1px dashed var(--border-md);border-radius:var(--radius-md);background:color-mix(in srgb, var(--bg-soft,var(--bg)) 92%, var(--accent,var(--green)) 8%);flex-direction:column;gap:8px;margin:12px 0;padding:12px;display:flex}.planner-picker-note-label{font-size:.9rem;font-weight:600}.planner-picker-note-textarea{resize:vertical;width:100%;min-height:44px;font:inherit;border:1px solid var(--border-md);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);box-sizing:border-box;padding:8px 10px}.planner-picker-note-save{align-self:flex-start;min-height:44px}.planner-picker-note-save:disabled{opacity:.5;cursor:not-allowed}.planner-slot-card:hover{border-color:color-mix(in srgb, var(--green) 28%, var(--border-md));box-shadow:0 10px 22px -18px color-mix(in srgb, var(--green) 28%, transparent)}.planner-slot-main{width:100%;color:inherit;text-align:left;cursor:pointer;font-family:var(--font);background:0 0;border:0;gap:5px;padding:14px;transition:background .14s,transform .14s;display:grid;position:relative}.planner-slot-card:not(.is-filled):not(.is-missing) .planner-slot-main{border:1.5px dashed var(--border-md);border-radius:var(--radius-sm);box-sizing:border-box;width:calc(100% - 16px);min-height:74px;color:var(--text-muted);justify-items:center;gap:8px;margin:8px;padding:12px 14px;transition:border-color .15s,color .15s;display:grid}.planner-slot-card:not(.is-filled):not(.is-missing) .planner-slot-main:hover{border-color:var(--green-soft);color:var(--green);background:color-mix(in srgb, var(--green) 3%, var(--bg))}.planner-slot-label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-size:12px;font-weight:700}.planner-slot-topline,.planner-slot-empty-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.planner-slot-topline{width:100%}.planner-slot-empty-copy{gap:7px;width:100%;display:grid}.planner-slot-card:not(.is-filled):not(.is-missing) .planner-slot-empty-copy{text-align:center;justify-items:center}.planner-slot-card:not(.is-filled):not(.is-missing) .planner-slot-empty-head{justify-content:center}.planner-slot-card:not(.is-filled):not(.is-missing) .planner-slot-label,.planner-slot-card.is-missing .planner-slot-label{color:inherit}.planner-slot-name{overflow-wrap:anywhere;font-size:17px;font-weight:600;line-height:1.3}.planner-slot-empty,.planner-slot-meta{color:var(--text-muted);font-size:13px;line-height:1.4}.planner-slot-empty{max-width:20ch}.planner-slot-hint{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--bg-secondary) 92%, transparent);min-height:20px;color:var(--text-muted);letter-spacing:.02em;align-items:center;padding:0 6px;font-size:10px;font-weight:600;display:inline-flex}.planner-slot-add-icon{border:1.5px solid;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:16px;line-height:1;display:flex}.planner-week-dots{align-items:flex-end;gap:4px;display:flex}.planner-week-dot{background:var(--border-md);border-radius:4px;width:8px;height:24px;transition:background .2s}.planner-week-dot.fill-1{background:color-mix(in srgb, var(--green) 40%, var(--border-md))}.planner-week-dot.fill-2{background:color-mix(in srgb, var(--green) 70%, var(--border-md))}.planner-week-dot.fill-3{background:var(--green)}.planner-slot-actions{border-top:1px solid color-mix(in srgb, var(--border-md) 75%, transparent);background:color-mix(in srgb, var(--bg-secondary) 42%, transparent);flex-wrap:wrap;gap:8px;padding:10px 14px 12px;display:flex}.planner-slot-action{border-color:color-mix(in srgb, var(--border-md) 90%, transparent);background:color-mix(in srgb, var(--bg) 96%, transparent);min-height:34px;color:var(--text-muted);padding:7px 11px;font-size:12px;font-weight:600;transition:background .14s,border-color .14s,color .14s,transform .14s}.planner-slot-action:hover{border-color:color-mix(in srgb, var(--green-soft) 38%, var(--border-md));background:color-mix(in srgb, var(--bg-secondary) 88%, transparent);color:var(--text)}.planner-slot-action:active,.planner-day-clear:active,.planner-clear-week:active,.planner-day-shopping:active,.planner-week-shopping:active,.planner-slot-main:active{transform:translateY(1px)}.planner-slot-action--danger{color:var(--red)}.planner-slot-action--danger:hover{border-color:color-mix(in srgb, var(--red) 22%, var(--border-md));background:color-mix(in srgb, var(--red-light) 72%, var(--bg))}.planner-day-nutrition{border-top:1px solid var(--border);margin-top:12px;padding-top:2px}.planner-day-nutrition-toggle{cursor:pointer;text-align:left;width:100%;color:inherit;-webkit-tap-highlight-color:transparent;background:0 0;border:none;align-items:center;gap:8px;padding:8px 0 4px;display:flex}.planner-day-nutrition-toggle:hover .planner-day-nutrition-label{color:var(--text)}.planner-day-nutrition-kcal{color:var(--text);flex-shrink:0;font-size:14px;font-weight:600}.planner-day-nutrition-unit,.planner-day-nutrition-goal-pct{color:var(--text-muted);margin-left:2px;font-size:12px;font-weight:400}.planner-day-nutrition-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;flex:1;font-size:11px}.planner-day-nutrition-chevron{border-right:1.5px solid var(--text-muted);border-bottom:1.5px solid var(--text-muted);flex-shrink:0;width:7px;height:7px;margin-bottom:3px;transition:transform .18s;transform:rotate(45deg)}.planner-day-nutrition-toggle.is-expanded .planner-day-nutrition-chevron{margin-bottom:-1px;transform:rotate(-135deg)}.planner-day-nutrition-detail{flex-direction:column;gap:5px;padding:4px 0 6px;display:flex}.planner-day-nutrition-row{align-items:center;gap:6px;min-height:18px;display:flex}.planner-day-nutrition-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.planner-day-nutrition-row-label{color:var(--text-muted);white-space:nowrap;flex:0 0 58px;font-size:11px}.planner-day-nutrition-row-value{color:var(--text);text-align:right;flex-shrink:0;min-width:44px;font-size:12px;font-weight:500}.planner-day-nutrition-row-unit{color:var(--text-muted);font-weight:400}.planner-day-nutrition-bar-track{background:var(--border);border-radius:2px;flex:1;min-width:0;height:3px;overflow:hidden}.planner-day-nutrition-bar-fill{opacity:.85;border-radius:2px;height:100%;transition:width .25s}.planner-day-nutrition-row-pct{color:var(--text-muted);text-align:right;flex-shrink:0;min-width:30px;font-size:10px}.planner-day-nutrition-row-pct.pct-over{color:var(--red);font-weight:600}@media (width<=600px){.app{padding:.55rem .7rem 3rem}.card,.detail-wrap,.shopping-card{padding:.9rem}h2{margin-bottom:8px;font-size:18px}.detail-cover-wrap{max-height:min(30vh,220px)}.planner-summary-card,.planner-picker-head,.planner-day-head{flex-direction:column;align-items:stretch}.planner-view,.planner-summary-card{gap:10px}.planner-summary-card h1{font-size:28px;line-height:1.1}.planner-summary-desc{margin-top:4px}.planner-summary-side{justify-content:space-between;width:100%}.planner-summary-actions,.planner-day-actions{width:100%}.planner-day-actions{justify-content:stretch;gap:6px}.planner-summary-stat{text-align:left}.planner-picker-item{flex-direction:column;align-items:flex-start}.planner-picker-action{white-space:normal}.planner-slot-actions{flex-direction:column;gap:6px}.planner-slot-main{padding:14px 13px}.planner-slot-topline{align-items:flex-start}.planner-slot-hint{white-space:nowrap}.planner-slot-action{min-height:40px}.planner-day-shopping,.planner-week-shopping,.planner-day-clear,.planner-clear-week{min-height:42px}.planner-slot-action,.planner-day-shopping,.planner-week-shopping,.planner-day-clear,.planner-clear-week{width:100%}.planner-day-nutrition-toggle{padding:10px 0 4px}.planner-day-nutrition-row-label{flex-basis:52px}.sec-label{margin-bottom:10px;font-size:11px}.app-header{flex-wrap:nowrap;align-items:center;gap:8px;padding:7px .75rem}.app-brand{gap:7px;min-width:0}.app-logo{width:22px;height:22px}.app-header h1{white-space:nowrap;font-size:16px}.header-right{justify-content:flex-end;width:auto;min-width:0;margin-left:auto}.header-controls{opacity:.78;flex-shrink:0}.header-controls:focus-within,.header-controls:hover{opacity:1}.header-controls select{max-width:86px;min-height:44px;padding:5px 6px;font-size:12px}.cooking-mode{gap:.85rem}.cooking-header{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px 12px}.cooking-recipe-name{text-align:left;grid-area:1/2/span 2;font-size:15px}.cooking-progress{grid-column:1/-1;justify-self:start}.cooking-step-wrap{gap:.95rem;padding:1rem}.cooking-step-number{width:44px;min-width:44px;height:44px;font-size:18px}.cooking-step-text{max-width:none;font-size:18px;line-height:1.6}.cooking-step-timer{gap:.85rem;padding:.95rem .9rem 1rem}.cooking-timer-top{flex-direction:column;align-items:stretch;gap:10px}.cooking-timer-edit-btn{align-self:flex-start}.cooking-timer-face{min-height:96px;padding:.85rem}.cooking-timer-display{letter-spacing:2px;font-size:52px}.cooking-timer-display.timer-inactive{font-size:36px}.cooking-timer-btns{flex-direction:column}.cooking-timer-btns button{width:100%}.cooking-nav{gap:10px}.cooking-btn-prev,.cooking-btn-next{min-height:52px;padding:14px 12px;font-size:15px}.lbl-row{display:none}.add-row{grid-template-columns:1fr 1fr;gap:9px;padding:11px}.add-row input[type=text]{grid-column:1/-1;min-height:42px}.add-row input[type=number]{min-height:42px}.timer-num-group{flex-direction:column;gap:3px;display:flex}.timer-num-label{color:var(--text-muted);text-align:center;font-size:11px;display:block}.add-row .btn-primary{grid-column:1/-1;min-height:44px}.url-row{flex-direction:column}.url-row .btn-primary,.import-start-actions .btn-primary,.import-start-actions .btn-secondary{width:100%}.tabs{scroll-behavior:smooth;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;gap:6px;margin:0 -.7rem .65rem;padding:0 .7rem .2rem;overflow:auto hidden;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 44px),#0000 100%);mask-image:linear-gradient(90deg,#000 calc(100% - 44px),#0000 100%)}.tabs::-webkit-scrollbar{display:none}.tab{white-space:nowrap;scroll-snap-align:start;flex:none;min-width:max-content;min-height:40px;padding:8px 14px;font-size:13px}.ricette-grid{gap:12px}.ricetta-card{border-radius:16px;padding:.9rem .9rem .85rem}.card-name,.card-nome{font-size:15px}.card-meta-block{min-height:74px}.card-tags-block{min-height:26px}.card-tags-block.is-empty{min-height:22px}.card-chip{padding:3px 8px;font-size:10px}.card-action-btn{width:44px;min-width:44px;height:44px;min-height:44px}.saved-header,.shopping-header{gap:8px}.saved-header{margin-bottom:.55rem}.saved-header input{min-height:44px}.backup-actions .btn-ghost,.shopping-header .btn-ghost{width:100%}.backup-actions{margin-bottom:6px}.backup-actions .btn-ghost{min-height:40px}.saved-filter-mobile-toggle-wrap{margin-bottom:.45rem;display:block}.saved-filter-panel.mobile-collapsible{padding:.6rem .7rem}.saved-filter-panel.mobile-collapsible .saved-filter-content{display:none}.saved-filter-panel.mobile-collapsible.is-mobile-open .saved-filter-content{flex-direction:column;gap:8px;display:flex}.filter-group--labeled{flex-direction:column;gap:4px}.filter-group--labeled>.filter-group-label{padding-top:0}.import-flow-head{flex-direction:column;align-items:stretch;gap:8px}.import-work-sections{grid-template-columns:1fr;gap:.7rem}.import-start-actions{flex-direction:column}.import-start-actions .btn-primary,.import-start-actions .btn-secondary{width:100%}.import-flow-head>.btn-secondary{width:100%;min-width:0}.manual-grid{grid-template-columns:1fr;gap:10px}.manual-list-item{grid-template-columns:1fr;gap:8px}.manual-item-actions{flex-wrap:wrap;justify-content:flex-end}.manual-actions{justify-content:stretch}.manual-actions .btn-primary,.preview-actions .btn-primary,.preview-actions .btn-ghost{width:100%}.preview-review-head{flex-direction:column;gap:10px}.preview-save-top{width:100%}.timer-settings-head{flex-direction:column;align-items:stretch}.timer-settings-head .btn-ghost,.timer-sound-controls select{width:100%}.timer-settings-grid{grid-template-columns:1fr}.import-success-actions{flex-direction:column;width:100%}.import-success-actions .btn-primary,.import-success-actions .btn-ghost{width:100%}.preview-meta-label{width:100%;min-width:0;padding-top:0}.guide-article{max-width:100%;padding:1rem}.guide-content{font-size:16px;line-height:1.7}.guide-content a[href^=\#]{min-height:40px;padding:4px 2px}.guide-content h1{font-size:24px}.guide-content h2{font-size:21px}.guide-content h3{font-size:18px}.guide-check-label{gap:12px;font-size:16px}.guide-check-input{width:20px;height:20px}.detail-back{min-height:44px;font-size:14px}.detail-meta-grid{gap:6px;margin-bottom:.85rem}.detail-meta-panel{padding:10px}.detail-meta-row{align-items:flex-start}.detail-meta-row .sec-label-inline{min-width:100%}.servings-ctrl{flex-direction:column;align-items:flex-start;gap:8px}.servings-btn,#servings-val{width:44px;min-width:44px;height:44px}.detail-actions-shell{gap:10px}.detail-actions-planning{grid-template-columns:repeat(3,1fr);gap:8px}.detail-actions-planning--single{grid-template-columns:1fr}.detail-actions-planning .btn-secondary{width:100%;padding:9px 6px;font-size:13px;line-height:1.2}.detail-actions-altro-grid--icons{grid-template-columns:repeat(auto-fit,minmax(44px,1fr));gap:8px}.notes-actions .btn-primary{width:100%}.empty-state-shell{gap:12px;min-height:min(46vh,360px)}.empty-kicker{font-size:10px}.empty-state-actions{flex-direction:column;width:100%}.empty-state-actions .btn-primary,.empty-state-actions .btn-secondary{width:100%}.shopping-summary{gap:6px}.shopping-summary-chip{align-items:center;min-height:30px;padding:6px 10px;display:inline-flex}.shopping-item{gap:8px;padding:12px 10px}.shopping-item-checkbox{width:24px;height:24px}.shopping-item-main{gap:10px}.shopping-group-header .shopping-row-primary,.shopping-group-header .shopping-row-secondary,.shopping-group-header .shopping-row-primary .shopping-item-main{width:100%}.shopping-group-header{flex-direction:column;align-items:stretch;gap:8px;padding:9px 8px 10px}.shopping-group-header .shopping-row-secondary{flex-direction:column;align-items:stretch;padding-left:35px}.shopping-group-side{flex-wrap:nowrap;justify-content:space-between;align-self:stretch;align-items:center;gap:7px;min-width:0}.shopping-group-progress{min-width:62px}.shopping-group-toggle{flex:120px;justify-content:center;min-width:0;min-height:40px;padding:4px 11px}.shopping-grouped-item .shopping-remove{min-width:40px;min-height:40px;margin-left:auto}.shopping-grouped-item .shopping-item-main{padding:0}.shopping-group-breakdown{padding:9px 9px 10px}.shopping-group-contribution{gap:7px;padding:8px}.footer-link-btn,.footer-refresh{min-height:44px;padding:7px 12px}}@media (width<=900px){.collection-browser-grid{grid-template-columns:1fr}.collection-list{min-height:220px}.collection-preview-steps{max-height:220px}.collection-browser-bottom{flex-direction:column;align-items:stretch}.collection-browser-actions .btn-primary{width:100%}.import-featured-grid{grid-template-columns:1fr}.import-duemme-featured{padding:.9rem}.import-duemme-featured-actions{flex-direction:column}.import-duemme-featured-actions .btn-primary,.import-duemme-featured-actions .btn-secondary{justify-content:center;width:100%}}.print-only{display:none}.btn-print{color:var(--text-muted);font-size:13px}.detail-print-servings{color:var(--text-muted);margin-top:2px;margin-bottom:0;font-size:13px}@media print{@page{margin:1.8cm 2cm}*,:before,:after{-webkit-print-color-adjust:exact;print-color-adjust:exact;box-shadow:none!important}body{font-size:11pt;line-height:1.55;color:#000!important;background:#fff!important}.print-only{display:block!important}.app-top-stack,.app-header,.tabs,.app-sidenav,.app-bottomnav,.app-more-overlay,.app-footer,.toast-stack,.detail-back,.detail-top-start,.detail-actions-shell,.detail-cover-wrap,.notes-box,.servings-btn,.backup-actions,.saved-filter-panel,#saved-list-view{display:none!important}.app{max-width:100%!important;padding:0!important}.panel{display:block!important}.detail-wrap{background:#fff!important;border:none!important;border-radius:0!important;padding:0!important}.detail-title{margin-bottom:3pt;font-size:20pt;font-weight:700;color:#000!important}.detail-meta{margin-bottom:4pt;font-size:10pt;color:#555!important}.detail-print-servings{margin-bottom:0;font-size:10pt;color:#555!important}.detail-meta-panel{border-radius:3pt;margin-bottom:12pt;padding:7pt 10pt;background:#f7f7f7!important;border:.5pt solid #bbb!important}.detail-meta-row+.detail-meta-row{padding-top:5pt;border-top:.5pt dashed #ccc!important}.sec-label-inline{font-size:9pt;font-weight:600;color:#444!important}.card-src{border:.5pt solid #999;border-radius:2pt;padding:1pt 5pt;font-size:9pt;color:#333!important;background:#eee!important}.badge-bimby{color:#408!important;background:#ede!important}.badge-airfryer{color:#850!important;background:#fef3e2!important}.badge-classica{color:#1b5e20!important;background:#e8f5e9!important}.meal-badge{border:.5pt solid #aaa;border-radius:2pt;padding:1pt 5pt;font-size:9pt;color:#333!important;background:#f0f0f0!important}.card-chip--tag{border:.5pt solid #bbb;border-radius:2pt;padding:1pt 5pt;font-size:8pt;color:#444!important;background:#f0f0f0!important}.detail-origin a{text-decoration:none;color:#333!important}.servings-ctrl{align-items:center;gap:6pt;margin-bottom:10pt;font-size:10pt;display:flex}.sec-label{text-transform:uppercase;letter-spacing:.04em;margin-bottom:5pt;font-size:10pt;font-weight:700;color:#222!important}.ing-wrap{page-break-inside:avoid;margin-bottom:14pt}.ing-list{columns:2;column-gap:18pt;padding-left:12pt;font-size:10pt;line-height:1.65;list-style:outside}.ing-list li{break-inside:avoid;padding:1pt 0;color:#000!important;border-bottom:none!important}.steps-wrap{page-break-before:avoid}.step-row{page-break-inside:avoid;align-items:flex-start;gap:8pt;margin-bottom:8pt;display:flex}.step-n{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20pt;min-width:20pt;height:20pt;font-size:9pt;font-weight:700;display:flex;color:#222!important;background:#e0e0e0!important}.step-txt{margin:0;padding-top:1pt;font-size:10pt;line-height:1.6;color:#000!important}.bimby-step{page-break-inside:avoid;border-radius:3pt;align-items:flex-start;gap:8pt;margin-bottom:7pt;padding:7pt 10pt;display:flex;background:#faf5ff!important;border:.5pt solid #c8a0e8!important}.bimby-step-body{flex:1;min-width:0}.bimby-step-tags{flex-wrap:wrap;gap:3pt;margin-bottom:4pt;display:flex}.bimby-tag{letter-spacing:.01em;border:.5pt solid #c8a0e8;border-radius:2pt;padding:1pt 5pt;font-size:8pt;font-weight:700;color:#408!important;background:#ede!important}.bimby-action-icon,.ing-subst-btn,.subst-modal-overlay,.servings-resizer-link{display:none!important}}.nutrition-goals-view{max-width:560px;margin:0 auto;padding:1.5rem 1rem}.nutrition-goals-form{flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.nutrition-goals-field{align-items:center;gap:10px;display:flex}.nutrition-goals-label{flex:1 1 0;align-items:center;gap:6px;font-size:14px;font-weight:500;display:flex}.nutrition-goals-unit{color:var(--text-muted);font-size:12px;font-weight:400}.nutrition-goals-input{text-align:right;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);width:100px;color:var(--text);padding:8px 10px;font-size:15px}.nutrition-goals-input:focus{border-color:var(--accent);outline:none}.nutrition-goals-save{align-self:flex-end;min-width:160px;min-height:44px;margin-top:4px}@media (width<=560px){.nutrition-goals-field{flex-wrap:wrap}.nutrition-goals-input{text-align:left;width:100%}.nutrition-goals-save{align-self:stretch;width:100%}}.saved-filter-clear-row{justify-content:flex-end;margin-bottom:4px;display:flex}.saved-filter-clear-btn{font-size:12px}.saved-filter-mobile-close-row{display:none}@media (width<=600px){.saved-filter-mobile-close-row{bottom:calc(60px + env(safe-area-inset-bottom,0px));background:color-mix(in srgb, var(--bg-secondary) 62%, var(--bg) 38%);border-top:1px solid var(--border);z-index:5;margin-top:12px;padding:10px 0 6px;display:block;position:sticky}.saved-filter-mobile-close-btn{width:100%;min-height:44px}}.ing-subst-btn{background:var(--bg-secondary);min-height:28px;color:var(--text-muted);border:1px solid var(--border);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:4px;margin-left:8px;padding:2px 8px;font-size:11px;font-weight:600;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.ing-subst-btn:hover{color:var(--color-accent);border-color:var(--color-accent);background:var(--bg)}.ing-subst-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.ing-subst-btn svg{width:12px;height:12px}.ing-list li{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.subst-modal-overlay{background:color-mix(in srgb, var(--text) 38%, transparent);z-index:1000;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.subst-modal{background:var(--bg);color:var(--text);border:1px solid var(--border-md);border-radius:var(--radius-lg,12px);width:100%;max-width:560px;max-height:86vh;box-shadow:0 8px 32px color-mix(in srgb, var(--text) 22%, transparent);flex-direction:column;display:flex}.subst-modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 20px 12px;display:flex}.subst-modal-eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin:0 0 2px;font-size:11px;font-weight:600}.subst-modal-title{color:var(--text);margin:0;font-size:18px;font-weight:700;line-height:1.3}.subst-modal-close{border:1px solid var(--border);width:36px;height:36px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;flex:none;justify-content:center;align-items:center;transition:color .15s,border-color .15s;display:inline-flex}.subst-modal-close:hover{color:var(--text);border-color:var(--border-md)}.subst-modal-close svg{width:18px;height:18px}.subst-modal-body{padding:16px 20px 20px;overflow-y:auto}.subst-loading{min-height:120px;color:var(--text-muted);justify-content:center;align-items:center;gap:10px;font-size:14px;display:flex}.subst-spinner{border:2px solid var(--border-md);border-top-color:var(--color-accent);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite subst-spin}@keyframes subst-spin{to{transform:rotate(360deg)}}.subst-empty{text-align:center;min-height:120px;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:14px;display:flex}.subst-off-unavailable,.subst-off-unavailable-hint{color:var(--text-muted);background:var(--bg-secondary);border:1px dashed var(--border);text-align:center;border-radius:6px;margin:12px 0 0;padding:8px 10px;font-size:12px}.subst-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.subst-item{background:var(--bg-secondary);border:1px solid var(--border);border-left:3px solid var(--color-accent);border-radius:10px;padding:14px}.subst-item--works_with_caveat{border-left-color:var(--color-warn,#d97706)}.subst-item--last_resort{border-left-color:var(--red,#ef4444)}.subst-item-header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;display:flex}.subst-item-title{color:var(--text);margin:0;font-size:15px;font-weight:700}.subst-confidence-badge{letter-spacing:.05em;text-transform:uppercase;background:var(--green-light);color:var(--green-text);border-radius:999px;flex:none;padding:2px 8px;font-size:10px;font-weight:700;display:inline-block}.subst-confidence-badge--works_with_caveat{background:var(--orange-light);color:var(--color-warn)}.subst-confidence-badge--last_resort{background:var(--red-light);color:var(--red,#b91c1c)}.subst-ratio,.subst-notes,.subst-caveat{color:var(--text);margin:4px 0;font-size:13px;line-height:1.45}.subst-ratio strong,.subst-caveat strong{margin-right:4px}.subst-caveat{background:var(--orange-light);color:var(--color-warn);border-left:2px solid var(--color-warn);border-radius:4px;padding:8px 10px;font-size:12.5px}.subst-item-footer{flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;display:flex}.subst-context-chip{text-transform:uppercase;letter-spacing:.04em;background:var(--bg);color:var(--text-muted);border:1px solid var(--border);border-radius:999px;padding:2px 8px;font-size:10.5px;font-weight:600;display:inline-block}.subst-source-attr{color:var(--text-hint,var(--text-muted));margin-left:auto;font-size:10.5px;font-style:italic}.resizer-view{flex-direction:column;gap:20px;max-width:720px;margin:0 auto;padding:16px 20px 32px;display:flex}.resizer-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.resizer-back{border:1px solid var(--border);min-height:36px;color:var(--text);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:6px;padding:6px 10px 6px 6px;font-size:14px;display:inline-flex}.resizer-back:hover{border-color:var(--border-md)}.resizer-back svg{width:16px;height:16px}.resizer-eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin:0;font-size:11px;font-weight:700}.resizer-title{color:var(--text);margin:0;font-size:24px;font-weight:700;line-height:1.25}.resizer-meta{color:var(--text-muted);align-items:center;gap:10px;margin:0;font-size:13px;display:flex}.resizer-factor{background:var(--green-light);color:var(--green-text);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:700}.resizer-controls{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;flex-direction:column;align-items:center;gap:12px;padding:20px;display:flex}.resizer-stepper{align-items:center;gap:12px;display:inline-flex}.resizer-stepper-btn{background:var(--bg);width:44px;height:44px;color:var(--text);border:1px solid var(--border-md);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:24px;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.resizer-stepper-btn:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--color-accent)}.resizer-stepper-btn:disabled{opacity:.4;cursor:not-allowed}.resizer-stepper-input{text-align:center;width:80px;height:56px;color:var(--text);background:var(--bg);border:1px solid var(--border-md);appearance:textfield;border-radius:12px;font-size:28px;font-weight:700}.resizer-stepper-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.resizer-stepper-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.resizer-servings-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin:0;font-size:12px}.resizer-presets{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.resizer-preset{background:var(--bg);min-width:44px;min-height:36px;color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:999px;padding:4px 10px;font-size:13px;font-weight:600}.resizer-preset:hover{border-color:var(--color-accent)}.resizer-preset--active{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.resizer-ingredients{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:16px 20px}.resizer-section-title{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin:0 0 12px;font-size:14px;font-weight:700}.resizer-ing-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.resizer-ing-list li{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:8px 12px;font-size:15px;line-height:1.4}.resizer-no-ingredients{color:var(--text-muted);margin:0;font-size:13px;font-style:italic}.resizer-actions{flex-wrap:wrap;gap:10px;display:flex}.resizer-actions .btn-primary,.resizer-actions .btn-ghost{flex:auto;min-width:160px;min-height:44px}.resizer-empty{text-align:center;color:var(--text-muted);background:var(--bg-secondary);border:1px dashed var(--border);border-radius:12px;padding:40px 24px}.resizer-empty h1{color:var(--text);margin:0 0 8px;font-size:18px}.resizer-empty p{margin:0;font-size:14px}@media (width<=480px){.resizer-view{gap:16px;padding:12px 16px 24px}.resizer-title{font-size:20px}.resizer-actions .btn-primary,.resizer-actions .btn-ghost{flex:100%}}
