@import"https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,600;9..144,700&family=IBM+Plex+Sans:wght@300;400;500;600&family=Space+Mono:wght@400;700&display=swap";.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;--fullscreen-surface-bg: rgba(15, 23, 42, .45);background:var(--fullscreen-surface-bg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:flex-end;justify-content:center;z-index:2000;padding:12px;padding-bottom:calc(12px + var(--bottom-nav-clearance, 0px) + env(safe-area-inset-bottom,0px))}.native-ios-shell.keyboard-open .modal-backdrop{padding-bottom:calc(12px + var(--bottom-nav-clearance, 0px) + env(safe-area-inset-bottom,0px) + var(--keyboard-height, 0px))}.modal-backdrop--planner{align-items:flex-end;padding-top:max(16px,env(safe-area-inset-top,0px));padding-bottom:max(16px,env(safe-area-inset-bottom,0px))}.modal-backdrop--planner .modal-container{max-height:calc(100vh - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));max-height:calc(100svh - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));max-height:calc(100dvh - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}.modal-backdrop--center{align-items:center;padding-top:calc(12px + env(safe-area-inset-top,0px));padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}.modal-backdrop--overlay-sheet{align-items:flex-end;padding-top:calc(12px + env(safe-area-inset-top,0px));padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}.modal-backdrop--clear{--fullscreen-surface-bg: transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.modal-container{background:var(--color-bg-elevated);border-radius:24px 24px 20px 20px;box-shadow:0 18px 40px #0f172a33;border:1px solid var(--color-border-light);width:100%;max-width:480px;padding:16px;animation:modalEnter .2s ease;max-height:90vh;display:flex;flex-direction:column}.native-ios-shell.keyboard-open .modal-container{max-height:calc(100dvh - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - var(--keyboard-height, 0px))}.modal-sm{max-height:60vh}.modal-lg{max-height:95vh}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.modal-title{margin:0;font-size:18px;font-weight:800;color:var(--color-text-main)}.modal-close{border:none;background:transparent;font-size:20px;cursor:pointer;color:var(--color-text-main)}.modal-close:disabled{opacity:.35;cursor:not-allowed}.modal-body{--keyboard-scroll-base-padding: 0px;--keyboard-scroll-extra-offset: 12px;--keyboard-scroll-top-margin: 12px;margin-top:10px;overflow-y:auto;flex:1;color:var(--color-text-main)}.native-ios-shell.keyboard-open .modal-body.keyboard-scroll-container{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}.modal-enter{animation:modalEnter .2s ease}@keyframes modalEnter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.recipes-page{padding:20px 18px 32px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row dense;gap:16px 10px;position:relative}.recipes-library-main,.recipes-library-toolbar,.recipes-library-sidebar{display:contents}.recipes-library-main>*,.recipes-library-toolbar>*,.recipes-library-sidebar>*{grid-column:1 / -1;min-width:0}.recipes-library-toolbar>.page-header{order:0}.recipes-library-sidebar>.recipes-search-card{order:1}.recipes-library-sidebar>.recipes-filter-bar-shell{order:2}.recipes-library-main>.recipes-bulk-toolbar{order:4}.recipes-library-sidebar>.recipes-tag-panel{order:5}.recipes-library-main>.recipe-cover-grid,.recipes-library-main>.list-stack{order:6}.recipes-library-main>.btn-add{order:7}.recipes-filter-sidebar-label,.recipes-tag-panel.is-searching{display:none}.recipes-page .page-header{margin-bottom:4px}.recipes-header-actions{display:inline-flex;align-items:center;gap:10px;flex-shrink:0}.action-btn--header{padding:8px 12px;border-radius:12px;font-size:.85rem;gap:6px;box-shadow:none}.action-btn--header .action-btn-icon{width:22px;height:22px;border-radius:8px}.action-btn--header .action-btn-icon svg{width:14px;height:14px}.recipes-search-card{background:none}.search-input-wrap{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;border:1.5px solid #cfd6c7;background:#e4e9d8;box-shadow:inset 2px 2px 3px #1f2a3614}.search-input-icon{display:inline-flex;align-items:center;justify-content:center;color:#6a7765}.search-input-divider{width:1px;height:18px;background:#d7ddcf}.search-clear-btn{border:none;background:transparent;padding:0;display:inline-flex;align-items:center;justify-content:center;color:#3f4d43;cursor:pointer}.recipes-filter-bar-shell{display:flex;flex-direction:column;gap:8px}.recipes-filter-bar{display:flex;align-items:center;gap:0px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.recipes-filter-bar::-webkit-scrollbar{display:none}.recipes-filter-chip{flex:0 0 auto;min-height:35px;padding:0 14px;border:none;border-radius:999px;background:transparent;color:#24303b;display:inline-flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:500;white-space:nowrap;cursor:pointer;scroll-snap-align:start;position:relative;transition:background-color .18s ease,color .18s ease}.recipes-filter-chip.is-active{background:#d9dfca;color:#16222e;font-weight:800}.recipes-filter-chip--icon{width:44px;min-width:44px;padding:0;color:#24303b}.recipes-filter-chip-star{display:inline-flex;align-items:center;justify-content:center;line-height:0}.recipes-filter-chip-star svg{width:20px;height:20px}.recipes-filter-bar-rail{position:relative;height:5px;border-radius:999px;background:#cecfcaf2;margin:0 10px;overflow:hidden}.recipes-filter-bar-indicator{position:absolute;top:0;left:0;height:100%;border-radius:999px;background:#4d7a58;transition:transform .22s cubic-bezier(.22,.84,.25,1),opacity .18s ease;will-change:transform}.recipes-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.recipes-bulk-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0}.recipes-bulk-toolbar.is-active{padding:14px 16px;border-radius:18px;border:1px solid rgba(220,38,38,.16);background:#fff4f4eb}.recipes-bulk-summary{color:#6b1b1b;font-size:.95rem}.recipes-bulk-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.recipes-bulk-card{position:relative;cursor:pointer}.recipes-bulk-card.is-selected{outline:3px solid rgba(220,38,38,.28);box-shadow:0 14px 28px #dc26261a}.recipes-bulk-badge{position:absolute;top:12px;left:12px;z-index:3;width:28px;height:28px;border-radius:999px;border:2px solid rgba(255,255,255,.95);background:#0f172a52;color:#fff;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 10px 22px #0f172a29}.recipes-bulk-badge svg{width:16px;height:16px}.recipes-bulk-badge.is-selected{background:#dc2626}.recipe-card.recipes-bulk-card.is-selected{background:#fff7f7fa}.recipe-cover-card.recipes-bulk-card.is-selected .recipe-cover-card-scrim{background:linear-gradient(180deg,#7f1d1d14,#7f1d1d8a)}@media (max-width: 520px){.recipes-page .page-header{align-items:flex-start;gap:12px}.recipes-header-actions{gap:8px}.action-btn--header{padding:8px 10px}.action-btn--header .action-btn-icon{width:20px;height:20px}.action-btn--header .action-btn-icon svg{width:13px;height:13px}}.manage-folders-btn{border:1px solid var(--glass-chrome-border);background:var(--glass-chrome-bg);color:#1f2a36;border-radius:16px;padding:12px 14px;font-weight:700;cursor:pointer;box-shadow:var(--glass-chrome-highlight);backdrop-filter:var(--glass-chrome-blur);-webkit-backdrop-filter:var(--glass-chrome-blur)}.manage-folders-btn:hover,.action-btn:hover{transform:translateY(-1px);box-shadow:var(--glass-chrome-highlight)}.manage-folders-btn:active,.action-btn:active{transform:translateY(1px)}.action-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--glass-chrome-border);background:var(--glass-chrome-bg);color:#1f2a36;border-radius:16px;padding:12px 14px;font-weight:700;line-height:1;cursor:pointer;box-shadow:var(--glass-chrome-highlight);transition:transform .15s ease,box-shadow .15s ease;backdrop-filter:var(--glass-chrome-blur);-webkit-backdrop-filter:var(--glass-chrome-blur)}.recipes-page .folder-card{border:1px solid var(--glass-chrome-border);background:var(--glass-chrome-bg);box-shadow:var(--glass-chrome-highlight);backdrop-filter:var(--glass-chrome-blur);-webkit-backdrop-filter:var(--glass-chrome-blur)}.action-btn .lucide{width:18px;height:18px;display:block;flex-shrink:0}.action-btn--primary{background:#a4c1a2b8;border-color:#a4c1a26b;color:#0f172a;box-shadow:0 14px 28px #6f9f7b2e,inset 0 1px #ffffff38}.recipes-page .action-btn:hover{box-shadow:none}.action-btn--add{display:inline-flex;align-items:center;gap:8px;padding:12px 16px;justify-content:center}.action-btn-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:10px;background:#0f172a1f;box-shadow:none!important;font-size:20px;font-weight:900;line-height:1}.action-btn-icon svg{width:18px;height:18px}.action-btn-icon--clear{background:transparent}.action-btn-icon--clear svg{width:20px;height:20px}html.dark .action-btn-icon{background:#0f172a59}.action-btn--danger{background:#fee2e2;border-color:#fca5a5;color:#991b1b}@media (max-width: 520px){.recipes-page{column-gap:8px}.recipes-actions{gap:8px}.action-btn{font-size:.78rem;padding:10px 12px;border-radius:12px}.recipes-bulk-toolbar{align-items:stretch;flex-direction:column}.recipes-bulk-actions{justify-content:stretch}.recipes-bulk-actions .action-btn{flex:1 1 100%}}.quick-add-btn{border:none;background:transparent;color:#0f172a;width:auto;padding:0 12px;height:38px;border-radius:12px;font-weight:800;font-size:18px;cursor:pointer;box-shadow:none;display:inline-flex;align-items:center;justify-content:center}.category-stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.recipes-meal-tiles--hidden{display:none}.recipes-page .folder-card{background:linear-gradient(135deg,#fffffff5,#ffffffd6);border-radius:20px;padding:16px;border:none;box-shadow:none;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.recipes-page .folder-card:hover{transform:translateY(-2px);box-shadow:none}.recipes-page .folder-card--active{background:linear-gradient(135deg,#a4c1a2f2,#a4c1a2b3)!important;border-color:transparent!important;box-shadow:0 12px 22px #6f9f7b29,inset 0 1px #ffffff61;transform:translateY(-2px)}.folder-card--active .folder-name{color:#f3f7e7}.folder-card--active .folder-meta{color:#fff;font-weight:600}.folder-card--hidden{display:none}.folder-name{font-weight:700;color:var(--color-text-main);display:flex;align-items:center;gap:8px}.folder-icon,.folder-emoji{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:0;background:transparent;border:none}.folder-meta{color:var(--color-text-muted);font-size:12px;font-weight:600}.subfolder-row{display:flex;flex-wrap:wrap;gap:8px}.subfolder-chip{border:1px solid #e2e8f0;background:transparent;border-radius:20px;padding:6px 12px;font-weight:600;color:#1e293b;cursor:pointer;transition:background-color .2s ease,color .2s ease,border .2s ease}.subfolder-chip--active{background:#6e8976;color:#f3f7e7;border:1px solid #334155}.subfolder-chip--hidden{display:none}.search-input{width:100%;border:none;background:transparent;border-radius:999px;padding:6px 8px;font-size:14px;font-weight:600;outline:none;box-shadow:none;color:var(--color-text-main)}.search-input:focus{border-color:transparent}.search-input-wrap:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px #a4c1a240}.tag-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.tag-row-wrapper{overflow:hidden;transition:height .35s ease}.tag-subtitle{font-size:12px;font-weight:700;color:var(--color-text-muted);margin-top:8px}.tag-chip{border:1px solid rgba(155,181,149,.58);background:linear-gradient(180deg,#f1f8e8f5,#c9d6b7f5),radial-gradient(circle at 50% 0%,rgba(255,255,255,.42),transparent 62%);color:#314b3f;border-radius:999px;padding:8px 12px;font-weight:600;font-size:12px;cursor:pointer;box-shadow:0 8px 16px #6f9f7b1f,inset 0 1px #ffffff61,inset 0 -1px #637d6214;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease,filter .15s ease}.tag-chip:hover{transform:translateY(-1px);border-color:#86a681b8;box-shadow:0 10px 18px #6f9f7b29,inset 0 1px #ffffff6b,inset 0 -1px #637d621a;filter:saturate(1.03)}.tag-chip--active{border-color:#e5ccb5b8;background:linear-gradient(180deg,#fbf1e5fa,#ebdccafa),radial-gradient(circle at 50% 0%,rgba(255,255,255,.48),transparent 60%);color:#3f5047;box-shadow:0 8px 16px #af91701f,inset 0 1px #ffffff70,inset 0 -1px #876e5414}.tag-filters-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:8px}.tag-label{font-weight:700;color:#1f2a36}html.dark .tag-label{color:var(--text-dark-primary)}.tag-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.tag-search-input{min-width:200px;width:200px;border:1px solid var(--color-border-light);border-radius:14px;padding:8px 12px;font-size:14px;background:#fff}.tag-collapse-btn{border:1px solid rgba(220,208,189,.72);background:linear-gradient(180deg,#fdfaf4f5,#f0eadff5),radial-gradient(circle at 50% 0%,rgba(255,255,255,.42),transparent 62%);border-radius:12px;padding:8px 12px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px;box-shadow:0 10px 20px #1f2a3614,inset 0 1px #ffffff5c,inset 0 -1px #7d70600f}html.dark .tag-collapse-btn{border-color:var(--border-dark-subtle);background:var(--bg-dark-surface);color:var(--text-dark-primary)}.list-stack{display:flex;flex-direction:column;gap:16px}.recipe-cover-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.recipe-cover-card{position:relative;border-radius:22px;overflow:hidden;cursor:pointer;outline:none;box-shadow:0 16px 34px #1f2a3629;background:#d9e2d4;transition:transform .16s ease,box-shadow .16s ease;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:manipulation}.recipe-cover-card:hover{transform:translateY(-2px);box-shadow:0 22px 42px #1f2a3633}.recipe-cover-card:active{transform:scale(.985)}.recipe-cover-card.recipe-card--context-open{transform:translateY(-2px) scale(1.01);box-shadow:0 26px 46px #1f2a363d,0 0 0 1px #a4c1a285}.recipe-cover-card-media{position:relative;aspect-ratio:4 / 5;min-height:0}.recipe-cover-card-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block;user-select:none;-webkit-user-select:none;-webkit-user-drag:none;pointer-events:none}.recipe-cover-card-fallback{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(120% 90% at 100% 0%,rgba(164,193,162,.48),transparent 46%),linear-gradient(180deg,#e0e7defa,#cdd6cbfa);pointer-events:none}.recipe-cover-card-fallback .recipe-cover-fallback__emoji{font-size:58px;color:#1c2835f2}.recipe-cover-card-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#09121e14,#09121e05 28%,#09121e85);pointer-events:none}.recipe-cover-card-body{position:absolute;left:0;right:0;bottom:0;z-index:1;display:flex;flex-direction:column;gap:6px;padding:14px 14px 13px;pointer-events:none}.recipe-cover-card-title{color:#fff;font-size:17px;font-weight:800;line-height:1.1;letter-spacing:-.02em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-shadow:0 2px 10px rgba(0,0,0,.24)}.recipe-cover-card-meta{display:inline-flex;align-items:center;gap:6px;color:#ffffffe6;font-size:12px;font-weight:700;text-shadow:0 2px 8px rgba(0,0,0,.22)}.recipe-cover-card-time-icon{width:12px;height:12px;display:inline-flex;align-items:center;justify-content:center}.recipe-cover-card-time-icon svg{width:12px;height:12px;display:block}.recipe-cover-card-favorite{position:absolute;top:10px;right:10px;z-index:2;width:34px;height:34px;border-radius:999px;border:1px solid rgba(255,255,255,.34);background:#0a121e3d;color:#fffffff5;display:inline-flex;align-items:center;justify-content:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);cursor:pointer;transition:transform .16s ease,background-color .16s ease,border-color .16s ease}.recipe-cover-card-favorite svg{width:16px;height:16px;display:block}.recipe-cover-card-favorite.is-active{background:#a4c1a2fa;border-color:#a4c1a2eb;color:#102235}.recipe-cover-card-favorite:active{transform:scale(.96)}.recipe-cover-grid-empty{grid-column:1 / -1}.recipe-card{position:relative;--recipe-card-height: 100px;--recipe-card-pad: 0px;--recipe-card-thumb: calc(var(--recipe-card-height) - (var(--recipe-card-pad) * 2));--recipe-thumb-radius: 20px;width:100%;height:var(--recipe-card-height);min-height:var(--recipe-card-height);padding:var(--recipe-card-pad);padding-right:calc(var(--recipe-card-pad) + 28px);background:#fff;border-radius:18px;border:none;box-shadow:0 12px 28px #1f2a3624;display:grid;grid-template-columns:var(--recipe-card-thumb) 1fr;column-gap:12px;align-items:center;transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease;overflow:hidden;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:manipulation}@media (max-width: 520px){.recipe-card{--recipe-card-height: 96px;--recipe-card-pad: 8px;--recipe-card-thumb: calc(var(--recipe-card-height) - (var(--recipe-card-pad) * 2));--recipe-thumb-radius: 10px;column-gap:10px}.recipe-cover-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.recipe-cover-card{border-radius:18px}.recipe-cover-card-body{gap:4px;padding:12px 10px 10px}.recipe-cover-card-title{font-size:14px;line-height:1.15}.recipe-cover-card-meta{font-size:11px;gap:5px}.recipe-cover-card-time-icon,.recipe-cover-card-time-icon svg{width:11px;height:11px}.recipe-cover-card-favorite{top:8px;right:8px;width:30px;height:30px}.recipe-cover-card-favorite svg{width:14px;height:14px}}.recipe-card:hover{transform:translateY(-2px);box-shadow:0 22px 44px #1f2a362e}.recipe-card-image,.recipe-card img{width:var(--recipe-card-thumb);height:var(--recipe-card-thumb);min-width:var(--recipe-card-thumb);aspect-ratio:1 / 1;display:block;object-fit:cover;border-radius:var(--recipe-thumb-radius);flex:0 0 var(--recipe-card-thumb)}.recipe-card .recipe-emoji,.recipe-card .recipe-icon-wrap{width:var(--recipe-card-thumb);height:var(--recipe-card-thumb);min-width:var(--recipe-card-thumb);aspect-ratio:1 / 1;border-radius:var(--recipe-thumb-radius);padding:0;display:flex;align-items:center;justify-content:center;font-size:44px;background:linear-gradient(135deg,#ffffffe6,#f2b48740);flex:0 0 var(--recipe-card-thumb)}.recipe-card .recipe-icon-image{width:100%;height:100%;object-fit:cover;border-radius:inherit}.recipe-emoji{font-size:44px}.recipe-main{display:flex;flex-direction:column;gap:4px;align-items:flex-start;text-align:left;width:100%;margin:0;padding:0;background:transparent;border-radius:0;border:none;box-shadow:none;position:relative;z-index:1;justify-content:center;overflow:hidden;min-width:0}.recipe-delete{position:absolute;top:var(--recipe-card-pad);right:var(--recipe-card-pad);border:none;background:transparent;color:var(--color-text-muted);font-weight:700;cursor:pointer;padding:0;width:24px;height:24px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;box-shadow:none;line-height:0;opacity:.55;transition:background .15s ease,color .15s ease,opacity .15s ease}.recipe-delete:hover{background:#a4c1a22e;color:#1f2a36;opacity:1}.recipe-title{font-weight:700;font-size:17px;letter-spacing:-.01em;color:var(--color-text-main);display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;line-height:1.2}.recipe-sub{color:var(--color-text-muted);font-size:12px;font-weight:600;display:flex;align-items:center;gap:6px}.recipe-tags{display:flex;gap:6px;flex-wrap:wrap;row-gap:6px;overflow:hidden}.recipe-tag-pill{background:#a5c1a338;color:#2a3a2f;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:700;border:none;white-space:nowrap}.confirm-actions{display:flex;gap:10px;margin-top:14px;justify-content:flex-end}.confirm-btn{border:1px solid #e2e8f0;background:#fff;border-radius:12px;padding:10px 14px;font-weight:700;cursor:pointer;color:#1e293b;transition:transform .1s ease,box-shadow .1s ease}.confirm-btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px #00000014}.confirm-btn.danger{background:#fee2e2;border-color:#fca5a5;color:#991b1b}.today-meal-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:14px 16px;margin-bottom:8px;cursor:pointer;touch-action:pan-y}.today-page .today-meal-card,.today-page .today-meal-card *,.today-page .today-meal-empty,.today-page .today-meal-empty *{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.today-meal-header{display:flex;align-items:center;gap:10px;margin-bottom:0;justify-content:space-between}.today-meal-main{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.meal-emoji{display:inline-flex;align-items:center;justify-content:center;width:50px;height:50px;line-height:1;font-size:0}.meal-title{font-weight:700;color:#1e293b;letter-spacing:.01em;line-height:1.2}.meal-label{display:block;font-size:12px;color:#2f855a;font-weight:700;margin-bottom:2px}.today-meal-text{display:flex;flex-direction:column;min-width:0;gap:2px}.cooked-pill{background:#ecfeff;color:#0f766e;border:1px solid #0f766e;border-radius:12px;padding:4px 8px;font-size:12px;font-weight:700;margin-right:8px}.today-meal-menu-btn{width:38px;height:38px;border:1.5px solid rgba(225,217,204,.9);background:#ffffffeb;border-radius:999px;padding:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:#6b7280;flex:0 0 auto}.today-meal-menu-btn svg{display:block;width:15px;height:15px}.today-meal-menu-btn:hover{background:#fff;color:#4b5563}.today-action-sheet-shell{border-radius:34px 34px 0 0;height:auto!important;padding-bottom:10px;background:#f8f8f3!important}.today-action-sheet{padding:12px 12px calc(12px + env(safe-area-inset-bottom));gap:8px}.today-action-sheet-header{display:flex;flex-direction:column;gap:4px;padding:4px 8px 8px}.today-action-sheet-meal{font-size:12px;line-height:1.2;font-weight:700;letter-spacing:.01em;color:var(--color-primary-dark, #2f855a)}.today-action-sheet-title{font-size:15px;line-height:1.3;font-weight:700;color:var(--color-text-main, #1e293b);word-break:break-word}.today-action-sheet-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.today-action-sheet-btn,.today-action-sheet-cancel{width:100%;border:1px solid var(--color-border-light, #e2e8f0);background:var(--color-bg-soft, #f8fafc);color:var(--color-text-main, #1e293b);border-radius:18px;padding:10px 12px;text-align:left;font-weight:700;font-size:14px;line-height:1.2;cursor:pointer}.today-action-sheet-btn-inner{display:inline-flex;align-items:center;gap:8px}.today-action-sheet-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;font-size:12px;line-height:1}.today-action-sheet-btn.is-destructive{color:#b42318;border-color:#fecaca;background:#fff1f2}.today-action-sheet-btn.is-disabled{opacity:.55;cursor:not-allowed}.today-action-sheet-cancel{grid-column:1 / -1;margin-top:4px;background:var(--color-bg-elevated, #ffffff);text-align:center;border-radius:20px;padding:11px 14px}html.dark .today-action-sheet-shell{background:linear-gradient(180deg,#121b2afa,#0c1321fa)!important}html.dark .today-action-sheet-meal{color:#9fc4a0}html.dark .today-action-sheet-title{color:var(--text-dark-primary)}html.dark .today-action-sheet-btn,html.dark .today-action-sheet-cancel{border-color:#3f5474c7;background:#121d2ee0;color:var(--text-dark-primary);box-shadow:inset 0 1px #ffffff08}html.dark .today-action-sheet-icon{color:#e2e8f0eb}html.dark .today-action-sheet-btn.is-destructive{color:#ff8f86;border-color:#f8717166;background:#4e1a1f75}html.dark .today-action-sheet-btn.is-destructive .today-action-sheet-icon{color:#ff8f86}html.dark .today-action-sheet-btn.is-disabled{opacity:.45}html.dark .today-action-sheet-cancel{background:#142a48f2;border-color:#234470cc}.today-tips-center{display:flex;flex-direction:column;gap:10px;background:#f5e7d6;border:1px solid #ead0b6;border-radius:24px;padding:12px}.today-tips-toggle{width:100%;border:none;background:transparent;padding:0;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;cursor:pointer;color:inherit}.today-tips-toggle-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.today-tips-kicker{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#7c5d40}.today-tips-title{font-size:17px;font-weight:800;color:#1e293b}.today-tips-sub{font-size:13px;line-height:1.35;color:#6b7280}.today-tips-toggle-icon{width:34px;height:34px;border-radius:999px;background:#ffffff85;border:1px solid rgba(234,208,182,.9);display:inline-flex;align-items:center;justify-content:center;color:#6b7280;flex:0 0 auto;transition:transform .18s ease}.today-tips-center.is-expanded .today-tips-toggle-icon{transform:rotate(180deg)}.today-tips-toggle-icon svg{width:16px;height:16px;display:block}.today-tips-panel{display:flex;flex-direction:column;gap:12px}.today-tips-panel-shell{display:grid;grid-template-rows:0fr;opacity:0;transform:translateY(-8px);transition:grid-template-rows .24s cubic-bezier(.22,.84,.32,1),opacity .18s ease,transform .24s cubic-bezier(.22,.84,.32,1);pointer-events:none}.today-tips-panel-shell.is-open{grid-template-rows:1fr;opacity:1;transform:translateY(0);pointer-events:auto}.today-tips-panel-shell>.today-tips-panel{min-height:0;overflow:hidden}.today-tips-tabs{display:flex;flex-wrap:wrap;gap:8px}.today-tips-tab{border:1px solid rgba(234,208,182,.92);background:#ffffffad;color:#4b5563;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:700;cursor:pointer}.today-tips-tab.is-active{background:#a5c1a3;border-color:#a5c1a3;color:#102235}.today-tips-card-list{display:flex;flex-direction:column;gap:10px}.today-tip-card{background:#ffffffb8;border:1px solid rgba(234,208,182,.92);border-radius:18px;padding:12px;display:flex;flex-direction:column;gap:8px}.today-tip-card-title{font-size:15px;font-weight:800;color:#1e293b}.today-tip-card-body{font-size:13px;line-height:1.4;color:#6b7280}.today-tip-card-action{align-self:flex-start;border:1px solid rgba(165,193,163,.95);background:#a5c1a3;color:#102235;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:800;cursor:pointer}html.dark .today-tips-center{background:#201812eb;border-color:#72574094}html.dark .today-tips-kicker{color:#d7b89a}html.dark .today-tips-title{color:var(--text-dark-primary)}html.dark .today-tips-sub{color:var(--text-dark-secondary)}html.dark .today-tips-toggle-icon{background:#ffffff0f;border-color:#72574094;color:var(--text-dark-secondary)}html.dark .today-tips-tab{background:#121d2eb8;border-color:#3f5474c7;color:var(--text-dark-primary)}html.dark .today-tips-tab.is-active{background:#3e5f44;border-color:#5c8b65;color:#f4f8f1}html.dark .today-tip-card{background:#121d2ed1;border-color:#3f5474c7}html.dark .today-tip-card-title{color:var(--text-dark-primary)}html.dark .today-tip-card-body{color:var(--text-dark-secondary)}html.dark .today-tip-card-action{background:#3e5f44;border-color:#5c8b65;color:#f4f8f1}.today-servings-adjust{margin-top:8px;display:flex;align-items:center;justify-content:space-between;gap:12px}.today-servings-label{font-size:14px;font-weight:600;color:#1e293b}.today-servings-control{display:inline-flex;align-items:center;gap:8px;border:1px solid #e2e8f0;border-radius:999px;padding:4px 8px}.today-servings-control button{border:none;background:transparent;font-weight:700;font-size:18px;cursor:pointer;padding:0 6px}.today-servings-save{margin-left:12px;border:none;background:var(--color-primary);color:#0f172a;border-radius:999px;padding:6px 14px;font-weight:700;cursor:pointer}.today-meal-empty{background:#fff;border:1px dashed #e2e8f0;border-radius:12px;padding:14px;text-align:center;color:#475569;cursor:pointer;margin-bottom:8px;touch-action:pan-y}.today-meal-empty-label{font-weight:700;margin-bottom:4px}.today-meal-empty-sub{font-size:13px;color:#94a3b8}.today-nutrition-card{background:var(--color-bg-elevated);border:1px solid var(--color-border-light);border-radius:12px;padding:14px 16px;touch-action:pan-y}.today-nutrition-title{font-weight:800;color:var(--color-text-main);margin-bottom:10px}.today-nutrition-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.today-nutrition-item{border:1px solid var(--color-border-light);border-radius:12px;padding:10px 12px;background:transparent}.today-nutrition-label{font-size:12px;color:var(--color-text-muted);font-weight:700}.today-nutrition-value{margin-top:4px;font-size:18px;font-weight:800;color:var(--color-text-main)}.progress-ring{position:relative;width:72px;height:72px;flex:0 0 auto}.progress-ring-svg{transform:rotate(-90deg);display:block}.progress-ring-track{stroke:var(--color-border-light)}.progress-ring-bar{transition:stroke-dashoffset .22s ease}.progress-ring-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--color-text-main)}.progress-ring-current{font-size:14px;font-weight:900;line-height:1}.progress-ring-goal{font-size:10px;color:var(--color-text-muted);margin-top:2px;font-weight:700}.progress-ring-label{font-size:10px;font-weight:800;color:var(--color-text-main);opacity:.9;margin-top:4px}.today-progress-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;justify-items:center;margin-bottom:12px}.progress-ring-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.today-progress-empty{margin-bottom:12px;border:1px dashed var(--color-border-light);border-radius:12px;padding:12px;font-size:13px;font-weight:700;color:var(--color-text-muted);text-align:center}.mark-cooked-btn{padding:10px 14px;background-color:var(--color-primary);border:none;border-radius:8px;color:#1e293b;font-weight:600;box-shadow:0 4px 12px #0000000f;cursor:pointer}.mark-cooked-btn.cooked{background-color:var(--color-secondary)}.last-cooked,.recipe-last-cooked{font-size:.8rem;color:#64748b;margin-top:4px}.time-row{display:flex;gap:12px}.time-field label{font-size:.75rem;color:#64748b}.total-time{margin-top:6px;font-size:.85rem;font-weight:500;color:#334155}.recipe-times div{font-size:.9rem;color:#475569}.btn-add{margin-top:8px;width:100%;border:none;border-radius:999px;background:#6e8976;color:#0f172a;padding:14px;font-weight:700;box-shadow:0 14px 38px #6f9f7b59;cursor:pointer}.recipes-fab{position:fixed;right:calc((100vw - var(--app-root-width)) / 2 + 16px);bottom:calc(var(--bottom-nav-clearance) + 25px);width:44px;height:44px;border-radius:999px;border:1px solid rgba(164,193,162,.42);background:#a4c1a2b8;color:#0f172a;font-size:18px;font-weight:900;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease;z-index:40;box-shadow:0 14px 28px #6f9f7b33,inset 0 1px #ffffff3d;backdrop-filter:var(--glass-chrome-blur);-webkit-backdrop-filter:var(--glass-chrome-blur)}.recipes-fab svg{width:20px;height:20px}.recipes-fab:hover{transform:translateY(-1px);box-shadow:0 22px 44px #1f2a3647}.recipes-scroll-top{position:fixed;right:calc((100vw - var(--app-root-width)) / 2 + 16px);bottom:calc(var(--bottom-nav-clearance) + 75px);width:44px;height:44px;border-radius:999px;border:1px solid var(--glass-chrome-border);background:var(--glass-chrome-bg);color:#2a3a2f;display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--glass-chrome-shadow-soft),var(--glass-chrome-highlight);backdrop-filter:var(--glass-chrome-blur);-webkit-backdrop-filter:var(--glass-chrome-blur);cursor:pointer;opacity:0;transform:translateY(6px);pointer-events:none;transition:opacity .2s ease,transform .2s ease;z-index:39;margin-top:5px}.recipes-scroll-top.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}html.dark .recipes-scroll-top{background:var(--glass-chrome-bg);border-color:var(--glass-chrome-border);color:var(--text-dark-primary);box-shadow:var(--glass-chrome-shadow),var(--glass-chrome-highlight)}html.dark .recipes-fab{border-color:#a4c1a242;background:#9fc4a080;color:#0b1221;box-shadow:0 18px 34px #00000057,inset 0 1px #ffffff14}html.dark .recipe-cover-card{background:#111e31fa;box-shadow:0 18px 36px #00000057}html.dark .recipe-cover-card.recipe-card--context-open{box-shadow:0 28px 54px #00000085,0 0 0 1px #81b58e80}html.dark .recipe-cover-card-fallback{background:radial-gradient(120% 90% at 100% 0%,rgba(121,165,117,.26),transparent 48%),linear-gradient(180deg,#1a293dfa,#121e2efa)}html.dark .recipe-cover-card-fallback .recipe-cover-fallback__emoji{color:#edf3f7f5}html.dark .recipe-cover-card-scrim{background:linear-gradient(180deg,#020a121a,#020a1205 28%,#020a12b3)}html.dark .recipe-cover-card-favorite{background:#080f196b;border-color:#94a3b82e;color:#fffffff5}html.dark .recipe-cover-card-favorite.is-active{background:#79a575fa;border-color:#79a575e6;color:#07121d}.empty-state{text-align:center;color:var(--color-text-muted);font-size:14px;padding:10px 0}html.dark .recipes-page{background:var(--bg-dark-page)}html.dark .recipes-search-card{background:none!important}html.dark .search-input-wrap{background:#11192d;border-color:#94a3b859}html.dark .search-input-icon,html.dark .search-clear-btn{color:#e2e8f0bf}html.dark .search-input-divider{background:#94a3b840}html.dark .search-input{color:#f1f5f9f5;background-color:none;border:none;box-shadow:none!important}html.dark .search-input::placeholder{color:#cbd5e1b3}html.dark .recipes-filter-chip{color:#e2e8f0d6}html.dark .recipes-filter-chip.is-active{background:#9fc4a061;color:#f8fafc}html.dark .recipes-filter-bar-indicator{background:#8fbe99}html.dark .recipes-filter-bar-rail{background:#475569cc}html.dark .manage-folders-btn,html.dark .action-btn{background:var(--glass-chrome-bg);border-color:var(--glass-chrome-border);color:var(--text-dark-primary);box-shadow:var(--glass-chrome-shadow),var(--glass-chrome-highlight);transition:transform .12s ease,border-color .12s ease,background-color .12s ease}html.dark .action-btn--danger{background:#f8717126;border-color:#f8717173;color:#fecaca}html.dark .action-btn--primary{background:#9fc4a080;border-color:#a4c1a242;box-shadow:0 18px 34px #0000004d,inset 0 1px #ffffff14}html.dark .manage-folders-btn:hover,html.dark .action-btn:hover{border-color:var(--border-dark-strong);transform:translateY(-1px)}html.dark .manage-folders-btn:active,html.dark .action-btn:active{transform:translateY(1px)}html.dark .recipes-page .folder-card{background:linear-gradient(135deg,#10192df2,#10192dcc);border:none;color:var(--text-dark-secondary);box-shadow:none;transition:transform .12s ease,border-color .12s ease,background-color .12s ease}html.dark .recipes-page .folder-card:hover{transform:translateY(-1px)}html.dark .tag-row,html.dark .tag-controls{background:transparent;border-radius:14px;padding:0;border:none;box-shadow:none}html.dark .tag-chip,html.dark .subfolder-chip{background:linear-gradient(180deg,#2b3f36f5,#1c2c26f5),radial-gradient(circle at 50% 0%,rgba(255,255,255,.1),transparent 60%);color:#d3e5d1;border:1px solid rgba(126,164,132,.34);box-shadow:0 10px 18px #00000038,inset 0 1px #ffffff14,inset 0 -1px #00000029;transition:transform .12s ease,border-color .12s ease,color .12s ease}html.dark .tag-chip--active{background:linear-gradient(180deg,#5a6c61f5,#3f4d45f5),radial-gradient(circle at 50% 0%,rgba(255,255,255,.1),transparent 60%);border-color:#b0c4b64d;color:#f8fafc}html.dark .tag-chip:hover,html.dark .subfolder-chip:hover{color:#f8fafc;border-color:#95bf9c6b;transform:translateY(-1px)}html.dark .tag-chip:active,html.dark .subfolder-chip:active{transform:translateY(1px)}html.dark .chip-active{background:var(--bg-dark-surface);color:var(--text-dark-primary);border-color:var(--border-dark-strong)}html.dark .tag-search-input{background:var(--bg-dark-surface);border-color:var(--border-dark-subtle);color:var(--text-dark-primary);box-shadow:inset 0 0 0 1px #ffffff05}html.dark .tag-collapse-btn{border-color:#ffffff1f;background:linear-gradient(180deg,#283544f5,#192533f5),radial-gradient(circle at 50% 0%,rgba(255,255,255,.08),transparent 60%);color:var(--text-dark-primary);box-shadow:0 12px 22px #0000003d,inset 0 1px #ffffff14,inset 0 -1px #00000029}html.dark .recipe-card{background:var(--bg-dark-surface);border:none;box-shadow:0 18px 36px #00000073;transition:transform .12s ease,border-color .12s ease,background-color .12s ease}html.dark .recipe-card:hover{transform:translateY(-1px)}html.dark .recipe-card:active{transform:scale(.99)}html.dark .recipe-emoji{opacity:.9}html.dark .recipe-main{background:transparent;border:none;box-shadow:none}html.dark .recipe-card .recipe-emoji,html.dark .recipe-card .recipe-icon-wrap{background:linear-gradient(135deg,#10192de6,#2ec77d29)}html.dark .recipe-sub,html.dark .recipe-meta,html.dark .recipe-time-icon{color:var(--text-dark-secondary)}html.dark .recipe-tag-pill{background:#2ec77d2e;color:var(--text-dark-primary);border:none}html.dark .recipe-delete{background:#ffffff0f;color:var(--text-dark-secondary);border:none;box-shadow:none;opacity:.7}html.dark .recipe-delete:hover{background:#2ec77d33;color:var(--text-dark-primary);opacity:1}:is(.recipes-page,.recipe-search-page) .recipe-card{width:100%;height:104px;min-height:104px;padding:0 12px 0 0;background:#fff;border-radius:18px;border:none;box-shadow:0 8px 18px #1f2a361f;display:flex;flex-direction:row;align-items:center;column-gap:12px;overflow:hidden}:is(.recipes-page,.recipe-search-page) .recipe-card:active{transform:scale(.99)}:is(.recipes-page,.recipe-search-page) .recipe-card.recipe-card--context-open{transform:translateY(-2px);box-shadow:0 24px 44px #1f2a362e,0 0 0 1px #a4c1a285}html.dark :is(.recipes-page,.recipe-search-page) .recipe-card.recipe-card--context-open{box-shadow:0 28px 54px #00000080,0 0 0 1px #81b58e7a}:is(.recipes-page,.recipe-search-page) .recipe-card-image,:is(.recipes-page,.recipe-search-page) .recipe-card img{width:104px;height:104px;min-width:104px;aspect-ratio:1 / 1;display:block;object-fit:cover;border-radius:0;flex:0 0 130px;flex-shrink:0;user-select:none;-webkit-user-select:none;-webkit-user-drag:none}:is(.recipes-page,.recipe-search-page) .recipe-card .recipe-emoji,:is(.recipes-page,.recipe-search-page) .recipe-card .recipe-icon-wrap{width:80px;height:80px;min-width:80px;aspect-ratio:1 / 1;border-radius:14px;margin-left:12px;padding:0;display:flex;align-items:center;justify-content:center;font-size:34px;background:linear-gradient(135deg,#ffffffe6,#f2b48740);flex:0 0 80px;flex-shrink:0}:is(.recipes-page,.recipe-search-page) .recipe-card .recipe-icon-image{width:100%;height:100%;object-fit:contain;border-radius:14px}:is(.recipes-page,.recipe-search-page) .recipe-main{display:flex;flex-direction:column;gap:4px;align-items:flex-start;text-align:left;flex:1;min-width:0;margin:0;padding:0 28px 0 0;background:transparent;border:none;box-shadow:none;position:relative;justify-content:center;overflow:hidden}:is(.recipes-page,.recipe-search-page) .recipe-title{font-weight:700;font-size:16px;letter-spacing:-.01em;color:var(--color-text-main);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.2}:is(.recipes-page,.recipe-search-page) .recipe-sub{color:var(--color-text-muted);font-size:12px;font-weight:600;display:flex;align-items:center;gap:6px;white-space:nowrap}:is(.recipes-page,.recipe-search-page) .recipe-time-icon{display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;color:var(--color-text-muted)}:is(.recipes-page,.recipe-search-page) .recipe-time-icon svg{width:12px;height:12px}:is(.recipes-page,.recipe-search-page) .recipe-tags{display:flex;gap:6px;flex-wrap:wrap;row-gap:6px;max-height:32px;overflow:hidden}:is(.recipes-page,.recipe-search-page) .recipe-tag-pill{background:#a5c1a32e;color:#2a3a2f;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700;border:none;white-space:nowrap}:is(.recipes-page,.recipe-search-page) .recipe-delete{position:absolute;top:50%;right:12px;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;padding:0;width:24px;height:24px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;box-shadow:none;line-height:0;opacity:.55;transform:translateY(-50%);z-index:2;pointer-events:auto;transition:background .15s ease,color .15s ease,opacity .15s ease}:is(.recipes-page,.recipe-search-page) .recipe-delete:hover{background:#a4c1a22e;color:#1f2a36;opacity:1}:is(.recipes-page,.recipe-search-page) .recipe-card-favorite{position:absolute;top:10px;right:10px;z-index:2;width:30px;height:30px;border-radius:999px;border:1px solid rgba(164,193,162,.4);background:#ffffffeb;color:#2c3b4fe6;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;line-height:0;transition:transform .14s ease,background-color .16s ease,border-color .16s ease,color .16s ease}:is(.recipes-page,.recipe-search-page) .recipe-card-favorite svg{width:15px;height:15px;display:block}:is(.recipes-page,.recipe-search-page) .recipe-card-favorite:hover{background:#a4c1a23d;border-color:#a4c1a2a8}:is(.recipes-page,.recipe-search-page) .recipe-card-favorite:active{transform:scale(.95)}:is(.recipes-page,.recipe-search-page) .recipe-card-favorite.is-active{background:#a4c1a2fa;border-color:#a4c1a2e6;color:#102235}html.dark :is(.recipes-page,.recipe-search-page) .recipe-card-favorite{background:#07111e99;border-color:#94a3b83d;color:#f1f5fcf2}html.dark :is(.recipes-page,.recipe-search-page) .recipe-card-favorite:hover{background:#79a57542;border-color:#79a57585}html.dark :is(.recipes-page,.recipe-search-page) .recipe-card-favorite.is-active{background:#79a575fa;border-color:#79a575e6;color:#07121d}:root{--redesign-paper: #fbf8ef;--redesign-oat: #f2eee3;--redesign-cream: #fffdf6;--redesign-sage: #e8efdf;--redesign-leaf: #dbe8d1;--redesign-action: #ccdfbd;--redesign-action-ink: var(--redesign-ink);--redesign-ink: #2c482b;--redesign-muted: #526849;--redesign-card-title: #35261b;--redesign-card-muted: #695f51;--redesign-heading: Georgia, "Times New Roman", serif;--redesign-shell-max: 480px;--today-gutter: 16px}html.dark{--redesign-paper: #0b1221;--redesign-oat: #16243c;--redesign-cream: #10192d;--redesign-sage: #283b4a;--redesign-leaf: #344b50;--redesign-action: var(--color-primary);--redesign-action-ink: #213321;--redesign-ink: #eef4e8;--redesign-muted: #c1ceda;--redesign-card-title: #eef4e8;--redesign-card-muted: #becab6}html.dark .today-page .today-overview{--redesign-ink: #203b2c;--redesign-muted: #395841;--redesign-sage: #c3d8b9;--redesign-cream: #edf4e8;background-color:#a9c6a3}html.dark .today-page .today-overview-title{color:var(--redesign-ink)}html.dark .today-page .today-selected-date{color:var(--redesign-muted)}html.dark .today-page .today-week-strip button{color:var(--redesign-ink)}html.dark .today-page .today-header-actions .today-shortcut{background:#b6d1b1;color:#203b2c}.today-page,.recipes-page.recipe-library-surface,.recipe-search-page{background:var(--redesign-paper)}:is(body,#root):has(.app-content>:is(.today-page,.recipes-page.recipe-library-surface,.recipe-search-page)){background:var(--redesign-paper)}.app-root:has(>.app-content>:is(.today-page,.recipes-page.recipe-library-surface,.recipe-search-page)){background:var(--redesign-paper);border:0;border-radius:0;box-shadow:none;overflow:clip}.app-content:has(>:is(.today-page,.recipes-page.recipe-library-surface,.recipe-search-page)){--app-content-pad-x: 0px}.app-content:has(>.recipe-search-page){--app-content-pad-bottom: 0px}.app-content>.today-page{padding-inline:var(--today-gutter)}.today-page .today-header{display:flex;align-items:center;min-height:44px;padding-inline-end:106px}.today-desktop-nav .today-desktop-brand{display:none}.today-page .today-brand-logo{flex:none}.today-page .today-brand-text{font-family:var(--redesign-heading);font-size:clamp(1rem,5vw,1.375rem);color:var(--redesign-ink)}.today-header-actions{position:absolute;top:-56px;right:0;display:flex;gap:6px}.today-shortcut{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border:0;border-radius:50%;background:var(--redesign-leaf);color:var(--redesign-ink);cursor:pointer}.today-shortcut svg,.recipes-tag-trigger svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.today-shortcut svg{width:23px;height:23px;stroke-width:2}.today-shortcut:hover{background:var(--redesign-action);color:var(--redesign-action-ink)}.today-overview{position:relative;padding:clamp(14px,3vw,22px);border-radius:22px;background:var(--redesign-leaf) url(/icons/redesign/sprig.svg) right -15px top -15px / 135px no-repeat;color:var(--redesign-ink)}.today-overview-title{margin:0;font:700 clamp(28px,7vw,42px)/1.06 var(--redesign-heading);letter-spacing:-.04em}.today-selected-date{margin:7px 0 15px;color:var(--redesign-muted);font-size:.9rem}.today-week-strip{touch-action:pan-y}.today-week-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.today-week-strip button{display:grid;justify-items:center;gap:2px;min-height:46px;padding:5px 0;border:1px solid transparent;border-radius:10px;color:var(--redesign-ink);background:var(--redesign-sage);font-size:.72rem}.today-week-strip strong{font-size:1rem}.today-week-strip [aria-pressed=true]{background:var(--redesign-cream);border-color:#8ea581}.today-page .meal-list{gap:11px}.today-page .today-meal-card,.today-page .today-meal-empty{margin:0;background:var(--redesign-oat);color:var(--redesign-card-title);box-shadow:none;border:0;border-radius:15px}.today-page .today-meal-card{padding:0;overflow:hidden}.today-page .today-meal-featured,.today-page .today-nutrition-card{background:var(--redesign-sage);box-shadow:none;border:0}.today-page .today-meal-featured{border-radius:20px}.today-page .today-meal-header{gap:5px;padding-right:9px;min-height:86px}.today-page .today-meal-main{align-items:stretch;align-self:stretch;gap:12px}.today-page .today-meal-text{flex:1;justify-content:center;align-items:flex-start;gap:5px;padding-block:8px}.today-page .meal-title{color:var(--redesign-card-title);margin:0;letter-spacing:-.015em}.today-page .today-meal-title-button{border:0;background:transparent;text-align:left;padding:0;font-size:.9rem;overflow-wrap:anywhere;cursor:pointer}.today-page .today-meal-title-button:focus-visible{outline-offset:2px}.today-meal-badge{background:var(--meal-badge-bg, #e0e9d3);color:var(--meal-badge-ink, #324932);border-radius:20px;padding:2px 8px;font-size:.67rem;font-weight:700;line-height:1.25}.today-page [data-meal-type=breakfast]{--meal-badge-bg: #fae39c;--meal-badge-ink: #534014}.today-page [data-meal-type=lunch]{--meal-badge-bg: #dce8bc;--meal-badge-ink: #394a2b}.today-page [data-meal-type=dinner]{--meal-badge-bg: #dfe9ef;--meal-badge-ink: #304c60}.today-page [data-meal-type=snack]{--meal-badge-bg: #eae4f0;--meal-badge-ink: #4f4260}.today-feature-photo,.today-meal-thumbnail{position:relative;display:grid;place-items:center;overflow:hidden;background:var(--redesign-leaf)}.today-feature-photo{aspect-ratio:1.95}.today-meal-thumbnail{width:clamp(76px,22vw,105px);flex:none;align-self:stretch}.today-feature-photo>img,.today-meal-thumbnail>img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.today-meal-thumbnail .recipe-cover-fallback__emoji{font-size:1.55rem}.today-feature-photo .recipe-cover-fallback__emoji{font-size:3.1rem}.today-page .today-meal-featured .today-meal-header{margin:0;padding:13px 15px 3px;min-height:0}.today-page .today-meal-featured .today-meal-text{gap:7px;padding:0}.today-page .today-meal-featured .meal-title{font-family:var(--redesign-heading);font-size:clamp(1.35rem,5.3vw,1.9rem)}.today-meal-details,.today-page .today-meal-empty-sub{color:var(--redesign-card-muted);font-size:.78rem}.today-feature-actions{display:flex;align-items:center;gap:5px;padding:9px 10px 13px 15px}.today-view-recipe{flex:1;min-height:44px;border:0;border-radius:13px;background:var(--redesign-action);color:var(--redesign-action-ink);font-weight:700;cursor:pointer}.today-page .today-meal-menu-btn{width:44px;height:44px;background:transparent;border:0;color:var(--redesign-card-muted)}.today-page .today-meal-menu-btn:hover{background:var(--redesign-cream)}.today-page .today-meal-card .cooked-pill{flex:none;margin:0;padding:3px 5px;font-size:.63rem}.today-page .today-meal-card .today-servings-adjust{margin:0;padding:10px 12px;flex-wrap:wrap}.today-page .today-meal-empty{min-height:70px;display:flex;align-items:center;justify-content:space-between;text-align:left;gap:8px;padding:8px 14px;cursor:default}.today-add-meal{display:inline-flex;flex:none;align-items:center;gap:7px;min-height:44px;padding:0 10px;border-radius:12px;border:1px solid var(--color-border-light);background:var(--redesign-cream);color:var(--redesign-card-title);font-size:.8rem;font-weight:700;cursor:pointer}.today-add-meal svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.today-page .today-balance{padding:15px 16px;border-radius:17px;color:var(--redesign-ink)}.today-balance-heading{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.today-balance-heading h2{margin:0;font:inherit;font-size:1rem;font-weight:750}.today-balance-heading>strong{font-size:.92rem;white-space:nowrap}.today-balance-caption{margin:4px 0 12px;font-size:.75rem;color:var(--redesign-muted)}.today-balance-progress{height:6px;overflow:hidden;border-radius:6px;background:var(--redesign-leaf)}.today-balance-progress>span{display:block;height:100%;border-radius:inherit;background:var(--redesign-muted)}.today-balance-macros{display:flex;justify-content:space-between;flex-wrap:wrap;gap:5px 12px;margin:10px 0 0;font-size:.77rem}.today-balance-macros>div{display:flex;align-items:baseline;gap:5px;flex-wrap:wrap}.today-balance-macros dt,.today-balance-macros small{color:var(--redesign-muted)}.today-balance-macros dd{margin:0}.today-balance-goals{min-height:36px;padding:5px 0 0;border:0;background:none;color:var(--redesign-ink);font-size:.77rem;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.today-secondary{display:contents}.today-week-preview{display:none}.recipes-page.recipe-library-surface .page-header{container:recipe-library-header / inline-size;align-items:center;flex-wrap:wrap;column-gap:10px;background:transparent;box-shadow:none;border:0}.recipe-library-surface .recipes-header-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:100%;margin-inline-start:auto}.recipes-page .page-title{font-family:var(--redesign-heading);font-size:clamp(1.7rem,5vw,2.65rem);letter-spacing:-.04em}.recipes-library-title{display:flex;align-items:center;gap:clamp(6px,1.5vw,10px);margin:0;line-height:1.1}.recipes-title-icon,.recipes-favorites-shortcut{display:grid;place-items:center;flex:none;color:var(--redesign-ink);background:var(--redesign-sage)}.recipes-title-icon{width:clamp(30px,8vw,42px);aspect-ratio:1;border-radius:11px}.recipes-title-icon svg{width:57%;height:57%}.recipes-favorites-shortcut{width:44px;height:44px;border:0;border-radius:13px;cursor:pointer}.recipes-favorites-shortcut:hover{background:var(--redesign-leaf)}.recipes-favorites-shortcut[aria-pressed=true]{background:var(--redesign-action);color:var(--redesign-action-ink);box-shadow:inset 0 0 0 1px var(--redesign-muted)}.recipes-favorites-shortcut[aria-pressed=true] svg path{fill:currentColor}.recipes-page .action-btn--header{min-height:44px}.recipes-search-row{--recipes-search-control-size: 48px;display:grid;grid-template-columns:minmax(0,1fr) 0px;align-items:center;column-gap:0;transition:grid-template-columns .22s ease,column-gap .22s ease}.recipes-search-row[data-filters-active=true]{grid-template-columns:minmax(0,1fr) var(--recipes-search-control-size);column-gap:8px}html.native-recipe-library-sidebar .recipes-search-row{--recipes-search-control-size: 44px}.recipes-search-card .recipe-search-launcher{min-height:48px;background:var(--redesign-sage);border-color:color-mix(in srgb,var(--redesign-muted) 30%,var(--redesign-sage));box-shadow:inset 0 2px 4px #16241118,0 2px 4px #1624110e}.recipes-search-card .recipe-search-launcher:focus-within{border-color:var(--redesign-muted);box-shadow:inset 0 2px 4px #16241118,0 0 0 3px var(--redesign-leaf)}.recipe-search-launcher{width:100%;min-width:0;text-align:left;color:var(--redesign-muted);font:inherit;font-weight:700;cursor:text}.recipe-search-launcher span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.recipe-search-launcher svg,.recipe-search-field svg{flex:none;width:20px;height:20px}.recipe-search-page{--recipe-search-gutter: clamp(16px, 4vw, 32px);max-width:960px;margin-inline:auto;padding:0 var(--recipe-search-gutter) max(28px,env(safe-area-inset-bottom,0px));color:var(--redesign-ink)}.recipe-search-header{position:sticky;top:0;z-index:5;padding:clamp(16px,4vw,28px) 0 12px;background:var(--redesign-paper)}.recipe-search-header h1{display:flex;align-items:center;gap:9px;margin:0 0 14px;font:700 clamp(1.7rem,4vw,2.3rem)/1.1 var(--redesign-heading);letter-spacing:-.03em}.recipe-search-title-icon{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:10px;background:var(--redesign-sage)}.recipe-search-title-icon svg{width:19px;height:19px}.recipe-search-header form{display:flex;gap:8px;align-items:center}.recipe-search-field{display:flex;flex:1;min-width:0;gap:9px;align-items:center;min-height:48px;padding-inline:11px 4px;border:1px solid var(--color-border-light);border-radius:15px;background:var(--redesign-sage);color:var(--redesign-muted);box-shadow:inset 0 2px 4px #16241118}.recipe-search-field:focus-within{border-color:var(--redesign-muted)}.recipe-search-field input{flex:1;min-width:0;width:100%;min-height:44px;padding:0;border:0;outline:0;color:var(--redesign-ink);background:transparent;font:inherit;font-size:16px}.recipe-search-field input::placeholder{color:var(--redesign-muted)}.recipe-search-field input::-webkit-search-cancel-button{display:none}.recipe-search-page :is(.recipe-search-clear,.recipe-search-cancel,.recipe-search-text-button){flex:none;min-height:44px;padding:0 8px;border:0;border-radius:10px;background:transparent;color:var(--redesign-ink);font:inherit;font-size:.88rem;font-weight:700;cursor:pointer}.recipe-search-page .recipe-search-clear{width:44px;font-size:1.2rem}.recipe-search-page :is(.recipe-search-clear,.recipe-search-cancel,.recipe-search-text-button):hover{background:var(--redesign-oat)}.recipe-search-header>.recipe-search-chip{margin-top:10px}.recipe-search-suggestions,.recipe-search-results{margin-top:14px}.recipe-search-page h2{margin:0 0 8px;font:700 1rem/1.3 var(--font-body, sans-serif)}.recipe-search-section-heading{display:flex;justify-content:space-between;align-items:center}.recipe-search-section-heading h2{margin:0}.recipe-search-suggestion-list{display:grid;gap:5px;list-style:none;margin:0;padding:0}.recipe-search-suggestion-list button{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:10px;min-height:50px;width:100%;align-items:center;text-align:left;padding:5px 8px 5px 6px;border:1px solid transparent;border-radius:13px;background:var(--redesign-oat);color:var(--redesign-card-title);font:inherit;overflow-wrap:anywhere;cursor:pointer;transition:background-color .16s ease,border-color .16s ease}.recipe-search-suggestion-list button:is(:hover,:focus-visible){background:var(--redesign-sage);border-color:var(--color-border-light)}.recipe-search-suggestion-photo,.recipe-search-recent-icon{display:block;width:36px;height:36px;overflow:hidden;border-radius:8px;background:var(--redesign-leaf)}.recipe-search-recent-icon{display:grid;place-items:center;color:var(--redesign-muted)}.recipe-search-recent-icon svg{width:19px;height:19px}.recipe-search-suggestion-photo>img{display:block;width:100%;height:100%;object-fit:cover}.recipe-search-suggestion-photo .recipe-cover-fallback__emoji{font-size:16px}.recipe-search-suggestion-label{display:grid;gap:2px;line-height:1.22;font-size:.9rem;font-weight:700}.recipe-search-suggestion-label small{color:var(--redesign-muted);font-size:.72rem;font-weight:500}.recipe-search-suggestion-arrow{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--redesign-cream);color:var(--redesign-muted);font-size:1.15rem;line-height:1}.recipe-search-chips{display:flex;flex-wrap:wrap;gap:7px}.recipe-search-chip{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:6px 13px;border:0;border-radius:22px;color:var(--redesign-ink);background:var(--redesign-sage);font:inherit;font-size:.85rem;font-weight:700;cursor:pointer}.recipe-search-chip>svg{width:15px;height:15px;flex:none;color:var(--redesign-muted)}.recipe-search-chip:hover,.recipe-search-chip.is-selected{background:var(--redesign-action);color:var(--redesign-action-ink)}html.dark .recipe-search-chip:is(:hover,.is-selected)>svg{color:inherit}.recipe-search-results h2{scroll-margin-top:148px}.recipe-search-result-content>p{color:var(--redesign-muted)}@media (prefers-reduced-motion: no-preference){.recipe-search-result-content.is-changing{opacity:.64;translate:0 -3px;transition:opacity var(--recipe-search-exit-ms) ease-out,translate var(--recipe-search-exit-ms) ease-out}.recipe-search-header form,.recipe-search-suggestion-list li,.recipe-search-favorites{animation:recipe-suggestion-in .18s ease-out}@keyframes recipe-suggestion-in{0%{opacity:.65;translate:0 3px}}}@media (min-width: 760px){.recipe-search-results .recipe-cover-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@container recipe-library-header (max-width: 510px){.recipes-page .recipes-library-title{font-size:clamp(1.55rem,5vw,1.8rem)}.recipe-library-surface .recipes-header-actions .action-btn--header{min-height:44px;padding:8px 10px;font-size:.8rem}.recipe-library-surface .recipes-header-actions .action-btn-icon{width:20px;height:20px}.recipe-library-surface .recipes-header-actions .action-btn-icon svg{width:14px;height:14px}}@container recipe-library-header (max-width: 420px){.recipes-import-action .recipes-header-action-label{display:none}.recipe-library-surface .recipes-header-actions .recipes-import-action{width:44px}}@container recipe-library-header (max-width: 380px){.recipes-page .recipes-library-title{font-size:1.55rem}.recipe-library-surface .recipes-header-actions{gap:6px}.action-btn--add .recipes-header-action-label{display:none}.recipe-library-surface .recipes-header-actions .action-btn--add{width:44px}}.recipes-page .action-btn--add,html.dark .recipes-page .action-btn--add{background:var(--redesign-action);color:var(--redesign-action-ink);box-shadow:none}html.dark .recipes-page .action-btn--add .action-btn-icon{background:#2133211f}.recipe-library-surface .action-btn.recipes-import-action{min-height:48px;border:1px solid color-mix(in srgb,var(--redesign-muted) 48%,transparent);box-shadow:none;color:var(--redesign-ink);background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.recipe-library-surface .action-btn.recipes-import-action:hover{background:var(--redesign-sage)}.recipes-import-action>svg{flex:none;width:17px;height:17px}.recipes-clear-slot{min-width:0;overflow:hidden;opacity:0;transform:translate(-4px);transition:opacity .18s ease,transform .22s ease}.recipes-search-row[data-filters-active=true] .recipes-clear-slot{opacity:1;transform:translate(0)}.recipes-clear-action{display:grid;place-items:center;width:var(--recipes-search-control-size);height:var(--recipes-search-control-size);padding:0;border:1px solid var(--color-border-light);border-radius:50%;background:var(--redesign-oat);color:var(--redesign-ink);cursor:pointer}.recipes-clear-action:hover{background:var(--redesign-sage)}.recipes-clear-action:focus-visible{outline-offset:-3px}.recipes-clear-action svg{width:20px;height:20px}@media (prefers-reduced-motion: reduce){.recipes-search-row,.recipes-clear-slot{transition:none}}@media (prefers-reduced-motion: no-preference){.recipes-page [data-recipe-revealed]{animation:recipe-card-reveal .26s ease-out}}@keyframes recipe-card-reveal{0%{opacity:.72;translate:0 8px}to{opacity:1;translate:0 0}}.recipes-page .action-btn-icon svg{flex:none}.recipes-library-sidebar>.recipes-tag-shortcuts{order:5;display:flex;align-items:center;gap:8px}.recipes-tag-rail{display:flex;flex:1;min-width:0;gap:6px;padding-block:3px;overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain}@media (hover: hover) and (pointer: fine){.recipes-tag-rail{scrollbar-width:thin;scrollbar-color:var(--redesign-muted) transparent;-webkit-user-select:none;user-select:none}}.recipes-tag-trigger{display:inline-flex;flex:none;align-items:center;justify-content:center;gap:7px;margin-left:auto;min-height:44px;padding:7px 13px;border:0;border-radius:13px;color:var(--redesign-ink);background:var(--redesign-sage);font-weight:700;cursor:pointer}.recipes-tag-trigger svg{width:18px;height:18px}.recipes-tag-trigger span{background:var(--redesign-cream);padding:1px 6px;border-radius:10px}.recipe-tag-overlay .bottom-sheet-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.recipe-tag-sheet.bottom-sheet{position:relative;max-width:520px;height:auto;background:var(--redesign-paper);color:var(--redesign-ink);--tag-sheet-gutter: clamp(16px, 4vw, 24px)}html.dark .recipe-tag-sheet{--redesign-paper: var(--bg-dark-page);--redesign-oat: var(--bg-dark-surface-elevated);--redesign-muted: var(--text-dark-secondary)}.recipe-tag-sheet:before{content:"";position:absolute;top:9px;left:calc(50% - 20px);width:40px;height:4px;border-radius:4px;background:var(--redesign-action)}.recipe-tag-sheet .bottom-sheet-content{flex:1 1 auto;height:auto}.recipe-tag-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 var(--tag-sheet-gutter) 12px}.recipe-tag-heading,.recipe-tag-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex:none}.recipe-tag-heading{padding:24px var(--tag-sheet-gutter) 0}.recipe-tag-heading h2{margin:0;font:700 clamp(1.75rem,6vw,2rem)/1.1 var(--redesign-heading);letter-spacing:-.035em}.recipe-tag-heading button{flex:0 0 44px;border:0;border-radius:50%;height:44px;background:var(--redesign-oat);color:inherit;font-size:1.45rem;cursor:pointer}.recipe-tag-search{display:flex;flex:none;align-items:center;gap:9px;min-height:46px;margin:14px var(--tag-sheet-gutter) 8px;padding-inline:12px;border:1px solid var(--color-border-light);border-radius:13px;background:var(--redesign-oat);color:var(--redesign-muted)}.recipe-tag-add{flex:none;display:flex;align-items:center;gap:8px;padding-inline:var(--tag-sheet-gutter);margin:14px 0 8px}.recipe-tag-add .recipe-tag-search{flex:1;min-width:0;margin:0}.recipe-tag-add>button{min-height:44px;max-width:42%;overflow-wrap:anywhere;padding:6px 14px;border:0;border-radius:12px;background:var(--redesign-sage);color:var(--redesign-ink);font-weight:700;cursor:pointer}.recipe-tag-search:focus-within{outline:2px solid var(--redesign-muted);outline-offset:2px}.recipe-tag-search svg{width:19px;height:19px;flex:none}.recipe-tag-search input{width:100%;min-width:0;border:0;outline:0;padding:10px 0;background:transparent;color:var(--redesign-ink);font-size:16px}.recipe-tag-search input::placeholder{color:var(--redesign-muted)}.recipe-tag-list{margin:14px 0 0;display:flex;flex-wrap:wrap;gap:7px}.recipe-tag-list h3,.editor-redesign .suggested-tags h3{width:100%;margin:0 0 2px;font-size:.72rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--redesign-muted)}.recipe-tag-empty{font-size:.85rem;color:var(--redesign-muted)}.recipe-tag-sheet .tag-chip,.recipes-page .recipes-tag-rail .tag-chip{min-height:38px;border:0;border-radius:20px;background:var(--redesign-sage);color:var(--redesign-ink);box-shadow:none}.recipes-page .recipes-tag-rail .tag-chip{flex:none;max-width:none;white-space:nowrap}.recipe-tag-sheet .tag-chip{min-height:42px;max-width:100%;overflow-wrap:anywhere}.recipe-tag-sheet .tag-chip[aria-pressed=true],.recipes-page .recipes-tag-rail .tag-chip[aria-pressed=true]{background:var(--redesign-action);color:var(--redesign-action-ink);box-shadow:inset 0 0 0 1px currentColor}[data-recipe-tone=all]{--recipe-tone: #dbe8d1;--recipe-tone-ink: #2c482b}[data-recipe-tone=breakfast]{--recipe-tone: #fae39c;--recipe-tone-ink: #534014}[data-recipe-tone=lunch]{--recipe-tone: #dce8bc;--recipe-tone-ink: #394a2b}[data-recipe-tone=dinner]{--recipe-tone: #dfe9ef;--recipe-tone-ink: #304c60}[data-recipe-tone=sides]{--recipe-tone: #ebdecb;--recipe-tone-ink: #5b452d}[data-recipe-tone=snack]{--recipe-tone: #eae4f0;--recipe-tone-ink: #4f4260}[data-recipe-tone=dessert]{--recipe-tone: #efdbdf;--recipe-tone-ink: #653e47}[data-recipe-tone=Ingredients]{--recipe-tone: #d6e8dc;--recipe-tone-ink: #2b5140}[data-recipe-tone="Cooking & lifestyle"]{--recipe-tone: #f1e1ca;--recipe-tone-ink: #624921}:is(.recipe-library-surface,.recipe-tag-sheet,.editor-redesign) .tag-chip[data-recipe-tone]{background:color-mix(in srgb,var(--recipe-tone) 65%,var(--redesign-paper));color:var(--recipe-tone-ink);border:0}html.dark :is(.recipe-library-surface,.recipe-tag-sheet,.editor-redesign) .tag-chip[data-recipe-tone]{background:color-mix(in srgb,var(--recipe-tone) 24%,var(--bg-dark-surface));color:color-mix(in srgb,var(--recipe-tone) 55%,var(--text-dark-primary))}:is(.recipe-library-surface,.recipe-tag-sheet) :is(.recipes-filter-chip,.tag-chip)[data-recipe-tone][aria-pressed=true],html.dark :is(.recipe-library-surface,.recipe-tag-sheet) :is(.recipes-filter-chip,.tag-chip)[data-recipe-tone][aria-pressed=true]{background:var(--recipe-tone);color:var(--recipe-tone-ink)}:is(.recipe-library-surface,.recipe-tag-sheet,.editor-redesign) .tag-chip[data-recipe-tone][aria-pressed=true]{box-shadow:inset 0 0 0 1px currentColor}.recipes-tag-rail .tag-chip:focus-visible{outline:2px solid currentColor;outline-offset:-3px}.recipe-tag-footer{flex:none;padding:10px var(--tag-sheet-gutter) max(16px,env(safe-area-inset-bottom,0px));border-top:1px solid var(--color-border-light)}.recipe-tag-count{margin:0 0 8px;font-size:.78rem;color:var(--redesign-muted)}.recipe-tag-actions button{min-height:44px;padding:8px 15px;border:0;border-radius:12px;color:var(--redesign-ink);background:var(--redesign-oat);font-weight:700;cursor:pointer}.recipe-tag-actions button:last-child{flex:1;background:var(--redesign-action);color:var(--redesign-action-ink)}.recipe-tag-actions button:disabled{opacity:.55;cursor:default}.recipes-tag-rail [data-wide-tag]{display:none}@media (min-width: 1000px) and (orientation: landscape){.recipes-page .recipes-tag-rail{flex-wrap:wrap;overflow-x:visible}.recipes-page .recipes-tag-rail .tag-chip{max-width:100%;white-space:normal;overflow-wrap:anywhere}.recipes-page .recipes-tag-rail [data-wide-tag]{display:inline-block}.recipes-page .recipes-tag-trigger{order:-1}}@media (min-width: 760px) and (min-height: 480px){:root{--redesign-shell-max: 1280px;--today-gutter: clamp(18px, 3vw, 36px)}.app-root:has(>.app-content>:is(.today-page,.recipes-page.recipe-library-surface,.recipe-search-page)){--app-root-width: min(100vw, var(--redesign-shell-max));max-width:var(--redesign-shell-max)}.recipes-page.recipe-library-surface{padding-inline:clamp(18px,3vw,36px)}.today-page .today-swipe-region{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(240px,1fr);align-items:start;gap:clamp(16px,2vw,26px)}.today-page .today-overview{--today-overview-inset: clamp(20px, 2.5vw, 32px);grid-column:1 / -1;padding:var(--today-overview-inset)}.today-overview-title{padding-inline-end:112px}.today-header-actions{top:var(--today-overview-inset);right:var(--today-overview-inset)}.today-header-actions .today-shortcut{background:var(--redesign-cream)}.today-header-actions .today-shortcut:hover{background:var(--redesign-action);color:var(--redesign-action-ink)}.today-week-strip{max-width:700px}.today-week-days{gap:6px}.today-week-strip button{min-height:56px;align-content:center}.today-page .today-swipe-region>.meal-list{min-width:0}.today-secondary{display:grid;gap:clamp(16px,2vw,26px);min-width:0}.today-week-preview{display:block;padding:clamp(16px,2vw,25px);border-radius:21px;background:var(--redesign-oat);color:var(--redesign-card-title)}.today-week-preview header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 10px}.today-week-preview h2{margin:0;font:700 clamp(1.4rem,2.3vw,1.9rem)/1.08 var(--redesign-heading);letter-spacing:-.03em}.today-week-preview header button{min-height:44px;border:0;background:transparent;color:var(--redesign-muted);font-size:.8rem;font-weight:700;padding:0;cursor:pointer}.today-week-preview header button:hover{text-decoration:underline}.today-week-preview ul{display:grid;gap:5px;padding:0;margin:10px 0 0;list-style:none}.today-week-preview p{margin:8px 0 0;color:var(--redesign-card-muted);font-size:.85rem}.today-week-meal{width:100%;min-height:64px;display:grid;grid-template-columns:29px clamp(44px,5vw,72px) minmax(0,1fr) 17px;gap:clamp(6px,1vw,12px);align-items:center;padding:8px;text-align:left;border:0;border-radius:14px;background:transparent;color:inherit;cursor:pointer}.today-week-meal[data-current-day],.today-week-meal:hover{background:var(--redesign-leaf)}.today-week-meal-date{display:grid;justify-items:center;font-size:.72rem}.today-week-meal-date strong{font-size:1.02rem}.today-week-meal .today-meal-thumbnail{width:100%;min-height:48px;border-radius:9px}.today-week-meal-name{font-size:.87rem;font-weight:700;overflow-wrap:anywhere}.today-week-meal>svg{width:17px;height:17px}.today-page .today-balance{padding:clamp(16px,2vw,25px);border-radius:21px}.recipes-page .recipe-cover-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 1100px) and (min-height: 480px) and (orientation: landscape){.today-page .today-overview{--today-overview-inset: clamp(26px, 2.4vw, 38px)}.today-overview-title{font-size:clamp(42px,3.4vw,56px)}.today-selected-date{font-size:1rem;margin-block:10px 18px}.today-week-strip{max-width:815px}.today-week-strip button{min-height:clamp(60px,4.5vw,74px);font-size:.83rem}.today-week-strip strong{font-size:1.2rem}.today-week-preview h2{font-size:clamp(1.75rem,2.2vw,2.1rem)}.today-week-meal{min-height:clamp(70px,5.2vw,88px)}.today-week-meal .today-meal-thumbnail{min-height:54px}.today-page .meal-list .today-meal-card:not(.today-meal-featured) .today-meal-header{min-height:clamp(86px,6.7vw,108px)}.today-page .meal-list .today-meal-thumbnail{width:clamp(105px,10vw,146px)}.today-page .today-meal-featured .today-meal-card-body{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 16px 18px 20px}.today-page .today-meal-featured .today-meal-header{min-width:0;padding:0}.today-feature-actions{flex:none;padding:0}.today-feature-actions .today-view-recipe{padding-inline:15px}html:not(.native-navigation-ready):has(.app-content>.today-page){--today-rail-width: clamp(160px, 15vw, 220px);--today-main-max: 1460px}html:not(.native-navigation-ready) .app-root:has(>.app-content>.today-page){max-width:none;padding-inline-start:var(--today-rail-width)}html:not(.native-navigation-ready) .app-content>.today-page{max-width:var(--today-main-max);margin-inline:auto;padding-top:var(--today-gutter)}html:not(.native-navigation-ready) .today-page .today-header{display:none}html:not(.native-navigation-ready) .today-desktop-nav{inset:0 auto 0 0;width:var(--today-rail-width)}html:not(.native-navigation-ready) .today-desktop-nav .bottom-nav-bar{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:7px;padding:var(--today-gutter) 12px 16px;border:0;border-inline-end:1px solid var(--color-border-light);border-radius:0;background:var(--redesign-cream);box-shadow:none;overflow-y:auto}html:not(.native-navigation-ready) .today-desktop-nav .today-desktop-brand{display:flex;margin:4px 4px 22px;align-items:center}.today-desktop-brand .today-brand-logo{flex:none}.today-desktop-brand .today-brand-text{color:var(--redesign-ink);font:700 clamp(1.1rem,2vw,1.55rem)/1.05 var(--redesign-heading)}html:not(.native-navigation-ready) .today-desktop-nav .nav-item{flex-direction:row;justify-content:flex-start;gap:8px;min-height:48px;padding:5px 9px;border-radius:13px;text-transform:none;letter-spacing:0;font-size:.92rem;color:var(--redesign-card-muted)}html:not(.native-navigation-ready) .today-desktop-nav :is(.nav-item-active,.nav-item:hover){background:var(--redesign-leaf);color:var(--redesign-ink)}html:not(.native-navigation-ready) .today-desktop-nav .nav-item-active .nav-icon{background:transparent;color:inherit;box-shadow:none}html:not(.native-navigation-ready) .today-tips-launcher{left:16px;bottom:16px;z-index:51}}@media (min-width: 800px) and (min-height: 480px) and (orientation: landscape){html:not(.native-navigation-ready) .recipes-page.recipe-library-surface{grid-template-columns:clamp(160px,21vw,220px) minmax(0,1fr);align-items:start;gap:clamp(16px,2vw,24px)}html:not(.native-navigation-ready) .recipes-page .recipes-library-sidebar{display:flex;flex-direction:column;gap:10px;position:sticky;top:16px;max-height:calc(100dvh - var(--bottom-nav-clearance) - 24px);overflow-y:auto;scrollbar-width:thin;padding:2px;min-width:0}html:not(.native-navigation-ready) .recipes-page .recipes-library-sidebar>*{flex-shrink:0}html:not(.native-navigation-ready) .recipes-page .recipes-library-main{display:grid;min-width:0;gap:16px}html:not(.native-navigation-ready) .recipes-page .recipes-library-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px}html:not(.native-navigation-ready) .recipes-page .recipes-library-toolbar>.page-header{flex:1 1 auto;margin:0}html:not(.native-navigation-ready) .recipes-page .recipes-filter-bar{flex-direction:column;align-items:stretch;gap:2px;overflow:visible}html:not(.native-navigation-ready) .recipes-page .recipes-filter-chip{width:100%;min-height:44px;justify-content:flex-start;padding:8px 12px;border-radius:12px;font-size:1rem}html:not(.native-navigation-ready) .recipes-page .recipes-filter-chip--icon{flex-direction:row-reverse;justify-content:flex-end;gap:8px}html:not(.native-navigation-ready) .recipes-page .recipes-filter-sidebar-label{display:inline}html:not(.native-navigation-ready) .recipes-page :is(.recipes-filter-bar-rail,.recipes-fab){display:none}.recipes-page .recipes-library-sidebar>.recipes-tag-shortcuts{flex-direction:column;align-items:stretch}.recipes-page .recipes-tag-trigger{margin-left:0}.recipes-page .recipes-tag-rail{flex:none}}html.native-navigation-ready.native-recipe-library-sidebar .recipes-page.recipe-library-surface{--library-card-min: calc(166px * var(--native-text-scale, 1))}@media (min-width: 760px) and (orientation: landscape){.recipe-tag-overlay.bottom-sheet-overlay{align-items:stretch;justify-content:flex-end;padding:12px}.recipe-tag-overlay .recipe-tag-sheet{width:min(440px,80vw);height:100%;max-height:none;border-radius:22px}.recipe-tag-overlay .recipe-tag-sheet:not(.is-open){transform:translate3d(0,calc(100% + 12px),0)}}@media (prefers-reduced-motion: reduce){.recipe-tag-overlay :is(.bottom-sheet,.bottom-sheet-backdrop){transition:none}}.today-page.today-page--tips{padding-bottom:calc(max(var(--bottom-nav-clearance),env(safe-area-inset-bottom,0px)) + 68px)}.today-tips-launcher{position:fixed;left:calc(max((100vw - var(--redesign-shell-max)) / 2,env(safe-area-inset-left,0px)) + var(--today-gutter));bottom:calc(max(var(--bottom-nav-clearance),env(safe-area-inset-bottom,0px)) + 12px);z-index:45;display:grid;place-items:center;width:48px;height:48px;padding:0;border-radius:50%;border:1px solid var(--redesign-cream);color:var(--redesign-ink);background:var(--redesign-leaf);box-shadow:0 4px 14px #24362220;cursor:pointer}html.native-navigation-ready .today-tips-launcher{left:calc(env(safe-area-inset-left,0px) + var(--today-gutter))}html.chat-open .today-tips-launcher{visibility:hidden}.today-tips-launcher:hover{background:var(--redesign-action);color:var(--redesign-action-ink)}.today-tips-launcher svg,.today-tips-sheet-icon svg{width:23px;height:23px}.today-tips-sheet.bottom-sheet{height:auto;background:var(--redesign-paper);color:var(--redesign-ink)}.today-tips-sheet.bottom-sheet.is-open{animation:today-tips-rise .24s ease-out}@keyframes today-tips-rise{0%{transform:translateY(40px);opacity:.6}to{transform:translateY(0);opacity:1}}.today-tips-sheet .bottom-sheet-content{flex:1;height:auto;padding-bottom:env(safe-area-inset-bottom,0px)}.today-tips-sheet-header{display:flex;align-items:center;gap:10px;flex:none;margin:14px 16px 6px;padding:9px 11px;border-radius:17px;background:var(--redesign-sage)}.today-tips-sheet-header h2{flex:1;margin:0;font:700 1.65rem/1.1 var(--redesign-heading)}.today-tips-sheet-icon,.today-tips-sheet-header button{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border:0;border-radius:50%;color:var(--redesign-ink);background:var(--redesign-cream)}.today-tips-sheet-header button{font-size:1.45rem;cursor:pointer}.today-tips-sheet .today-tips-panel{min-height:0;padding:0 16px 16px;gap:8px;overflow-y:auto;overscroll-behavior:contain}.today-tips-sheet .today-tips-tabs{position:sticky;top:0;z-index:1;padding-block:7px;gap:6px;background:var(--redesign-paper)}.today-tips-sheet .today-tips-tab{min-height:40px;padding:5px 11px;border:1px solid transparent;color:var(--redesign-ink);background:var(--redesign-oat)}.today-tips-sheet .today-tips-tab.is-active{background:var(--redesign-action);color:var(--redesign-action-ink);border-color:var(--redesign-muted)}.today-tips-sheet .today-tips-card-list{gap:7px}.today-tips-sheet .today-tip-card{padding:12px;gap:5px;border:0;border-radius:14px;background:var(--redesign-oat)}.today-tips-sheet .today-tip-card-title{color:var(--redesign-card-title)}.today-tips-sheet .today-tip-card-body{color:var(--redesign-card-muted)}.today-tips-sheet .today-tip-card-action{min-height:44px;border:0;background:var(--redesign-leaf);color:var(--redesign-ink)}.today-tips-sheet .today-tip-card-action:hover{background:var(--redesign-action);color:var(--redesign-action-ink)}@media (min-width: 760px) and (orientation: landscape){.today-tips-overlay.bottom-sheet-overlay{justify-content:flex-start;padding:0 16px 14px max(16px,calc((100vw - 480px)/2))}html.native-navigation-ready .today-tips-overlay.bottom-sheet-overlay{padding:0 16px 14px}.today-tips-overlay .today-tips-sheet{width:min(440px,90vw);border-radius:22px}}@media (prefers-reduced-motion: reduce){.today-tips-sheet.bottom-sheet.is-open{animation:none}}.recipe-cover-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}.recipe-cover-fallback__image{width:100%;height:100%;object-fit:cover;display:block;user-select:none;-webkit-user-select:none;-webkit-user-drag:none}.recipe-cover-fallback__placeholder{width:100%;height:100%;display:block}.recipe-cover-fallback__emoji{width:100%;height:100%;display:flex;align-items:center;justify-content:center;line-height:1}.recipe-card-context-menu{position:fixed;z-index:1900;width:220px;padding:8px;border-radius:18px;border:1px solid var(--glass-chrome-border);background:var(--glass-chrome-bg-strong);box-shadow:var(--glass-chrome-shadow),var(--glass-chrome-highlight);backdrop-filter:var(--glass-chrome-blur);-webkit-backdrop-filter:var(--glass-chrome-blur);transform:translateY(0);transform-origin:top right;animation:recipe-card-context-menu-in .18s cubic-bezier(.2,.82,.32,1)}@keyframes recipe-card-context-menu-in{0%{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.recipe-card-context-menu{animation:none}}.recipe-card-context-menu-item{width:100%;border:1px solid transparent;background:#ffffff29;border-radius:14px;color:#243147;min-height:48px;padding:0 14px;display:flex;align-items:center;gap:12px;font-size:15px;font-weight:700;text-align:left;cursor:pointer;transition:background-color .14s ease,color .14s ease,transform .14s ease}.recipe-card-context-menu-item:hover,.recipe-card-context-menu-item:focus-visible{background:#ffffff52;outline:none}.recipe-card-context-menu-item:active{transform:scale(.985)}.recipe-card-context-menu-item:disabled{opacity:.52;cursor:default;transform:none}.recipe-card-context-menu-item:disabled:hover,.recipe-card-context-menu-item:disabled:focus-visible{background:#ffffff29}.recipe-card-context-menu-item--danger{color:#a83a46}.recipe-card-context-menu-item--danger:hover,.recipe-card-context-menu-item--danger:focus-visible{background:#d14e621f}.recipe-card-context-menu-icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 18px}.recipe-card-context-menu-icon svg{width:18px;height:18px;display:block}html.dark .recipe-card-context-menu{border-color:#788aa83d;background:linear-gradient(180deg,#182030fa,#121927f7);box-shadow:0 18px 40px #0000006b,inset 0 1px #ffffff0f}html.dark .recipe-card-context-menu-item{background:transparent;border-color:transparent;color:#f0f5fbf5}html.dark .recipe-card-context-menu-item:hover,html.dark .recipe-card-context-menu-item:focus-visible{background:#ffffff14}html.dark .recipe-card-context-menu-item:disabled:hover,html.dark .recipe-card-context-menu-item:disabled:focus-visible{background:transparent}html.dark .recipe-card-context-menu-item--danger{color:#ff9aa7}html.dark .recipe-card-context-menu-item--danger:hover,html.dark .recipe-card-context-menu-item--danger:focus-visible{background:#ff7a901f}.bottom-sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;justify-content:center;align-items:flex-end;padding-bottom:var(--keyboard-inset, 0px);z-index:2200;pointer-events:none}.native-ios-shell .bottom-sheet-overlay{padding-bottom:0}.bottom-sheet-overlay.is-open{pointer-events:auto}.bottom-sheet-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000;opacity:0;transition:opacity .25s ease}.bottom-sheet-overlay.has-backdrop .bottom-sheet-backdrop{background:#00000052}.bottom-sheet-overlay.is-open .bottom-sheet-backdrop{opacity:1}.bottom-sheet{width:100%;max-width:min(100vw,480px);max-height:calc(var(--vv-height, 100vh) * var(--bottom-sheet-max-height-mult, .9));height:calc(var(--vv-height, 100vh) * var(--bottom-sheet-max-height-mult, .9));background:var(--color-bg, #fff);border-radius:26px 26px 0 0;box-shadow:0 -24px 50px #0f172a33;overflow:hidden;display:flex;flex-direction:column;min-height:0;will-change:transform;transform:translate3d(0,calc(100% + var(--bottom-sheet-drag-offset, 0px)),0);transition:transform var(--bottom-sheet-transition-ms, .5s) cubic-bezier(.3,.75,.4,1)}.bottom-sheet.is-open{transform:translate3d(0,var(--bottom-sheet-drag-offset, 0px),0)}.bottom-sheet.is-dragging{transition:none}.native-ios-shell .bottom-sheet.grocery-sheet{max-height:calc(100dvh - env(safe-area-inset-top,0px) - 10px);height:calc(100dvh - env(safe-area-inset-top,0px) - 10px);background:var(--app-bg)}.native-ios-shell .bottom-sheet-content.grocery-sheet-content{padding-bottom:0;background:var(--app-bg)}.bottom-sheet-content{display:flex;flex-direction:column;min-height:0;height:100%;padding-bottom:env(safe-area-inset-bottom)}body.body--scroll-locked{overscroll-behavior:none}.recipe-icon-wrap{display:inline-flex;align-items:center;justify-content:center;background-color:#86efac40;border-radius:12px;padding:6px;line-height:1}.recipe-icon-image{width:1em;height:1em;object-fit:contain;display:block}.recipe-icon-placeholder{width:1em;height:1em;display:block;border-radius:.2em;background:currentColor;opacity:.2}.add-planner-sheet{background:#f8f8f3;height:auto}.bottom-sheet.add-planner-sheet{transform:translate3d(0,calc(var(--vv-height, 100vh) + var(--bottom-sheet-drag-offset, 0px)),0)}.bottom-sheet.add-planner-sheet.is-open{transform:translate3d(0,var(--bottom-sheet-drag-offset, 0px),0)}.add-planner-sheet-content{padding:14px}.ap-sheet-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 6px 4px}.ap-sheet-title{font-size:18px;font-weight:900;letter-spacing:-.02em;color:#0b1221;text-align:left;padding:0 6px}.ap-sheet-icon{width:auto;height:auto;border-radius:0;border:none;background:transparent;color:var(--color-primary);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.ap-sheet-icon svg{display:block}.add-planner-shell{display:flex;flex-direction:column;height:100%;min-height:0}.add-planner-content{display:flex;flex-direction:column;gap:12px;flex:1;min-height:0;overflow:auto;padding-bottom:12px}.add-planner-content.keyboard-scroll-container{--keyboard-scroll-base-padding: 12px;--keyboard-scroll-extra-offset: 12px;--keyboard-scroll-top-margin: 12px}.native-ios-shell.keyboard-open .add-planner-content.keyboard-scroll-container{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}.ap-group{background:#fff;border:1px solid rgba(225,217,204,.8);border-radius:18px;padding:12px}.ap-group-title{font-size:13px;font-weight:800;color:#0b1221;letter-spacing:.02em;text-transform:uppercase;margin-bottom:10px}.ap-recipe{padding:10px 12px}.ap-recipe-row{display:flex;align-items:center;gap:10px}.ap-recipe-icon{width:44px;height:44px;border-radius:14px;overflow:hidden;flex-shrink:0}.ap-recipe-meta{min-width:0;display:flex;flex-direction:column;gap:2px}.ap-recipe-label{font-size:12px;font-weight:700;color:#0b1221}.ap-recipe-title{font-size:15px;font-weight:800;letter-spacing:-.01em;color:var(--color-text-main);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.ap-segmented{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:2px;padding:2px;border-radius:14px;background:#f5f0e8;border:1px solid rgba(148,163,184,.22)}.ap-seg-thumb{position:absolute;top:2px;bottom:2px;left:2px;width:calc((100% - 6px)/4);border-radius:12px;background:var(--color-primary);box-shadow:0 8px 18px #0f172a1f;transition:transform .22s cubic-bezier(.22,1,.36,1),opacity .18s ease;pointer-events:none}.ap-segmented--mult{grid-template-columns:repeat(var(--ap-serving-options, 3),minmax(0,1fr))}.ap-seg-thumb--mult{width:calc((100% - 4px - (var(--ap-serving-options, 3) - 1) * 2px) / var(--ap-serving-options, 3))}.ap-seg{position:relative;z-index:1;border:none;background:transparent;padding:10px 8px;border-radius:12px;font-weight:800;font-size:13px;color:#575d67f2;cursor:pointer;transition:color .16s ease}.ap-seg.is-active{color:#0f172a}.ap-seg:active{transform:translateY(1px)}.ap-cell{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;border-radius:14px;background:#ffffffbf;border:1px solid rgba(225,217,204,.85)}.ap-cell-left{font-weight:800;color:var(--color-text-main);font-size:14px}.ap-cell-right{display:inline-flex;align-items:center;gap:8px;font-weight:800;color:var(--color-text-main);font-size:14px}.ap-cell-right.is-placeholder{color:#6c7481d9}.ap-cell-icon{color:#6c7481e6;display:inline-flex}.ap-date-overlay{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.001;cursor:pointer;border:none;background:transparent;z-index:2;width:100%;height:100%}.ap-footnote{margin-top:10px;font-size:12px;color:var(--color-text-muted)}.ap-stepper{display:inline-flex;align-items:center;border-radius:14px;overflow:hidden;border:1px solid rgba(148,163,184,.25);background:#ffffffd9}.ap-stepper-btn{width:40px;height:34px;border:none;background:transparent;font-size:20px;font-weight:800;color:var(--color-text-main);cursor:pointer}.ap-stepper-btn:disabled{opacity:.35;cursor:not-allowed}.ap-stepper-btn:active:not(:disabled){background:#94a3b81f}.ap-stepper-value{min-width:52px;text-align:center;font-weight:900;font-size:14px;color:var(--color-text-main)}.add-planner-footer{margin-top:auto;padding-top:12px;border-top:1px solid rgba(225,217,204,.85);display:flex;flex-direction:row;gap:10px;align-items:center}.ap-cta{flex:1;border:none;border-radius:16px;padding:14px 16px;font-weight:900;font-size:15px;letter-spacing:-.01em;background:#a4c1a2;color:#0f172a;box-shadow:0 14px 30px #1f2a3629;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease}.ap-cta:active:not(:disabled){transform:translateY(1px);box-shadow:0 10px 22px #1f2a3624}.ap-cta:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.ap-cancel{flex:1;border-radius:16px;padding:14px 16px;font-weight:900;font-size:15px;letter-spacing:-.01em;border:1px solid rgba(148,163,184,.35);background:#ffffffa6;color:var(--color-text-main);cursor:pointer}.ap-cancel:active{transform:translateY(1px);background:#94a3b824}html.dark .add-planner-sheet{background:linear-gradient(180deg,#121b2afa,#0c1321fa);color:var(--text-dark-primary)}html.dark .ap-group{background:#10192dbf;border-color:#30405c99;box-shadow:0 16px 40px #00000059}html.dark .ap-sheet-title,html.dark .ap-group-title,html.dark .ap-recipe-label,html.dark .ap-recipe-title,html.dark .ap-cell-left,html.dark .ap-cell-right,html.dark .ap-stepper-btn,html.dark .ap-stepper-value,html.dark .ap-footnote,html.dark .ap-cancel{color:var(--text-dark-primary)}html.dark .ap-sheet-icon{color:#9fc4a0}html.dark .ap-segmented{background:#30405c59;border-color:#30405c8c}html.dark .ap-seg-thumb{background:#9fc4a0;box-shadow:0 14px 26px #00000059}html.dark .ap-seg{color:#9fb1c9e6}html.dark .ap-seg.is-active{color:#0b1221}html.dark .ap-cell{background:#10192db8;border-color:#30405c8c}html.dark .ap-cell-right{color:#e2e8f0eb}html.dark .ap-cell-right.is-placeholder,html.dark .ap-cell-icon{color:#9fb1c9d9}html.dark .ap-stepper{background:#10192dcc;border-color:#30405c8c}html.dark .ap-stepper-btn:active:not(:disabled){background:#9fc4a01f}html.dark .add-planner-footer{border-top-color:#30405c99}html.dark .ap-cta{background:#9fc4a0;color:#0b1221;box-shadow:0 18px 46px #0006}html.dark .ap-cancel{background:#121d2edb;border-color:#3f5474cc;box-shadow:inset 0 1px #ffffff08}html.dark .ap-cancel:active{background:#213048e6}@media (prefers-reduced-motion: reduce){.ap-seg-thumb,.ap-cta{transition:none}}.cook-mode-page.cook-mode-redesign{gap:10px;background:var(--redesign-paper);color:var(--redesign-card-title)}html .cook-mode-redesign .cook-mode-header{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:clamp(8px,2.2vw,16px);min-height:72px;margin:0 0 4px;padding:12px 4px;background:var(--redesign-paper)}.cook-mode-redesign .cook-mode-header .cook-ask-ai{justify-self:end}.cook-header-close{display:grid;place-items:center;width:48px;height:48px;padding:0;border:0;border-radius:50%;background:var(--redesign-oat);color:var(--redesign-ink);cursor:pointer}.cook-header-close:hover{background:var(--redesign-leaf)}.cook-header-close:focus-visible{outline:2px solid var(--redesign-muted);outline-offset:2px}.cook-mode-redesign .cook-title{color:var(--redesign-card-title);font:700 clamp(1.2rem,4vw,1.9rem)/1.12 var(--redesign-heading);text-shadow:none;max-width:none;overflow-wrap:anywhere}.cook-mode-redesign .cook-ask-ai,.cook-mode-redesign .cook-timer-toggle,.cook-mode-redesign .cook-nav-btn{background:var(--redesign-oat);border-color:transparent;color:var(--redesign-ink);box-shadow:none}.cook-mode-redesign .cook-nav-btn.primary{background:var(--redesign-action);color:var(--redesign-action-ink)}.cook-mode-redesign .cook-body{gap:20px;min-width:0}.cook-mode-redesign .cook-section.cook-reading-pane{min-width:0;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent}.cook-recipe-photo{position:relative;isolation:isolate;display:grid;align-items:end;min-height:clamp(195px,54vw,285px);margin-bottom:14px;overflow:hidden;border-radius:16px;background:var(--redesign-oat)}.cook-recipe-photo>:is(img,.recipe-cover-fallback){position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.cook-recipe-photo>img{display:block;object-fit:cover}.cook-mode-redesign .cook-recipe-photo .cook-title{padding:32px 16px 14px;background:linear-gradient(transparent,#16120ee8 60%);color:#fff;text-align:left}.cook-mode-redesign .cook-step-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:6px;color:var(--redesign-muted);font-size:.86rem}.cook-serving-label{margin-left:auto;font-weight:500}.cook-reset-link{min-height:36px;padding-inline:8px;border:0;border-radius:9px;background:transparent;color:var(--redesign-muted);font:inherit;font-weight:700;cursor:pointer}.cook-reset-link:hover{background:var(--redesign-oat)}.cook-mode-redesign .cook-progress{margin-bottom:10px;background:var(--redesign-oat)}.cook-mode-redesign .cook-progress-bar{background:var(--redesign-action)}.cook-mode-redesign .cook-step-wrap .cook-step-card{background:transparent;border:0;padding:3px 56px 6px 0;min-height:64px}.cook-mode-redesign .cook-step-text{color:var(--redesign-card-title);font:700 clamp(1.35rem,3.1vw,2rem)/1.26 var(--redesign-heading);overflow-wrap:anywhere}.cook-mode-redesign .cook-step-list-toggle{width:44px;height:44px;right:0;top:0;background:var(--redesign-oat);color:var(--redesign-ink);border:0}.cook-mode-redesign .cook-timer-nudge{right:4px;bottom:auto;top:49px}.cook-mode-redesign .cook-step-wrap:has(.cook-timer-nudge){min-height:90px}.cook-mode-redesign .cook-section.cook-ingredients-panel{padding-top:14px;border-top:1px solid var(--color-border-light)}.cook-mode-redesign .cook-ingredients-head{justify-content:space-between}.cook-ingredients-head h2{margin:0;color:var(--redesign-card-title);font:700 1.35rem var(--redesign-heading)}.cook-mode-redesign .cook-ingredients-head .cook-ingredients-toggle-all{min-height:40px;border-color:transparent;background:var(--redesign-action);color:var(--redesign-action-ink)}.cook-mode-redesign .cook-ingredients-body{max-height:none;overflow:visible}.cook-mode-redesign .cook-ingredient{min-height:44px;margin:0;padding:7px 10px}.cook-ingredient-copy{min-width:0;overflow-wrap:anywhere}.cook-ingredient-text{background:linear-gradient(currentColor,currentColor) left center / 0% 1px no-repeat;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:background-size .26s ease,opacity .18s ease}.cook-mode-redesign .cook-ingredient--done span{text-decoration:none;opacity:1}.cook-mode-redesign .cook-ingredient--done .cook-ingredient-text{background-size:100% 1px;opacity:.65}@media (prefers-reduced-motion: reduce){.cook-ingredient-text{transition:none}}.cook-mode-redesign .cook-ingredient--highlight{background:var(--redesign-sage);box-shadow:inset 3px 0 var(--redesign-action)}.cook-mode-redesign .cook-ingredient input{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:0 0 21px;width:21px;height:21px;margin:0;border:1.5px solid var(--redesign-muted);border-radius:50%;display:grid;place-items:center}.cook-mode-redesign .cook-ingredient input:checked{background:var(--redesign-action);border-color:var(--redesign-action);color:var(--redesign-action-ink)}.cook-mode-redesign .cook-ingredient input:checked:after{content:"✓";font-weight:700}.cook-mode-redesign .cook-footer{background:transparent;pointer-events:none;z-index:3}.cook-mode-redesign .cook-footer button{pointer-events:auto}.cook-mode-redesign .cook-complete-bar{background:var(--redesign-paper);z-index:3}html.native-expanded .cook-mode-redesign .cook-body{grid-template-rows:minmax(0,1fr)}html.native-expanded .cook-mode-redesign .cook-reading-pane{align-self:stretch}@media (min-width: 760px) and (orientation: landscape){.bottom-sheet.cook-mode-sheet{max-width:none}.cook-mode-page.cook-mode-redesign{overflow:hidden;min-height:0;padding-inline:max(clamp(16px,2.5vw,36px),env(safe-area-inset-left),env(safe-area-inset-right))}html .cook-mode-redesign .cook-mode-header{flex-shrink:0;min-height:60px;padding-block:6px}.cook-recipe-photo{min-height:clamp(108px,24dvh,190px)}.cook-mode-redesign .cook-body{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr);flex:1 1 0;min-height:0;gap:clamp(16px,3vw,38px)}.cook-mode-redesign .cook-section.cook-reading-pane{min-height:0;padding:0 5px 12px;overflow:hidden auto;overscroll-behavior-y:contain}.cook-mode-redesign .cook-section.cook-ingredients-panel{padding-inline-start:clamp(12px,2vw,24px);border-top:0;border-left:1px solid var(--color-border-light)}.cook-mode-redesign .cook-step-wrap{display:flex;justify-content:space-between;align-items:center;gap:8px}.cook-mode-redesign .cook-step-wrap:has(.cook-timer-nudge){min-height:0}.cook-mode-redesign .cook-timer-nudge{position:static;margin-inline-start:auto}.cook-instructions-title{margin:0;color:var(--redesign-card-title);font:700 1.35rem var(--redesign-heading)}.cook-mode-redesign .cook-all-steps-list{max-height:none;overflow:visible;padding:3px;margin:-3px}.cook-mode-redesign .cook-all-steps-inner{overflow:visible}.cook-mode-redesign .cook-footer,.cook-mode-redesign .cook-complete-bar{flex-shrink:0}}.recipe-standalone-timer{display:inline-flex;align-items:center;gap:6px;margin-inline-start:auto;padding-inline:10px;border-radius:12px;background:var(--redesign-oat);white-space:nowrap;font-variant-numeric:tabular-nums}.bottom-sheet.kitchen-timer-sheet,.bottom-sheet.cook-timer-redesign{max-width:min(100%,540px);background:var(--redesign-paper);color:var(--redesign-ink);--tag-sheet-gutter: 20px}.bottom-sheet.kitchen-timer-sheet{height:auto}.kitchen-timer-body{padding:16px 20px 20px;min-height:0;overflow:auto}html .recipe-tag-overlay.timer-drawer-overlay .bottom-sheet.cook-timer-redesign,html .timer-drawer-overlay .cook-timer-redesign .cook-timer-sheet-content{height:auto}.cook-timer-redesign .cook-timer-panel{height:auto;gap:20px;padding:10px clamp(16px,4.5vw,24px) 20px;overflow-y:auto;background:var(--redesign-cream);color:var(--redesign-ink)}.cook-timer-redesign .cook-timer-panel:before{content:"";align-self:center;flex:0 0 4px;width:42px;border-radius:99px;background:var(--timer-control-edge)}.cook-timer-redesign .cook-timer-panel-header{display:flex;flex:none;justify-content:space-between}.cook-timer-panel-eyebrow{margin-bottom:4px;color:var(--redesign-muted);font-size:.68rem;font-weight:750;letter-spacing:.13em;text-transform:uppercase}.cook-timer-redesign .cook-timer-panel-title{margin:0;color:var(--redesign-card-title);font:700 1.9rem/1.12 var(--redesign-heading);text-align:left}.cook-timer-redesign .cook-timer{display:flex;flex:none;gap:0;padding:0;overflow:visible;background:transparent;border:0;box-shadow:none}.timer-drawer-overlay{--timer-control-shine: linear-gradient(180deg, rgb(255 255 255 / .48), transparent 68%);--timer-control-edge: color-mix(in srgb, var(--redesign-muted) 22%, transparent)}html.dark .timer-drawer-overlay{--timer-control-shine: linear-gradient(180deg, rgb(255 255 255 / .13), transparent 68%)}html .timer-drawer-overlay :is(.cook-timer-redesign .timer-drawer-close,.cook-tone-trigger,.cook-tone-options button,.cook-mini-timer-btn){background-image:var(--timer-control-shine);box-shadow:inset 0 0 0 1px var(--timer-control-edge),var(--glass-chrome-highlight)}.timer-drawer-overlay .timer-drawer-close{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background-color:var(--redesign-oat);color:var(--redesign-ink);font:500 1.5rem/1 system-ui;cursor:pointer}.cook-tone-picker{flex:1 1 auto}.cook-tone-trigger{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding-inline:12px;border:0;border-radius:13px;background-color:var(--redesign-oat);color:var(--redesign-ink);cursor:pointer}.cook-tone-label{color:var(--redesign-muted);font-size:.75rem}.cook-tone-options:not([hidden]){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:5px;margin-top:6px;border:1px solid var(--timer-control-edge);border-radius:14px;background:var(--redesign-cream)}.cook-tone-options button{display:flex;align-items:center;justify-content:space-between;gap:5px;min-height:44px;padding:5px 9px;border:0;border-radius:9px;background-color:var(--redesign-oat);color:var(--redesign-ink);font:650 .8rem/1.2 system-ui;cursor:pointer}.cook-tone-options button[aria-pressed=true]{background-color:var(--redesign-action);color:var(--redesign-action-ink)}.cook-timer-redesign .cook-timer-header{align-items:flex-start}.cook-timer-redesign .cook-timer-queue-pill{margin-top:9px}.cook-timer-redesign .cook-active-timers{margin-top:8px}html .timer-drawer-overlay .cook-timer-redesign .cook-timer-panel{overflow-y:auto}html .timer-drawer-overlay .cook-timer-redesign .cook-timer-panel>.cook-timer{flex:none;overflow:visible}@media (min-width: 760px) and (orientation: landscape){.recipe-tag-overlay.timer-drawer-overlay.bottom-sheet-overlay{--timer-side-gap: clamp(14px, 2vw, 24px);align-items:flex-end;justify-content:flex-end;padding:var(--timer-side-gap);padding-right:max(var(--timer-side-gap),env(safe-area-inset-right));padding-bottom:calc(max(var(--timer-side-gap),env(safe-area-inset-bottom)) + var(--keyboard-inset, 0px))}html .recipe-tag-overlay.timer-drawer-overlay .bottom-sheet:is(.cook-timer-redesign,.kitchen-timer-sheet){width:min(540px,calc(100% - var(--timer-side-gap)));height:auto;max-height:calc(var(--vv-height, 100dvh) - 2 * var(--timer-side-gap));border-radius:28px;transform:translate3d(0,calc(100% + max(var(--timer-side-gap),env(safe-area-inset-bottom)) + var(--keyboard-inset, 0px)),0)}html .recipe-tag-overlay.timer-drawer-overlay .bottom-sheet.is-open{transform:translateZ(0)}}.timer-duration-display{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:9px 14px;background:var(--redesign-sage);color:var(--redesign-ink);border-radius:14px;font-weight:700}.timer-duration-digits,.kitchen-timer-countdown strong{display:flex;align-items:center;font-size:clamp(1.45rem,6vw,2rem);font-weight:750;font-variant-numeric:tabular-nums}.timer-duration-digits input{width:3ch;min-height:44px;padding:0;border:0;border-radius:6px;background:transparent;color:inherit;text-align:center;font:inherit}.timer-duration-digits input::placeholder{color:var(--redesign-muted);opacity:1}.timer-duration-presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:12px 0}.timer-duration-presets button,.kitchen-timer-actions button{min-height:44px;padding:6px;border:0;border-radius:11px;background:var(--redesign-oat);color:var(--redesign-ink);font:inherit;font-size:.82rem;font-weight:700;cursor:pointer}.timer-duration-presets [aria-pressed=true],.kitchen-timer-actions button:last-child,.cook-timer-redesign .cook-timer-controls .primary{background:var(--redesign-action);color:var(--redesign-action-ink)}.kitchen-timer-actions{display:flex;gap:8px;margin-top:12px}.kitchen-timer-actions button{flex:1;min-height:48px;border-radius:13px}.kitchen-timer-actions button:disabled{background:var(--redesign-sage);color:var(--redesign-muted);cursor:default}.kitchen-timer-sheet .recipe-tag-heading .timer-drawer-close{border-radius:13px;background:var(--redesign-oat);color:var(--redesign-ink)}.kitchen-timer-sheet .timer-duration-presets button{border:1px solid var(--timer-control-edge);border-radius:12px}.kitchen-timer-sheet .timer-drawer-close:hover,.kitchen-timer-sheet .timer-duration-presets button[aria-pressed=false]:hover{background:var(--redesign-sage)}.kitchen-timer-countdown{margin-bottom:12px}.cook-timer-redesign .timer-duration-display{min-height:72px;padding-inline:clamp(14px,4vw,20px);border-radius:16px;color:var(--redesign-muted)}.cook-timer-redesign .timer-duration-digits input{color:var(--redesign-ink)}.cook-timer-redesign .timer-duration-digits input::placeholder{color:inherit}.timer-duration-preset-label{margin-top:18px;color:var(--redesign-muted);font-size:.82rem;font-weight:750}.cook-timer-redesign .timer-duration-presets{margin:10px 0 18px}.cook-timer-redesign .timer-duration-presets button{border:1px solid var(--timer-control-edge)}.cook-timer-redesign .cook-timer-controls{grid-template-columns:minmax(0,1fr) minmax(0,1.78fr);gap:10px;margin-bottom:8px}.cook-timer-redesign .cook-timer-controls .cook-timer-btn{min-height:48px;border-radius:12px}.cook-timer-redesign .cook-timer-controls .ghost{background:transparent;color:var(--redesign-card-title)}.cleanup-success-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3200;display:flex;align-items:center;justify-content:center;pointer-events:none}.cleanup-success-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 42%,rgba(255,245,227,.34) 0%,rgba(255,245,227,.08) 24%,transparent 56%),#11182714;animation:cleanupSuccessFade 1.55s ease forwards}.cleanup-success-card{position:relative;min-width:min(260px,calc(100vw - 44px));max-width:320px;padding:20px 22px 18px;border-radius:28px;border:1px solid rgba(245,222,179,.92);background:linear-gradient(180deg,#fffaeffa,#fff4def2);box-shadow:0 24px 50px #7859252e,inset 0 1px #ffffffe0;text-align:center;overflow:hidden;animation:cleanupSuccessPop 1.55s cubic-bezier(.22,1,.36,1) forwards}.cleanup-success-glow{position:absolute;inset:-24% 14% auto;height:120px;border-radius:999px;background:radial-gradient(circle,rgba(255,220,153,.52) 0%,transparent 72%);opacity:.85}.cleanup-success-icon-shell{position:relative;width:86px;height:86px;margin:0 auto 12px;border-radius:28px;display:inline-flex;align-items:center;justify-content:center;color:#8b5a20;background:linear-gradient(180deg,#ffffffd6,#fff1d4e6);box-shadow:inset 0 1px #fffffff2,0 14px 26px #ad7a3126}.cleanup-success-icon{width:56px;height:56px;animation:cleanupSuccessSweep .9s ease-out .12s both}.cleanup-success-title{position:relative;color:#24180d;font-size:20px;font-weight:800;letter-spacing:-.02em}.cleanup-success-message{position:relative;margin-top:5px;color:#3a2a16c7;font-size:14px;line-height:1.4;font-weight:600}@keyframes cleanupSuccessPop{0%{opacity:0;transform:translateY(18px) scale(.86);filter:blur(8px)}18%{opacity:1;transform:translateY(-3px) scale(1.02);filter:blur(0)}72%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-10px) scale(.96)}}@keyframes cleanupSuccessFade{0%{opacity:0}14%{opacity:1}78%{opacity:1}to{opacity:0}}@keyframes cleanupSuccessSweep{0%{transform:rotate(-18deg) translate(-6px)}50%{transform:rotate(10deg) translate(5px)}to{transform:rotate(0) translate(0)}}html.dark .cleanup-success-backdrop{background:radial-gradient(circle at 50% 42%,rgba(255,232,190,.16) 0%,rgba(255,232,190,.04) 24%,transparent 56%),#02061733}html.dark .cleanup-success-card{border-color:#ffdca44d;background:linear-gradient(180deg,#261c0ff7,#1a1209f7);box-shadow:0 24px 50px #00000057,inset 0 1px #fff5dc14}html.dark .cleanup-success-icon-shell{color:#ffd089;background:linear-gradient(180deg,#4d391df0,#352612f5);box-shadow:inset 0 1px #fff1d414,0 14px 26px #00000040}html.dark .cleanup-success-title{color:#fff3dc}html.dark .cleanup-success-message{color:#ffeac7c2}.recipe-detail-page{--keyboard-scroll-base-padding: 12px;--keyboard-scroll-extra-offset: 20px;--keyboard-scroll-top-margin: 16px;--recipe-detail-header-top: max(0px, calc(var(--app-safe-top, 0px) - 44px));padding:0 8px 28px!important;margin:0;width:100%;min-height:100%;display:flex;flex-direction:column;gap:0;background:var(--app-bg);position:relative;box-sizing:border-box}.recipe-detail-content{display:flex;flex-direction:column;gap:10px}.recipe-plan-links-card{display:flex;flex-direction:column;gap:12px}.recipe-plan-links-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.recipe-plan-links-list{display:flex;flex-wrap:wrap;gap:10px}.recipe-plan-link-btn,.recipe-plan-link-add{border-radius:999px;font-weight:700}.recipe-plan-link-btn{border:1px solid rgba(143,190,154,.3);background:#8fbe9a1f;color:var(--color-text-main);padding:10px 14px;text-align:left}.recipe-plan-link-add{border:1px dashed rgba(111,159,123,.5);background:#8fbe9a14;color:#42624b;padding:8px 14px}.recipe-plan-links-empty{color:var(--color-text-muted);font-size:14px}.recipe-detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:none;background:rgba(var(--recipe-detail-overlay-rgb, 15, 23, 42),calc(var(--recipe-detail-overlay-alpha, .18) * var(--recipe-detail-overlay-alpha-mult, 1)));transition:background-color .4s ease}html.recipe-editor-open .recipe-detail-overlay,body.recipe-editor-open .recipe-detail-overlay,.app-root.recipe-editor-open .recipe-detail-overlay{pointer-events:none}.recipe-detail-page--overlay{--recipe-detail-header-top: max(0px, calc(var(--app-safe-top, 0px) - 8px));transform:translate3d(0,calc(var(--recipe-detail-sheet-offset, 100%) + var(--recipe-detail-drag-offset, 0px)),0);transition:transform .525s cubic-bezier(.22,1,.36,1),opacity .4s ease;will-change:transform,opacity;box-shadow:0 -24px 48px #0f172a29}.recipe-detail-page--overlay.slide-in{--recipe-detail-sheet-offset: 0%}.recipe-detail-page--overlay.slide-out{--recipe-detail-sheet-offset: 100%;transition-duration:.4s;transition-timing-function:cubic-bezier(.4,0,.7,1)}.recipe-detail-page--overlay.is-dragging-sheet,.recipe-detail-overlay.is-dragging-sheet{transition:none}.recipe-detail-chat-fab{position:fixed!important;top:90%;right:10px;bottom:calc(var(--bottom-nav-clearance) + env(safe-area-inset-bottom) + 12px);width:56px;height:56px;border-radius:999px;border:1px solid var(--color-border-light);background:var(--color-primary);color:#1f2a20;display:inline-flex;align-items:center;justify-content:center;z-index:2000;cursor:pointer}.recipe-detail-chat-fab svg{display:block}html.chat-open .recipe-detail-chat-fab,body.chat-open .recipe-detail-chat-fab,html.recipe-editor-open .recipe-detail-chat-fab,body.recipe-editor-open .recipe-detail-chat-fab,.app-root.recipe-editor-open .recipe-detail-chat-fab{opacity:0;pointer-events:none}html.dark .recipe-plan-link-btn{background:#2ec77d1f;border-color:#2ec77d47;color:var(--text-dark-primary)}html.dark .recipe-plan-link-add{background:#2ec77d14;border-color:#2ec77d57;color:#c6ffdceb}html.dark .recipe-plan-links-empty{color:var(--text-dark-secondary)}.app-root.recipe-detail-open .app-content{pointer-events:none}.recipe-detail-drag-zone{position:relative;display:flex;flex-direction:column;gap:0;order:0}.recipe-detail-drag-zone--header-only{min-height:72px}.detail-header{display:flex;align-items:center;justify-content:space-between;position:absolute;top:var(--recipe-detail-header-top, 0px);left:0;right:0;z-index:8;padding:0 8px;background:transparent;border:none;box-shadow:none}.detail-header-leading{display:inline-flex;flex-direction:column;align-items:flex-start;gap:8px}.detail-action-menu{position:relative;display:flex;align-items:center}.detail-linked-primary-shortcut{padding:0}.detail-linked-primary-shortcut__icon{width:38px;height:38px}.detail-action-toggle{display:inline-flex;align-items:center;justify-content:center}.detail-action-icon{width:18px;height:18px}.detail-action-dropdown{position:absolute;top:58px;right:0;min-width:190px;padding:10px;border-radius:20px;border:1px solid var(--glass-chrome-border);background:var(--glass-chrome-bg-strong);box-shadow:var(--glass-chrome-shadow),var(--glass-chrome-highlight);backdrop-filter:var(--glass-chrome-blur);-webkit-backdrop-filter:var(--glass-chrome-blur);display:flex;flex-direction:column;gap:6px;z-index:12;transform-origin:top right;animation:detailMenuIn .3s ease-out}.detail-action-item{border:1px solid rgba(255,255,255,.12);background:#ffffff57;color:#1f2937;font-weight:600;border-radius:50px;padding:10px 12px;text-align:left;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.detail-action-item svg{flex-shrink:0}.detail-action-item:hover{background:#ffffff7a;transform:translateY(-1px);box-shadow:0 8px 16px #1f2a361f}.detail-action-item--danger{background:#fff1f2;color:#b91c1c}.detail-action-item--danger:hover{background:#ffe4e6}.detail-action-item--success{background:#a4c1a259;color:#1f4630}.detail-action-item--success:hover{background:#a4c1a273}.detail-action-popover{background:#ffffff5c;border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:12px 14px 14px;backdrop-filter:var(--glass-chrome-blur);-webkit-backdrop-filter:var(--glass-chrome-blur)}.detail-action-popover-title{font-size:12px;font-weight:800;color:#040404;text-transform:uppercase;letter-spacing:.12em;margin-bottom:10px}.detail-action-popover-options{display:flex;gap:8px;margin-bottom:12px}.detail-action-chip{border:1px solid rgba(255,255,255,.3);background:#ffffff8a;color:#121212;font-weight:700;padding:6px 12px;border-radius:999px;min-width:44px;transition:transform .15s ease,box-shadow .15s ease,background .15s ease;cursor:pointer}.detail-action-chip:hover{transform:translateY(-1px);box-shadow:0 6px 12px #965d1a26}.detail-action-chip.is-active{background:#f8e6d5c7;border:1px solid rgba(225,186,149,.48);color:#2b1b0f}.detail-action-popover-ok{border:none;background:#696969;color:#fff;font-weight:700;border-radius:999px;padding:8px 16px;cursor:pointer;align-self:flex-start}@keyframes detailMenuIn{0%{opacity:0;transform:translateY(-6px) scale(.96)}70%{opacity:1;transform:translateY(1px) scale(1.02)}to{opacity:1;transform:translateY(0) scale(1)}}.detail-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.duplicate-btn{border:1px solid #e2e8f0;border-radius:12px;font-weight:700}.recipe-detail-page .icon-btn{border:none;background:#ffffffe6;color:#1e293b;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px;border-radius:12px;padding:8px;border:1px solid rgba(255,255,255,.7);box-shadow:0 10px 18px #1f2a361f}.recipe-detail-page .icon-btn--back{width:auto;height:auto;padding:4px;justify-content:center;box-shadow:none;border:none;background:transparent}.detail-header .back-icon{width:44px;height:44px;background:#ffffff94;border:1px solid rgba(255,255,255,.42);box-shadow:0 10px 20px #1f2a361f,inset 0 1px #ffffff3d;color:#1f2937;backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%)}.recipe-detail-page .icon-btn .icon-label{line-height:1}.fav-btn{background:none;border:none;font-size:1.4rem;cursor:pointer;color:#94a3b8;transition:.2s}.detail-actions .fav-btn .fav-icon svg{width:36px;height:36px;display:block}.fav-btn--active{color:#ffd54b;transform:scale(1.05)}.detail-actions .fav-btn{position:static!important;top:auto!important;right:auto!important;padding:5px;order:-1;border-radius:12px;background:#ffffffe6;border:1px solid rgba(255,255,255,.7);box-shadow:0 10px 18px #1f2a361f}.recipe-detail-content>.recipe-detail-drag-zone>.detail-header{order:0}.recipe-detail-content>.recipe-detail-drag-zone>.recipe-cover-stage{order:1}.recipe-detail-content>.title-block{order:2;margin-top:0;z-index:4}.recipe-detail-content>.recipe-action-row{order:3}.recipe-detail-content>.tag-row{order:4;margin-top:0;z-index:3}.recipe-detail-content>.recipe-cover-actions{order:5}.recipe-detail-content>.recipe-content{order:6}.title-block{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:0;border-radius:0;background:transparent;border:none;box-shadow:none;margin:6px 10px -12px;margin-top:-6px!important}.title-text{display:flex;flex-direction:column;gap:10px;width:100%}.recipe-action-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:5px 10px 0;padding:12px 0;border-radius:24px;background:#fff;border:none;box-shadow:none}.recipe-action-row--five{grid-template-columns:repeat(5,minmax(0,1fr));gap:0}.recipe-action-row>.recipe-action+.recipe-action{border-left:1px solid rgba(225,217,204,.65)}.recipe-action{border:none;background:transparent;display:grid;justify-items:center;padding:8px 4px;border-radius:0;cursor:pointer;color:var(--color-text-main);font-weight:600;font-size:12px;letter-spacing:0;text-transform:none}.recipe-action-icon{width:46px;height:46px;border-radius:999px;border:none;background:transparent;display:inline-flex;align-items:center;justify-content:center;box-shadow:none;color:#6b7280}.recipe-action-row .ask-ai-icon--header{width:32px;height:32px}.recipe-action-icon img{width:32px;height:32px;display:block}.recipe-action-label{font-size:12px;color:var(--color-text-muted);text-transform:none;letter-spacing:0}.recipe-action--active .recipe-action-icon{color:#6f9f7b}.recipe-action-icon--favorite,.recipe-action-icon--edit,.recipe-action-icon--planner,.recipe-action-icon--generate{color:#a5c1a3}.planner-flyer{position:fixed;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;color:#6f9f7b;background:#f3f7f0;border-radius:999px;border:1px solid rgba(111,159,123,.35);pointer-events:none;z-index:4000;box-shadow:0 10px 18px #0f172a2e;will-change:transform,opacity;left:0;top:0;opacity:0;transform:translate(-50%,-50%);animation:plannerFlyIn .65s cubic-bezier(.22,.84,.25,1) forwards}.planner-flyer svg{width:70%;height:70%;display:block}.planner-flyer:after{content:"";position:absolute;top:-9px;right:-9px;bottom:-9px;left:-9px;border-radius:999px;background:radial-gradient(circle,#6f9f7b3d,#6f9f7b1a 48%,#6f9f7b00 76%);animation:plannerFlyGlow .65s ease-out forwards}.planner-flyer-icon{display:inline-flex;align-items:center;justify-content:center}.recipe-action--planner-btn,.recipe-action-icon--planner{position:relative}.recipe-action-icon--planner:after{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px;border-radius:999px;background:radial-gradient(circle,#6f9f7b47,#6f9f7b24 45%,#6f9f7b00 74%);opacity:0;transform:scale(.78);pointer-events:none}.recipe-action--planner-btn.is-planner-pulse .recipe-action-icon--planner{animation:plannerIconPop .42s cubic-bezier(.2,.9,.25,1.1)}.recipe-action--planner-btn.is-planner-pulse .recipe-action-icon--planner:after{animation:plannerImpactGlow .42s ease-out}.recipe-action--active .recipe-action-icon--favorite{color:#6f9f7b}.recipe-action--active .recipe-action-icon--favorite svg path{fill:currentColor}.recipe-action-icon--favorite{position:relative}.recipe-action--favorite-btn.is-fav-anim .recipe-action-icon--favorite{animation:favoritePop .52s cubic-bezier(.2,.9,.25,1.15)}.recipe-action--favorite-btn.is-fav-pulse .recipe-action-icon--favorite svg{animation:favoriteWiggle .52s cubic-bezier(.2,.9,.25,1.15);transform-origin:50% 65%}.recipe-action-icon--favorite:before{content:"";position:absolute;top:-12px;right:-12px;bottom:-12px;left:-12px;border-radius:999px;pointer-events:none;opacity:0;background:radial-gradient(circle,rgba(255,238,218,.95) 0 3px,transparent 4px) 18% 30% / 10px 10px no-repeat,radial-gradient(circle,rgba(255,238,218,.95) 0 3px,transparent 4px) 76% 22% / 10px 10px no-repeat,radial-gradient(circle,rgba(255,238,218,.95) 0 3px,transparent 4px) 82% 66% / 10px 10px no-repeat,radial-gradient(circle,rgba(255,238,218,.95) 0 3px,transparent 4px) 26% 78% / 10px 10px no-repeat,radial-gradient(circle,rgba(255,238,218,.95) 0 2px,transparent 3px) 45% 10% / 8px 8px no-repeat,radial-gradient(circle,rgba(255,238,218,.95) 0 2px,transparent 3px) 10% 56% / 8px 8px no-repeat,radial-gradient(circle,rgba(255,238,218,.95) 0 2px,transparent 3px) 54% 92% / 8px 8px no-repeat,radial-gradient(circle,rgba(255,238,218,.95) 0 2px,transparent 3px) 92% 46% / 8px 8px no-repeat;filter:drop-shadow(0 10px 14px rgba(31,42,54,.14));transform:scale(.7)}.recipe-action-icon--favorite:after{content:"";position:absolute;top:-7px;right:-7px;bottom:-7px;left:-7px;border-radius:999px;background:radial-gradient(circle at 50% 50%,#6f9f7b42,#6f9f7b24 40%,#6f9f7b00 72%);opacity:0;transform:scale(.85);pointer-events:none}.recipe-action--favorite-btn.is-fav-pulse .recipe-action-icon--favorite:after{animation:favoritePulse .52s ease-out}@keyframes favoritePop{0%{transform:scale(1)}35%{transform:scale(1.22)}65%{transform:scale(.96)}to{transform:scale(1)}}@keyframes plannerFlyIn{0%{opacity:0;transform:translate(-50%,calc(-50% + 18px)) scale(1.18) rotate(-10deg)}14%{opacity:1}72%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--planner-flyer-dx, 0px)),calc(-50% + var(--planner-flyer-dy, 0px))) scale(.76) rotate(0)}}@keyframes plannerFlyGlow{0%{opacity:0;transform:scale(.65)}26%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.32)}}@keyframes plannerIconPop{0%{transform:scale(1)}32%{transform:scale(1.18)}60%{transform:scale(.94)}to{transform:scale(1)}}@keyframes plannerImpactGlow{0%{opacity:0;transform:scale(.72)}28%{opacity:1;transform:scale(1.04)}to{opacity:0;transform:scale(1.28)}}@keyframes plannerIconPopReduced{0%{transform:scale(1)}50%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes plannerImpactGlowReduced{0%{opacity:0;transform:scale(.88)}45%{opacity:.85;transform:scale(1)}to{opacity:0;transform:scale(1.12)}}@keyframes favoritePulse{0%{opacity:0;transform:scale(.82)}35%{opacity:1;transform:scale(1.04)}to{opacity:0;transform:scale(1.24)}}@keyframes favoriteWiggle{0%{transform:rotate(0) scale(1)}25%{transform:rotate(-10deg) scale(1.06)}55%{transform:rotate(8deg) scale(1.06)}to{transform:rotate(0) scale(1)}}@keyframes favoriteSparkles{0%{opacity:0;transform:scale(.6)}30%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.35)}}.recipe-action--favorite-btn.is-fav-pulse .recipe-action-icon--favorite:before{animation:favoriteSparkles .62s ease-out}@media (prefers-reduced-motion: reduce){.planner-flyer,.planner-flyer:after,.recipe-action--favorite-btn.is-fav-anim .recipe-action-icon--favorite,.recipe-action--favorite-btn.is-fav-pulse .recipe-action-icon--favorite svg,.recipe-action--favorite-btn.is-fav-pulse .recipe-action-icon--favorite:before,.recipe-action--favorite-btn.is-fav-pulse .recipe-action-icon--favorite:after{animation:none!important}.recipe-action--planner-btn.is-planner-pulse .recipe-action-icon--planner{animation:plannerIconPopReduced .2s ease-out}.recipe-action--planner-btn.is-planner-pulse .recipe-action-icon--planner:after{animation:plannerImpactGlowReduced .2s ease-out}}.recipe-title{margin:0;font-size:26px;color:#1e293b;font-family:var(--font-display);letter-spacing:-.02em}.recipe-detail-page .recipe-title{font-size:30px;font-weight:600}.title-top-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:30px!important}.title-top-row .recipe-title{flex:1 1 auto}.recipe-type-pill{align-self:center;background:#f2b48766;color:#1f2937;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;border:1px solid rgba(242,180,135,.6)}.meta-row{display:flex;align-items:center;gap:6px;width:100%;justify-content:flex-end}.servings-meta{display:none}.multiplier-inline{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:16px;background:#ffffffe6;border:1px solid var(--color-border-light);box-shadow:0 10px 22px #1f2a361f;font-size:.85rem;font-weight:600;color:var(--color-text-muted)}.multiplier-control{display:inline-flex;gap:6px;padding:4px;border:1px solid var(--color-border-light);border-radius:999px;background:#ffffffe6;align-self:flex-end}.multiplier-btn{border:1px solid transparent;background:transparent;padding:6px 10px;border-radius:999px;font-weight:700;cursor:pointer;color:#1e293b}.multiplier-btn.is-active{background:#a4c1a266;border-color:#a4c1a2b3}.add-to-planner-btn{background:var(--color-primary);color:#0f172a;border:none;border-radius:999px;padding:8px 18px;box-shadow:0 12px 20px #6f9f7b4d;font-weight:700}.multiplier-add-btn{padding:8px 12px;height:36px}.save-notice{margin-top:8px;display:inline-block;background:#d9f2e0;color:#1e293b;padding:6px 10px;border-radius:10px;font-weight:600;box-shadow:0 6px 14px #00000014}.save-notice.is-error{background:#f871712e;color:#7f1d1d}.dot{opacity:.6}.timing-block{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:0;border-radius:0;background:transparent;border:none}.timing-info{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.recipe-times{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.recipe-times div{background:transparent;border:none;border-radius:0;padding:0;font-size:12px;font-weight:600;color:var(--color-text-muted)}.recipe-detail-page .last-cooked{font-size:.75rem;color:var(--color-text-muted)}.tag-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.recipe-detail-content>.tag-row{margin:10px 10px 0;padding:12px 16px 14px;background:#fff;border:1px solid rgba(225,217,204,.8);border-radius:18px;box-shadow:0 12px 24px #1f2a361a}.recipe-detail-content>.tag-row .tag-chip{background:#fff;border:1px solid rgba(225,217,204,.8);color:#1f2937;border-radius:999px;padding:6px 12px;font-weight:700;box-shadow:none}.recipe-detail-content>.tag-row .btn.outline{border-radius:999px;padding:6px 14px;border-color:var(--color-border-light)}.recipe-cover-image{border-radius:0 0 24px 24px;overflow:hidden;border:none;width:100%;background:var(--color-bg-elevated);position:relative;height:100%;aspect-ratio:4 / 3}.recipe-cover-image>.recipe-cover-img{position:relative;z-index:0;width:100%;height:100%;object-fit:cover;display:block;opacity:0;transition:opacity .4s ease}.recipe-cover-image:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0f172a00 40%,#0f172a40);pointer-events:none;z-index:1}.recipe-cover-img.is-loaded{opacity:1}.recipe-cover-fallback--detail{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(120% 90% at 20% 10%,rgba(193,221,197,.52),transparent 62%),radial-gradient(100% 80% at 78% 82%,rgba(212,203,182,.45),transparent 58%),linear-gradient(145deg,#e3ecddf0,#ccd6ced6);z-index:0}.recipe-cover-fallback--detail .recipe-cover-fallback__emoji{font-size:clamp(88px,17vw,150px);color:#1f2a20eb;text-shadow:0 18px 34px rgba(255,255,255,.24)}.recipe-cover-status{position:absolute;bottom:10px;left:50%;transform:translate(-50%);font-size:.75rem;color:var(--color-text-muted);background:#fffc;padding:2px 10px;border-radius:999px;z-index:2}.recipe-cover-generating{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;align-items:center;justify-content:center;padding:20px}.recipe-cover-generating-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(120% 95% at 18% 8%,rgba(223,244,227,.55),transparent 62%),radial-gradient(95% 85% at 82% 86%,rgba(240,225,202,.48),transparent 58%),linear-gradient(145deg,#c9d8cad1,#b9c9beb8);overflow:hidden}.recipe-cover-generating-bg:before,.recipe-cover-generating-bg:after{content:"";position:absolute;border-radius:50%;pointer-events:none}.recipe-cover-generating-bg:before{width:190px;height:190px;left:-38px;top:-52px;background:radial-gradient(circle,rgba(255,255,255,.54),transparent 68%);animation:coverParticleDriftOne 8s ease-in-out infinite}.recipe-cover-generating-bg:after{width:170px;height:170px;right:-26px;bottom:-42px;background:radial-gradient(circle,rgba(243,254,245,.5),transparent 70%);animation:coverParticleDriftTwo 7s ease-in-out infinite}.recipe-cover-generating:after{content:"";position:absolute;top:-25%;right:-45%;bottom:-25%;left:-45%;background:linear-gradient(115deg,#fff0 18%,#ffffff42 45%,#fff0 74%);transform:translate(-60%);animation:coverShimmerSweep 2.8s ease-in-out infinite;pointer-events:none}.recipe-cover-generating-panel{position:relative;z-index:1;width:min(92%,360px);padding:18px 18px 16px;border-radius:20px;border:1px solid rgba(255,255,255,.5);background:#f9fcf68f;backdrop-filter:blur(12px) saturate(130%);-webkit-backdrop-filter:blur(12px) saturate(130%);box-shadow:0 20px 40px #1f2a3633,inset 0 1px #ffffff94;text-align:center;animation:coverPanelPulse 2.6s ease-in-out infinite}.recipe-cover-generating-spinner{width:48px;height:48px;border-radius:50%;margin:0 auto 12px;border:3px solid rgba(46,70,55,.2);border-top-color:#2e4637f2;border-right-color:#2e46379e;animation:coverSpin .95s linear infinite}.recipe-cover-generating-title{font-family:var(--font-display);font-size:1.06rem;line-height:1.2;letter-spacing:-.01em;color:#1f2f24}.recipe-cover-generating-subtitle{margin-top:6px;font-size:.83rem;line-height:1.4;color:#1f2f24c7}.recipe-cover-generating-steps{margin-top:12px;display:inline-flex;align-items:center;gap:7px;font-size:.7rem;text-transform:uppercase;letter-spacing:.11em;color:#1f2f249e;font-weight:700}.recipe-cover-generating-steps .dot{font-size:.65rem;color:#1f2f2473}@keyframes coverSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes coverPanelPulse{0%,to{box-shadow:0 20px 40px #1f2a3633,inset 0 1px #ffffff94}50%{box-shadow:0 24px 46px #1f2a363d,inset 0 1px #ffffffa3}}@keyframes coverShimmerSweep{0%{transform:translate(-64%)}to{transform:translate(54%)}}@keyframes coverParticleDriftOne{0%,to{transform:translate(0)}50%{transform:translate(14px,12px)}}@keyframes coverParticleDriftTwo{0%,to{transform:translate(0)}50%{transform:translate(-10px,-14px)}}.recipe-cover-container{position:absolute;top:0;left:0;right:0;height:var(--cover-height);z-index:1;pointer-events:none}.recipe-cover-stage{position:relative;width:calc(100% + 16px);max-width:none;margin:0 -8px 8px;--cover-height: 336px}@media (max-width: 480px){.timing-block{grid-template-columns:1fr}.servings-meta{align-items:flex-start;text-align:left}}.recipe-cover-spacer{height:var(--cover-height);min-height:var(--cover-height)}.recipe-content{position:relative;z-index:2;display:flex;flex-direction:column;gap:8px;margin:8px 10px}.recipe-detail-page .tag-row{position:relative;z-index:2}.recipe-detail-page .title-block{position:relative;z-index:1}.recipe-cover-actions{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:16px;background:#ffffffe6;border:1px solid var(--color-border-light);box-shadow:0 12px 24px #1f2a361f;margin:4px 10px 2px}.recipe-image-failed{font-size:.75rem;color:var(--color-text-muted)}@media (min-width: 768px){.recipe-cover-spacer{height:var(--cover-height)}.recipe-cover-stage{--cover-height: 360px}}.tag-chip{background:#a45c09b3;color:#1f2937;border-radius:999px;padding:6px 12px;font-weight:700;box-shadow:none;border:0px solid var(--color-border-light)}.card{background:#fff;border-radius:22px;border:1px solid rgba(225,217,204,.8);box-shadow:0 12px 26px #1f2a361a;padding:16px}.detail-card{display:flex;flex-direction:column;gap:10px}.section-title{font-weight:700;color:#1e293b;font-family:var(--font-display);letter-spacing:-.01em}.recipe-notes{white-space:pre-wrap;color:#1e293b;line-height:1.6}.list{margin:0;padding-left:18px;color:#1e293b;display:grid;gap:8px}.steps-list li{line-height:1.5}.ingredients-list li{line-height:1.4}.nutrition-row{display:flex;gap:8px;flex-wrap:wrap}.nutrition-pill{background:#ffeedabf;color:#1f2937;border-radius:999px;padding:6px 12px;font-weight:700;border:1px solid var(--color-border-light)}.nutrition-card{background:linear-gradient(180deg,#fffffff5,#ffffffe0);border-color:var(--color-border-light);color:#1e293b}.nutrition-header{display:flex;flex-direction:column;gap:6px}.nutrition-header-row{display:flex;flex-direction:column;gap:10px}.nutrition-body{display:grid;grid-template-rows:0fr;opacity:0;transform:translateY(-8px);transition:grid-template-rows .34s cubic-bezier(.22,1,.36,1),opacity .22s ease,transform .34s cubic-bezier(.22,1,.36,1)}.nutrition-body.is-expanded{grid-template-rows:1fr;opacity:1;transform:translateY(0)}.nutrition-body-inner{overflow:hidden;display:flex;flex-direction:column;gap:10px}.nutrition-title{font-weight:700;font-size:18px;color:#1e293b}.nutrition-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%}.nutrition-title-trigger{border:none;background:transparent;padding:0;text-align:left;cursor:pointer;flex:1 1 auto}.nutrition-title-actions{display:inline-flex;align-items:center;gap:8px}.nutrition-toggle-btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--color-border-light);background:#ffffffe6;color:#1e293b;border-radius:999px;width:36px;height:36px;flex:0 0 36px}.nutrition-title-trigger:focus-visible,.nutrition-toggle-btn:focus-visible,.nutrition-quick-generate-btn:focus-visible{outline:2px solid rgba(111,159,123,.45);outline-offset:4px;border-radius:14px}.nutrition-quick-generate-btn{border:1px solid var(--color-primary);background:var(--color-primary);color:#0f172a;border-radius:999px;min-height:36px;padding:0 14px;font-weight:800;cursor:pointer;flex:0 0 auto;box-shadow:0 10px 18px #6f9f7b3d}.nutrition-quick-generate-btn:disabled{opacity:.65;cursor:not-allowed}.nutrition-action-btn{border:1px solid var(--color-primary);background:var(--color-primary);color:#0f172a;border-radius:14px;padding:9px 12px;font-weight:700;cursor:pointer;width:100%;min-width:200px;flex:0 0 auto;text-align:center;box-shadow:0 12px 20px #6f9f7b4d}.nutrition-action-btn:disabled{opacity:.65;cursor:not-allowed}.nutrition-serving-stepper{display:inline-flex;align-items:center;gap:6px;background:#ffffffe6;border:1px solid var(--color-border-light);border-radius:999px;padding:2px 4px;margin-left:auto}.nutrition-step-btn{border:none;background:transparent;color:#0f172a;border-radius:8px;width:28px;height:28px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.nutrition-step-btn:disabled{opacity:.5;cursor:not-allowed}.nutrition-serving-label{font-weight:700;color:#1e293b}.nutrition-serving-control{display:flex;align-items:center;gap:8px;border:1px solid var(--color-border-light);background:#ffffffe6;border-radius:14px;padding:5px 9px;width:100%;min-width:200px}html.dark .nutrition-serving-control{background:#10192de6;border-color:var(--border-dark-strong)}.nutrition-serving-input{width:52px;border:1px solid var(--color-border-light);border-radius:10px;padding:5px 8px;font-weight:700;color:#1e293b;background:#fff;text-align:center}.nutrition-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.nutrition-cell{border:1px solid var(--color-border-light);border-radius:14px;padding:8px 10px;background:#ffffffe6}.nutrition-label{font-size:12px;color:#1e293b;opacity:.75}.nutrition-value{font-weight:800;color:#1e293b;margin-top:3px}.nutrition-disclaimer{font-size:12px;color:#1e293b;opacity:.75;margin-top:2px}.nutrition-serving-note{font-size:12px;color:#1e293b;opacity:.75;margin-top:0}.nutrition-error{margin-top:6px;color:#b91c1c;font-size:13px;font-weight:600}.button-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.delete-recipe-section{margin-top:5px;display:flex;justify-content:center}.delete-recipe-btn{width:100%;max-width:420px;padding:14px 18px;font-size:15px;border-radius:999px;border:1px solid #fca5a5;background:#fee2e2;color:#991b1b;font-weight:700;box-shadow:0 16px 30px #b91c1c2e}.delete-recipe-btn:hover{filter:brightness(.98)}.btn{border:none;border-radius:999px;padding:12px 18px;font-weight:700;cursor:pointer;box-shadow:0 12px 24px #1f2a3624}.btn.outline{background:#ffffffe6;border:1px solid var(--color-border-light);color:#1e293b}.ask-ai-btn{display:inline-flex;align-items:center;gap:8px}.ask-ai-icon{display:block}.ask-ai-icon--header{width:40px;height:40px}.ask-ai-icon--button{width:22px;height:22px}.ask-ai-btn .ask-ai-icon{display:block}.empty-state{margin-top:20px;color:#475569}.fade-in{animation:fadeIn .25s ease}.tag-editor{display:flex;flex-direction:column;gap:10px}.tag-editor-card{overflow:hidden;transition:height .5s ease;will-change:height;border-radius:15px}.tag-editor-card-inner{position:relative;overflow:hidden}.tag-editor-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}.tag-editor-block{display:flex;flex-direction:column;gap:6px}.tag-editor-label-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:space-between}.tag-editor-label{font-weight:700;color:#1e293b}.tag-editor-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.tag-search-input{min-width:160px;padding:8px 12px;border:1px solid #e2e8f0;border-radius:12px;font-size:14px}.tag-collapse-btn{border:1px solid #e2e8f0;background:#f5f1e8;border-radius:12px;padding:8px 12px;cursor:pointer;font-weight:600;display:inline-flex;align-items:center;gap:6px}.tag-collapse-btn svg{width:16px;height:16px}.tag-editor-chips{display:flex;flex-wrap:wrap;gap:8px}.tag-editor-chips-wrapper{overflow:hidden;transition:height .3s ease}.tag-chip-count{background:#fff;color:#475569;border-radius:999px;padding:2px 8px;font-size:12px;border:1px solid #e2e8f0}.tag-editor-hint{color:#64748b;font-size:12px;margin-top:2px}.tag-editor-add{display:flex;gap:8px}.tag-suggest{position:relative;flex:1}.tag-editor-actions{display:flex;gap:8px;flex-wrap:wrap}html.dark .recipe-detail-page{background:var(--bg-dark-page);color:var(--text-dark-primary)}html.dark .recipe-detail-overlay{--recipe-detail-overlay-rgb: 2, 6, 23;--recipe-detail-overlay-alpha: .38}html.dark .detail-header{background:transparent;border:none;box-shadow:none}html.dark .recipe-detail-page .icon-btn{background:#10192de6;border-color:var(--border-dark-strong);color:var(--text-dark-primary);box-shadow:0 12px 22px #00000080}html.dark .detail-header .back-icon{background:#0f172a7a;border-color:#ffffff1f;color:#f8fafc;box-shadow:0 12px 22px #0206174d,inset 0 1px #ffffff14}html.dark .detail-action-dropdown{background:var(--glass-chrome-bg-strong);border-color:var(--glass-chrome-border);box-shadow:var(--glass-chrome-shadow),var(--glass-chrome-highlight)}html.dark .detail-action-item{background:#ffffff0d;color:#e2e8f0}html.dark .detail-action-item:hover{background:#ffffff17}html.dark .detail-action-item--danger{background:#ef44442e;color:#fca5a5}html.dark .detail-action-item--danger:hover{background:#ef444447}html.dark .detail-action-popover{background:#ffffff0d;border-color:#ffffff17;box-shadow:none}html.dark .detail-action-popover-title{color:#fff}html.dark .detail-action-chip{background:#ffffff0f;border-color:#ffffff24;color:#fff;box-shadow:none}html.dark .detail-action-chip.is-active{color:#fff;box-shadow:none}html.dark .detail-action-popover-ok{box-shadow:none}html.dark .recipe-detail-page .icon-btn--back{background:transparent;border:none;box-shadow:none}html.dark .detail-actions .fav-btn{background:#10192de6;border-color:var(--border-dark-strong);color:#fca5a5}html.dark .title-block{box-shadow:none}html.dark .recipe-action-row{background:var(--surface-dark, #1e293b);border:none;box-shadow:none}html.dark .recipe-action-row>.recipe-action+.recipe-action{border-left-color:var(--border-dark-strong, #334155)}html.dark .recipe-action-icon{background:transparent;border:none;color:#9fc4a0}html.dark .recipe-action-label{color:var(--text-dark-secondary)}html.dark .recipe-action--active .recipe-action-icon{color:#9fc4a0}html.dark .planner-flyer{color:#9fc4a0;background:#131e2eeb;border-color:#9fc4a047;box-shadow:0 14px 24px #0000006b}html.dark .recipe-action-icon--planner:after{background:radial-gradient(circle,#9fc4a04d,#9fc4a029 46%,#9fc4a000 76%)}html.dark .recipe-type-pill{background:var(--redesign-leaf);border-color:var(--redesign-leaf);color:var(--redesign-ink)}html.dark .timing-block{background:transparent;border:none}html.dark .recipe-times div{background:transparent;border:none;color:var(--text-dark-secondary)}html.dark .recipe-detail-content>.tag-row{background:#10192df2;border-color:var(--border-dark-strong);box-shadow:0 18px 36px #0000008c;border-radius:18px;padding:12px 16px 14px;margin:12px 18px 0}html.dark .recipe-detail-content>.tag-row .tag-chip{background:var(--redesign-sage);border-color:var(--redesign-leaf);color:var(--redesign-ink)}html.dark .recipe-detail-content>.tag-row .btn.outline{background:#10192de6;border-color:var(--border-dark-strong);color:var(--text-dark-primary)}html.dark .recipe-cover-image{box-shadow:0 26px 50px #0009}html.dark .recipe-cover-actions{background:#10192de6;border-color:var(--border-dark-strong);box-shadow:0 18px 36px #0000008c}html.dark .recipe-cover-status{background:#10192de6;color:var(--text-dark-secondary)}html.dark .recipe-cover-fallback--detail{background:radial-gradient(120% 90% at 20% 10%,rgba(42,59,47,.68),transparent 62%),radial-gradient(100% 80% at 78% 82%,rgba(56,58,68,.58),transparent 58%),linear-gradient(145deg,#19212ff2,#141b27e6)}html.dark .recipe-cover-fallback--detail .recipe-cover-fallback__emoji{color:#ecf4f1f5;text-shadow:0 18px 34px rgba(0,0,0,.28)}html.dark .recipe-cover-generating-bg{background:radial-gradient(120% 95% at 18% 8%,rgba(40,56,46,.5),transparent 62%),radial-gradient(95% 85% at 82% 86%,rgba(52,56,71,.52),transparent 58%),linear-gradient(145deg,#121c28db,#161e2cbf)}html.dark .recipe-cover-generating:after{background:linear-gradient(115deg,#fff0 18%,#a0bbae29 45%,#fff0 74%)}html.dark .recipe-cover-generating-panel{background:#0d172394;border-color:#abbbd13d;box-shadow:0 24px 46px #00000080,inset 0 1px #cadaff1a}html.dark .recipe-cover-generating-spinner{border-color:#c2d4c538;border-top-color:#d5ebdbf2;border-right-color:#d5ebdb99}html.dark .recipe-cover-generating-title{color:#ebf4f1f2}html.dark .recipe-cover-generating-subtitle{color:#cbdae0e0}html.dark .recipe-cover-generating-steps{color:#b4c9ceb8}html.dark .recipe-cover-generating-steps .dot{color:#b4c9ce80}@media (prefers-reduced-motion: reduce){.recipe-detail-overlay{transition-duration:.2s}.recipe-detail-page--overlay{transition-duration:.2s;transition-timing-function:ease-out}.recipe-detail-page--overlay.slide-out{transition-duration:.2s}.recipe-cover-generating-panel,.recipe-cover-generating-spinner,.recipe-cover-generating:after,.recipe-cover-generating-bg:before,.recipe-cover-generating-bg:after{animation:none}}html.dark .recipe-detail-page .icon-btn,html.dark .recipe-detail-page .fav-btn{color:var(--text-dark-secondary)}html.dark .duplicate-btn{border-color:var(--border-dark-subtle);color:var(--text-dark-primary)}html.dark .recipe-title,html.dark .section-title,html.dark .title-text{color:var(--text-dark-primary)}html.dark .meta-row,html.dark .dot,html.dark .list,html.dark .ingredients-list li,html.dark .steps-list li,html.dark .empty-state{color:var(--text-dark-secondary)}html.dark .multiplier-control{background:#10192de6;border-color:var(--border-dark-strong)}html.dark .multiplier-inline{background:#10192de6;border-color:var(--border-dark-strong);color:var(--text-dark-secondary);box-shadow:0 12px 24px #00000073}html.dark .multiplier-btn{color:var(--text-dark-primary)}html.dark .multiplier-btn.is-active{background:#2ec77d33;border-color:#2ec77d59}html.dark .multiplier-add-btn{color:var(--text-dark-primary);border-color:var(--border-dark-subtle)}html.dark .add-to-planner-btn{background:#6f9f7b;color:#0b1221}html.dark .save-notice{background:var(--bg-dark-surface);color:var(--text-dark-primary);border:1px solid var(--border-dark-subtle)}html.dark .save-notice.is-error{background:#f8717129;color:#fecaca;border-color:#f8717159}html.dark .delete-recipe-btn{background:#f871712e;color:#fecaca;border-color:#f8717159;box-shadow:0 12px 24px #07030a59}html.dark .card{background:linear-gradient(180deg,#10192df2,#10192dd9);border-color:var(--border-dark-strong);box-shadow:0 18px 36px #00000080}html.dark .tag-chip{background:#10192de6;color:var(--text-dark-primary);box-shadow:none;border:1px solid var(--border-dark-strong)}html.dark .nutrition-pill{background:#10192de6;color:var(--text-dark-primary);border-color:var(--border-dark-strong)}html.dark .nutrition-card{background:linear-gradient(180deg,#0f172af2,#0b1221e6);border-color:var(--border-dark-strong);color:#e2e8f0}html.dark .nutrition-title,html.dark .nutrition-header{color:#e2e8f0}html.dark .nutrition-toggle-btn{background:#10192de6;color:#e2e8f0;border-color:var(--border-dark-strong)}html.dark .nutrition-quick-generate-btn,html.dark .nutrition-action-btn{background:#a4c1a2;color:#0f172a;border-color:#a4c1a2}html.dark .nutrition-serving-label{color:#e2e8f0}html.dark .nutrition-serving-stepper{background:#10192de6;border-color:var(--border-dark-strong)}html.dark .nutrition-step-btn{background:transparent;color:#e2e8f0;border-color:transparent}html.dark .nutrition-serving-input{background:#10192de6;color:#e2e8f0;border-color:var(--border-dark-strong)}html.dark .nutrition-cell{background:#10192de6;border-color:var(--border-dark-strong)}html.dark .nutrition-label,html.dark .nutrition-value,html.dark .nutrition-disclaimer,html.dark .nutrition-serving-note{color:#e2e8f0}html.dark .nutrition-label,html.dark .nutrition-disclaimer,html.dark .nutrition-serving-note{opacity:.8}html.dark .nutrition-error{color:#fca5a5}html.dark .btn.outline{border-color:var(--border-dark-subtle);color:var(--text-dark-primary)}html:not(.native-navigation-ready) .app-root:has(>.app-content>.recipe-detail-redesign){--app-root-width: min(100vw, 1160px);max-width:var(--app-root-width);border:0;border-radius:0;background:var(--redesign-paper);box-shadow:none}html:not(.native-navigation-ready) .app-content:has(>.recipe-detail-redesign){--app-content-pad-x: 0px}.recipe-detail-page.recipe-detail-redesign{--detail-gutter: clamp(10px, 3vw, 26px);background:var(--redesign-paper);color:var(--redesign-card-title)}.recipe-detail-redesign .recipe-detail-content{max-width:1160px;width:100%;margin-inline:auto;gap:16px}.recipe-detail-redesign .recipe-cover-stage{--cover-height: clamp(220px, 76vw, 420px);margin-bottom:0}.recipe-detail-redesign .recipe-cover-image:after{background:linear-gradient(to bottom,transparent 78%,rgb(29 23 17 / .12))}.recipe-detail-redesign .detail-header{padding-inline:max(14px,env(safe-area-inset-left,0px)) max(14px,env(safe-area-inset-right,0px))}.recipe-detail-redesign .detail-header .back-icon{background:var(--redesign-cream);color:var(--redesign-ink);border-color:transparent}html .recipe-detail-redesign .recipe-detail-content>:is(.title-block,.recipe-action-row,.tag-row,.recipe-content){margin:0 var(--detail-gutter);min-width:0}.recipe-detail-redesign .recipe-detail-content>.title-block{margin-top:0!important}.recipe-detail-redesign .title-text{gap:7px}.recipe-detail-redesign .delete-recipe-section--with-credit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:12px}.recipe-detail-redesign .delete-recipe-section--with-credit .delete-recipe-btn{max-width:none}.recipe-detail-redesign .recipe-photo-credit{justify-self:end;text-align:right;color:var(--redesign-card-muted);font-size:.8rem;text-underline-offset:.15em}.recipe-detail-redesign .recipe-title{color:var(--redesign-card-title);font:700 clamp(1.9rem,6.5vw,3rem)/1.06 var(--redesign-heading);letter-spacing:-.035em;overflow-wrap:anywhere}.recipe-detail-redesign .last-cooked{color:var(--redesign-card-muted);font-size:.88rem}.recipe-detail-stats{display:flex;flex-wrap:wrap;gap:10px clamp(16px,5vw,30px);margin:7px 0 0}.recipe-detail-stats>div{display:flex;flex-direction:column-reverse;gap:2px}.recipe-detail-stats dt{color:var(--redesign-card-muted);font-size:.75rem}.recipe-detail-stats dd{margin:0;font-weight:700}.recipe-detail-redesign .recipe-action-row{gap:3px;padding:5px;border-radius:18px;background:var(--redesign-oat)}.recipe-detail-redesign .recipe-action-row>.recipe-action{min-width:0;min-height:64px;gap:2px;padding:5px 1px;border:0;border-radius:13px;color:var(--redesign-ink)}.recipe-detail-redesign .recipe-action .recipe-action-icon{width:32px;height:32px;color:inherit}.recipe-detail-redesign .recipe-action-icon>:is(svg,img){width:23px;height:23px}.recipe-detail-redesign .recipe-action .recipe-action-label{color:inherit;font-size:.72rem;overflow-wrap:anywhere}.recipe-detail-redesign .recipe-action-row .recipe-action--cook{background:transparent}.recipe-detail-redesign .recipe-action-row>:is(.recipe-action--active,.recipe-action:hover):not(.recipe-action--cook){background:var(--redesign-leaf)}html .recipe-detail-redesign .recipe-detail-content>.tag-row{align-items:center;gap:6px;padding:0;border:0;background:transparent;box-shadow:none}html .recipe-detail-redesign .recipe-detail-content>.tag-row .tag-chip{background:var(--redesign-sage);color:var(--redesign-ink);border:0;font-size:.8rem}.recipe-detail-redesign .recipe-detail-content>.tag-row .tag-chip[data-recipe-tone]{background:color-mix(in srgb,var(--recipe-tone) 65%,var(--redesign-paper));color:var(--recipe-tone-ink)}html.dark .recipe-detail-redesign .recipe-detail-content>.tag-row .tag-chip[data-recipe-tone]{background:color-mix(in srgb,var(--recipe-tone) 24%,var(--bg-dark-surface));color:color-mix(in srgb,var(--recipe-tone) 55%,var(--text-dark-primary))}.recipe-detail-edit-tags{min-height:44px;padding:0 8px;border:0;background:transparent;color:var(--redesign-ink);font:700 .82rem var(--font-body, sans-serif);cursor:pointer}.recipe-detail-redesign .recipe-content{gap:22px;padding-top:3px}.recipe-detail-redesign :is(.recipe-reading-pane,.recipe-detail-notes,.recipe-plan-links-card){gap:10px;min-width:0;margin:0;padding:0;border:0;background:transparent;box-shadow:none}.recipe-detail-redesign .detail-card .section-title{margin:0;padding:0;color:var(--redesign-card-title);font:700 clamp(1.4rem,4.8vw,1.8rem)/1.1 var(--redesign-heading);letter-spacing:-.025em}.recipe-ingredient-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.recipe-serving-stepper{display:inline-flex;align-items:center;gap:5px;padding:3px;border-radius:13px;background:var(--redesign-sage);color:var(--redesign-ink);font-size:.78rem;font-weight:700;font-variant-numeric:tabular-nums}.recipe-serving-stepper button{width:38px;height:38px;border:0;border-radius:10px;background:var(--redesign-leaf);color:inherit;font:inherit;font-size:1.15rem;cursor:pointer}.recipe-serving-stepper button:disabled{opacity:.45;cursor:default}.recipe-detail-redesign .recipe-reading-pane .list{padding:0;margin:0;gap:4px;list-style:none}.recipe-detail-redesign .detail-subsection-title{margin:4px 0 0;color:var(--redesign-card-muted);font-size:.9rem}.recipe-detail-redesign .recipe-reading-pane li{color:var(--redesign-card-title)}.recipe-detail-redesign .ingredients-list li{border-bottom:1px solid var(--color-border-light);border-radius:11px}.recipe-detail-redesign .ingredients-list li:has(input:checked){border-color:transparent;background:var(--redesign-sage)}.recipe-ingredient-check{position:relative;display:flex;align-items:flex-start;gap:10px;min-height:44px;padding:10px 8px;cursor:pointer}.recipe-ingredient-check input{position:absolute;width:21px;height:21px;margin:0;opacity:0}.recipe-ingredient-checkmark{display:grid;place-items:center;flex:0 0 21px;height:21px;margin-top:1px;border:1.5px solid var(--redesign-muted);border-radius:50%;color:var(--redesign-action-ink)}.recipe-ingredient-checkmark svg{width:15px;height:15px;opacity:0}.recipe-ingredient-check input:focus-visible+.recipe-ingredient-checkmark{outline:2px solid var(--redesign-muted);outline-offset:3px}.recipe-ingredient-check input:checked+.recipe-ingredient-checkmark{background:var(--redesign-action);border-color:var(--redesign-action)}.recipe-ingredient-check input:checked+.recipe-ingredient-checkmark svg{opacity:1}.recipe-ingredient-copy{min-width:0;overflow-wrap:anywhere}.recipe-ingredient-text{background:linear-gradient(currentColor,currentColor) left center / 0 1px no-repeat;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:background-size .24s ease,color .18s ease}.recipe-ingredient-check input:checked~.recipe-ingredient-copy .recipe-ingredient-text{background-size:100% 1px;color:var(--redesign-card-muted)}@media (prefers-reduced-motion: reduce){.recipe-ingredient-text{transition:none}}.recipe-detail-redesign .steps-list li{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:start;gap:10px;padding-block:7px;overflow-wrap:anywhere}.recipe-step-number{display:grid;place-items:center;min-height:28px;border-radius:50%;background:var(--redesign-sage);color:var(--redesign-ink);font-size:.8rem;font-weight:700}.recipe-detail-redesign .recipe-content>.nutrition-card{margin-top:0;padding:14px;border:0;border-radius:18px;background:var(--redesign-oat);box-shadow:none}.recipe-detail-redesign .nutrition-title{color:var(--redesign-card-title);font-family:var(--redesign-heading)}.recipe-detail-redesign .recipe-notes{color:var(--redesign-card-title);overflow-wrap:anywhere}.recipe-detail-redesign .recipe-plan-links-card{padding-top:12px;border-top:1px solid var(--color-border-light)}.recipe-detail-redesign .recipe-plan-links-empty{color:var(--redesign-card-muted)}@media (min-width: 760px){.recipe-detail-redesign .recipe-reading-panes{display:grid;grid-template-columns:var(--native-reading-columns, minmax(0, 2fr) minmax(0, 3fr));gap:clamp(18px,4vw,48px);align-items:start}}@media (min-width: 760px) and (orientation: landscape){html:not(.native-navigation-ready) .recipe-detail-redesign .recipe-detail-content{display:grid;grid-template-columns:clamp(180px,26vw,320px) minmax(0,1fr);gap:14px 24px;padding:16px var(--detail-gutter) 0}html:not(.native-navigation-ready) .recipe-detail-redesign .recipe-detail-content>.recipe-detail-drag-zone{grid-area:1 / 1 / 3 / 2;align-self:start}html:not(.native-navigation-ready) .recipe-detail-redesign .recipe-cover-stage{width:100%;aspect-ratio:1;margin:0}html:not(.native-navigation-ready) .recipe-detail-redesign .recipe-cover-spacer{height:auto;min-height:0}html:not(.native-navigation-ready) .recipe-detail-redesign .recipe-cover-container{height:100%}html:not(.native-navigation-ready) .recipe-detail-redesign .recipe-cover-image{border-radius:22px}html:not(.native-navigation-ready) .recipe-detail-redesign .recipe-detail-content>.title-block{grid-area:1 / 2;align-self:end}html:not(.native-navigation-ready) .recipe-detail-redesign .recipe-detail-content>.recipe-action-row{grid-area:2 / 2;align-self:start}html:not(.native-navigation-ready) .recipe-detail-redesign .recipe-detail-content>:is(.tag-row,.recipe-content){grid-column:1 / -1}html:not(.native-navigation-ready) .recipe-detail-redesign .recipe-detail-content>:is(.title-block,.recipe-action-row,.tag-row,.recipe-content){margin-inline:0}}html.native-expanded-landscape .recipe-detail-redesign .recipe-cover-stage{margin-bottom:0}html.native-expanded-landscape .recipe-detail-redesign .recipe-detail-content>.recipe-action-row{margin-inline:0}.recipe-detail-redesign .nutrition-title-row{flex-wrap:wrap;justify-content:space-between;gap:8px}.recipe-detail-redesign .nutrition-title-trigger{display:inline-flex;align-items:center;gap:12px;min-height:44px;color:var(--redesign-card-title)}.recipe-detail-redesign .nutrition-card .nutrition-quick-generate-btn{display:inline-flex;align-items:center;gap:6px;min-height:40px;border:0;border-radius:12px;background:var(--redesign-leaf);color:var(--redesign-ink);box-shadow:none;font-size:.78rem}.recipe-detail-redesign .nutrition-card .nutrition-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,70px),1fr));gap:8px}.recipe-detail-redesign .nutrition-card .nutrition-cell{background:var(--redesign-cream);border:0;border-radius:10px;padding:12px 8px}.recipe-detail-redesign .nutrition-cell .nutrition-value{color:var(--redesign-ink)}.recipe-detail-redesign .nutrition-cell .nutrition-label,.recipe-detail-redesign .nutrition-empty,.recipe-detail-redesign .nutrition-card .nutrition-disclaimer{color:var(--redesign-card-muted);margin:0}.recipe-detail-redesign .nutrition-body-inner{padding-top:8px}.editor-page{--keyboard-scroll-base-padding: 16px;--keyboard-scroll-extra-offset: 28px;background:var(--color-bg);padding:calc(env(safe-area-inset-top,0px) + 16px) 16px 16px;display:flex;flex-direction:column;gap:14px;position:fixed;top:0;right:0;bottom:0;left:0;min-height:0;height:100dvh;max-height:100dvh;overflow-y:auto;box-sizing:border-box}.native-ios-shell.keyboard-open .editor-page.keyboard-scroll-container{overscroll-behavior-y:contain}html.duration-picker-open .editor-page{overflow:hidden}.editor-header{align-items:flex-end}@supports (padding-top: max(0px)){.editor-page{padding-top:max(16px,calc(env(safe-area-inset-top,0px) + 10px))}}.editor-title{color:#1e293b}.editor-card{background:#fff;border-radius:22px;border:1px solid #e2e8f0;box-shadow:none;padding:18px;display:flex;flex-direction:column;gap:18px;position:relative}.section-title{font-weight:700;color:#1e293b;margin:4px 0 6px}.section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.section-header .section-title{margin-bottom:0}.section-action-btn{border:1px solid #d8dfeb;background:#fff;color:#3e4c4d;border-radius:999px;padding:8px 14px;min-height:36px;display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;line-height:1;cursor:pointer}.inline-add-action{align-self:flex-end;border:none;background:transparent;color:#3e4c4d;padding:2px 0 0;min-height:0;font-size:15px;font-weight:700;line-height:1.2;cursor:pointer}.section-action-btn:hover,.inline-add-action:hover{color:#243246}.section-action-btn:disabled,.inline-add-action:disabled{opacity:.6;cursor:not-allowed}.quick-recipe-toggle{position:absolute;top:14px;right:14px;display:flex;flex-direction:column;align-items:center;gap:4px}.quick-recipe-toggle-btn{width:32px;height:32px;border-radius:999px;border:1px solid #e2e8f0;background:#f8fafc;color:#334155;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease}.quick-recipe-toggle-btn.is-active{background:linear-gradient(180deg,#ffebaf,#f5d667fa);border-color:#eab30894;color:#1f2937}.quick-recipe-toggle-btn:disabled{cursor:not-allowed;opacity:.6}.quick-recipe-toggle-icon{width:18px;height:18px}.quick-recipe-toggle-label{font-size:10px;font-weight:600;color:#3e4c4d;text-transform:uppercase;letter-spacing:.04em}.recipe-type-row{display:flex;flex-wrap:wrap;gap:10px}.recipe-type-pill{border:1px solid #e2e8f0;background:#fff;color:#1e293b;border-radius:999px;padding:8px 14px;font-weight:700;cursor:pointer}.recipe-type-pill--active{background:#fde68a;border-color:#f59e0b;color:#1f2937}.recipe-type-pill:disabled{opacity:.65;cursor:not-allowed}.recipe-type-note{font-size:12px;color:#64748b}.cover-image-section{display:flex;flex-direction:column;gap:12px}.cover-image-row{display:grid;grid-template-columns:minmax(140px,46%) minmax(160px,1fr);gap:16px;align-items:center}.cover-image-box{display:flex;align-items:center;justify-content:center}.cover-image-preview{width:100%;max-width:220px;height:150px;object-fit:cover;border-radius:16px;border:1px solid #e2e8f0;display:block}.cover-image-placeholder{width:100%;max-width:220px;height:150px;border-radius:16px;border:1px dashed #cbd5f5;background:#e2e8f0;color:#64748b;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:700;text-align:center;padding:12px;cursor:pointer}.cover-image-placeholder svg{width:24px;height:24px}.cover-image-placeholder:disabled{opacity:.6;cursor:not-allowed}.cover-image-actions{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.cover-action-btn{min-width:175px;justify-content:flex-start;padding:12px 16px;font-family:var(--font-display);font-weight:500;letter-spacing:-.01em;display:inline-flex;align-items:center;gap:8px;border:1px solid #e2e8f0!important;background:#c3ceb4!important;color:#3e4c4d!important}.cover-action-icon{width:18px;height:18px}@media (max-width: 520px){.cover-image-row{grid-template-columns:minmax(140px,46%) minmax(160px,1fr)}}.cover-image-seed{display:flex;flex-direction:column;gap:8px;border:1px dashed #e2e8f0;border-radius:14px;padding:10px 12px;background:#f8fafc}.cover-image-seed-toggle{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#1e293b}.cover-image-seed-input{width:100%}.seed-error{background:#f8717126;border:1px solid rgba(248,113,113,.35);color:#7f1d1d;padding:8px 10px;border-radius:12px;font-size:12px;font-weight:700}.shared-import-review-banner{margin-bottom:16px;padding:14px 16px;border-radius:18px;background:linear-gradient(135deg,#a4c1a22e,#ffffffeb);border:1px solid rgba(164,193,162,.38);display:grid;gap:6px}.shared-import-review-banner__title{font-weight:700;color:var(--color-text-main)}.shared-import-review-banner__body{color:var(--color-text-muted);line-height:1.5}.emoji-display{font-size:36px;background:#f5f1e8;border-radius:16px;padding:12px 14px;width:fit-content}.emoji-toggle{display:inline-flex;align-items:center;gap:10px;border:1px solid #e2e8f0;background:#fff;border-radius:16px;padding:10px 12px;cursor:pointer}.emoji-toggle-text{font-weight:700;color:#1e293b}.emoji-panel{margin-top:8px;background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:10px;max-height:260px;overflow:hidden}.emoji-search-row{margin:8px 0}.emoji-search-input{width:100%;border:1px solid #e2e8f0;border-radius:10px;padding:8px 10px;font-size:14px}.suggest-emoji-btn{padding:6px 10px;background:var(--color-primary);border:none;border-radius:8px;color:#1e293b;font-weight:500;margin-left:8px;cursor:pointer}.emoji-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:8px;max-height:190px;overflow-y:auto}.emoji-option{border:1px solid #e2e8f0;border-radius:14px;background:#fff;padding:10px;font-size:20px;cursor:pointer;transition:border-color .1s ease,transform .1s ease}.emoji-option--active{border-color:var(--color-primary)}.editor-page .input{width:100%;border-radius:16px;border:1px solid #ddd7ca;padding:12px 14px;font-size:14px;outline:none;background:#f9f6ef}.editor-page .input:focus{border-color:#cabfae;background:#fff}.editor-page .select{background:#f9f6ef}.row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.time-row{gap:16px;margin-top:2px}.time-field label{display:block;margin-bottom:6px}.duration-input{cursor:pointer}.duration-picker-modal{width:100%;background:var(--color-bg-elevated);padding:14px 14px calc(14px + env(safe-area-inset-bottom,0px))}.duration-picker-sheet{background:var(--color-bg-elevated);height:auto;max-height:none}.bottom-sheet.duration-picker-sheet{transform:translate3d(0,calc(var(--vv-height, 100vh) + var(--bottom-sheet-drag-offset, 0px)),0)}.bottom-sheet.duration-picker-sheet.is-open{transform:translate3d(0,var(--bottom-sheet-drag-offset, 0px),0)}.duration-picker-sheet-content{padding-bottom:0}.duration-picker-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.duration-picker-title{font-family:var(--font-display);font-weight:700;letter-spacing:-.02em}.duration-picker-actions{display:inline-flex;gap:10px}.duration-picker-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.duration-picker-field{display:flex;flex-direction:column;gap:6px}.duration-picker-label{font-size:.75rem;color:var(--color-text-muted);font-weight:600}.duration-picker-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:none}@media (prefers-reduced-motion: reduce){.bottom-sheet.duration-picker-sheet,.bottom-sheet.duration-picker-sheet.is-open{transition:none}}.time-inputs{display:flex;align-items:center;gap:8px}.time-inputs .input{flex:1;min-width:0}.time-sep{font-size:.9rem;color:var(--color-text-muted);-webkit-user-select:none;user-select:none}.total-time{margin-top:8px}.servings-field{display:flex;flex-direction:column;gap:6px;max-width:240px;margin-top:4px}.field-label{font-weight:600;color:#1e293b;font-family:var(--font-display)}.tags-row{display:flex;flex-wrap:wrap;gap:8px}.tags-row+.btn.ghost{margin-top:6px}.chips{margin-bottom:6px}.tag-chip{display:inline-flex;align-items:center;gap:6px;background:#c3ceb4;border-color:none;color:#2f4a3f;border-radius:999px;padding:6px 10px;font-weight:700}.tag-chip--active{background:#ffeddc}.tag-remove{border:none;background:transparent;cursor:pointer;font-weight:700;color:#1f2937}.tag-input-form{flex:1;min-width:140px;display:flex;gap:8px}.tag-input{padding:10px 12px;flex:1}.suggested-tags{display:flex;flex-direction:column;gap:6px}.tag-suggestions-row{display:flex;flex-wrap:wrap;gap:8px}.clean-button{margin-bottom:8px;background:#fff;border:1px solid #e2e8f0;color:#243246;padding:0 16px;border-radius:999px;height:40px;font-size:14px;font-weight:700;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}.clean-button.is-done{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.action-row .clean-button{margin-bottom:0}.dynamic-list{display:flex;flex-direction:column;gap:8px;position:relative}.dynamic-list>.btn.ghost{margin-top:4px}.dynamic-list.is-dragging .dynamic-row,.dynamic-row-placeholder{transition:transform .18s ease,opacity .18s ease,height .18s ease,margin .18s ease,border-color .18s ease,background-color .18s ease}.dynamic-row{display:flex;gap:8px;align-items:center;padding:2px;border-radius:12px;transition:background-color .1s ease,border-color .1s ease}.dynamic-row-placeholder{height:var(--drag-row-height, 56px);min-height:var(--drag-row-height, 56px);border-radius:16px;border:1.5px dashed rgba(121,165,117,.72);background:#a4c1a224;box-shadow:inset 0 0 0 1px #79a5751f}.dynamic-row-placeholder--step{min-height:max(var(--drag-row-height, 78px),78px)}.nutrition-btn{border:1px solid #e2e8f0;background:#f5f1e8;border-radius:10px;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;font-weight:800;cursor:pointer;transition:transform .1s ease,border-color .1s ease,background-color .1s ease}.nutrition-btn--active{background:var(--color-primary);border-color:var(--color-primary);color:#0f172a}.nutrition-apply-row{display:flex;flex-direction:column;gap:6px;margin-top:6px}.nutrition-apply-note{color:var(--color-text-muted);font-size:13px}.drag-handle{border:1px solid #e2e8f0;background:#fff;border-radius:10px;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;cursor:grab;font-size:16px;touch-action:none}.drag-handle svg{width:18px;height:18px}.drag-handle:active{cursor:grabbing}.textarea{min-height:70px;resize:vertical}.btn{border:none;border-radius:999px;padding:12px 16px;font-weight:700;cursor:pointer}.btn.primary{background:var(--color-primary);color:#0f172a}.tag-add-btn{background:#f5f1e8;color:#1e293b;border:1px solid #e2e8f0;box-shadow:none;border-radius:14px}.btn.ghost{background:transparent;border:1px solid #e2e8f0;color:#3e4c4d}.text-btn{border:none;background:transparent;color:#1e293b;font-weight:700;cursor:pointer}.text-btn.save-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#fff;border:1px solid var(--color-border-light)}.icon-btn{border:none;background:transparent;color:#1e293b;cursor:pointer;font-weight:700}.action-row{display:grid;grid-template-columns:max-content 1fr max-content;gap:clamp(6px,2vw,10px);align-items:center}.action-row>.btn.ghost{grid-column:1;justify-self:start;height:40px;padding:0 16px;border-color:#e2e8f0;background:#fff;color:#243246;font-size:14px;font-weight:700;line-height:1}.action-row .clean-button{grid-column:2;justify-self:center}.save-icon-btn{grid-column:3;justify-self:end;border:1px solid #e2e8f0;background:#fff;color:#243246;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0 16px;height:40px;min-width:0;font-weight:700;font-size:14px;line-height:1;letter-spacing:normal}.save-icon-btn>span{display:inline-flex;align-items:center;gap:8px}.save-icon-btn svg{width:18px;height:18px}.save-icon-btn:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 420px){.action-row{gap:6px}.clean-button,.save-icon-btn,.action-row>.btn.ghost{padding-left:12px;padding-right:12px}}.editor-page,.editor-page *{box-shadow:none!important}.error-text{color:#dc2626;font-weight:700}.meal-type-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.meal-type-dropdown{position:relative;width:100%;max-width:156px}.meal-type-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:0px;padding:13px 16px;border-radius:16px;border:1px solid #e2e8f0;background:#c3ceb4;color:#1e293b;font-weight:700;cursor:pointer;transition:border-color .2s ease,background-color .2s ease,transform .2s ease}.meal-type-trigger:focus-visible{outline:none;border-color:#79a575e6}.meal-type-caret{width:18px;height:18px;transition:transform .2s ease}.meal-type-trigger.is-open .meal-type-caret{transform:rotate(180deg)}.meal-type-menu{position:absolute;top:calc(100% + 8px);left:0;right:0;padding:8px;border-radius:16px;border:1px solid var(--glass-chrome-border);background:var(--glass-chrome-bg-strong);display:flex;flex-direction:column;gap:6px;z-index:20;animation:mealTypeMenuIn .2s ease;box-shadow:var(--glass-chrome-shadow),var(--glass-chrome-highlight);backdrop-filter:var(--glass-chrome-blur);-webkit-backdrop-filter:var(--glass-chrome-blur)}.meal-type-option{border:1px solid rgba(255,255,255,.12);background:#ffffff29;color:#1e293b;border-radius:12px;padding:10px 12px;text-align:left;font-weight:600;cursor:pointer;transition:background-color .15s ease,transform .15s ease}.meal-type-option:hover{background:#ffffff4d;transform:translateY(-1px)}.meal-type-option.is-selected{background:var(--color-primary);border-color:var(--color-primary);color:#0f172a}.meal-pill{border:1px solid #e2e8f0;background:#faf8f3;color:#1e293b;border-radius:999px;padding:8px 12px;font-weight:700;cursor:pointer;transition:transform .1s ease,background-color .1s ease}.meal-pill--active{background:var(--color-primary);border-color:var(--color-primary);color:#0f172a}.nutrition-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;display:flex;justify-content:center;align-items:flex-end;z-index:1200;padding:0}.nutrition-drawer{background:#fff;width:min(100%,520px);max-width:520px;border-radius:24px 24px 0 0;padding:18px 18px calc(18px + env(safe-area-inset-bottom,0px));animation:nutritionSlideUp .18s ease;position:relative}.nutrition-drawer-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.nutrition-drawer-title{font-weight:700;font-size:16px}.nutrition-drawer-subtitle{margin-top:4px;color:var(--color-text-muted);font-size:13px}.nutrition-drawer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:14px 0}.nutrition-field{display:flex;flex-direction:column;gap:6px}.nutrition-field--wide{grid-column:1 / -1}.nutrition-label{font-weight:700;color:#1e293b;font-size:14px}.nutrition-drawer-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:6px}.nutrition-camera-btn{position:absolute;left:16px;bottom:16px;width:40px;height:40px;border-radius:12px;border:1px dashed #d1d5db;background:#fff;color:#94a3b8;display:inline-flex;align-items:center;justify-content:center;font-size:18px;opacity:.8}.editor-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:none;background:#0f172a3d;transition:background-color .4s ease}html.dark .editor-overlay{background:#02061761}.editor-page--overlay{transform:translate3d(0,var(--editor-sheet-offset, 100%),0);transition:transform .63s cubic-bezier(.22,1,.36,1),opacity .4s ease;will-change:transform,opacity;box-shadow:0 -24px 48px #0f172a29}.editor-page--overlay.slide-in{--editor-sheet-offset: 0%}.editor-page--overlay.slide-out{--editor-sheet-offset: 100%;transition-duration:.4s;transition-timing-function:cubic-bezier(.4,0,.7,1)}.editor-page.slide-up{animation:slideUp .7s cubic-bezier(.22,.7,.2,1) both;padding:max(15px,calc(env(safe-area-inset-top,0px) + 10px)) 15px 20px;will-change:transform}.editor-page.fade-in{padding:max(10px,calc(env(safe-area-inset-top,0px) + 6px)) 5px 25px}.editor-page.slide-down{animation:slideDown .7s cubic-bezier(.22,.7,.2,1) both;padding:max(15px,calc(env(safe-area-inset-top,0px) + 10px)) 15px 20px}html.editor-open,body.editor-open,.app-root.editor-open{overflow:hidden}@keyframes slideUp{0%{transform:translateY(100%);opacity:.96}to{transform:translateY(0);opacity:1}}@keyframes slideDown{0%{transform:translateY(0);opacity:1}to{transform:translateY(100%);opacity:.96}}@keyframes mealTypeMenuIn{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}html.dark .editor-page{background:var(--bg-dark-page);color:var(--text-dark-primary)}html.dark .editor-page.slide-up{background:#0b1221eb}html.dark .editor-title,html.dark .section-title,html.dark .emoji-toggle-text{color:var(--text-dark-primary)}html.dark .cover-image-preview{border-color:var(--border-dark-subtle);box-shadow:none}html.dark .cover-image-seed{border-color:var(--border-dark-subtle);background:var(--bg-dark-surface)}html.dark .cover-image-seed-toggle{color:var(--text-dark-primary)}html.dark .seed-error{color:#fecaca;border-color:#f8717180}html.dark .shared-import-review-banner{background:linear-gradient(135deg,#a4c1a21f,#242b28eb);border-color:#a4c1a238}html.dark .editor-card{background:var(--bg-dark-surface-elevated);border-color:var(--border-dark-subtle);box-shadow:none}html.dark .emoji-display{background:var(--bg-dark-surface);color:var(--text-dark-primary)}html.dark .emoji-toggle,html.dark .emoji-panel,html.dark .emoji-option{background:var(--bg-dark-surface);border-color:var(--border-dark-subtle);color:var(--text-dark-primary);box-shadow:none}html.dark .emoji-option:hover{border-color:var(--border-dark-strong)}html.dark .emoji-option--active{border-color:var(--color-primary)}html.dark .emoji-search-input{background:var(--bg-dark-surface);border-color:var(--border-dark-subtle);color:var(--text-dark-primary)}html.dark .input,html.dark .select,html.dark .textarea{background:var(--bg-dark-surface);border-color:var(--border-dark-subtle);color:var(--text-dark-primary);box-shadow:none}html.dark .editor-page .input:focus,html.dark .editor-page .select:focus,html.dark .editor-page .textarea:focus{background:var(--bg-dark-surface);border-color:var(--border-dark-strong);color:var(--text-dark-primary)}html.dark .dynamic-row.drag-over{background:var(--bg-dark-surface);border-color:var(--border-dark-strong)}html.dark .drag-handle{background:var(--bg-dark-surface);border-color:var(--border-dark-subtle);color:var(--text-dark-primary);box-shadow:none}.recipe-editor-drag-overlay{position:fixed;z-index:1700;pointer-events:none;background:#fff;color:#1e293b;border:1px solid #e2e8f0;border-radius:16px;padding:2px;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:8px;box-shadow:0 18px 36px #0f172a2e;transform:scale(1.01)}.recipe-editor-drag-overlay--step{align-items:stretch}.recipe-editor-drag-overlay-handle{align-self:flex-start}.recipe-editor-drag-overlay-field{min-width:0;min-height:44px;display:flex;align-items:center;padding:12px 14px;border-radius:16px;background:#f9f6ef;border:1px solid #ddd7ca;color:#1e293b;font-size:14px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recipe-editor-drag-overlay-field--textarea{min-height:70px;align-items:flex-start;white-space:pre-wrap}.recipe-editor-drag-overlay-icon{width:34px;height:34px;border:1px solid #e2e8f0;background:#f5f1e8;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;font-weight:800;color:#1e293b}.recipe-editor-drag-overlay-icon--active{background:var(--color-primary);border-color:var(--color-primary);color:#0f172a}html.dark .dynamic-row-placeholder{border-color:#79a575d1;background:#3a5d4647;box-shadow:inset 0 0 0 1px #79a5752e}html.dark .recipe-editor-drag-overlay{background:var(--bg-dark-surface);color:var(--text-dark-primary);border-color:var(--border-dark-subtle);box-shadow:0 18px 40px #0000006b}html.dark .recipe-editor-drag-overlay-field,html.dark .recipe-editor-drag-overlay-icon{background:var(--bg-dark-surface);border-color:var(--border-dark-subtle);color:var(--text-dark-primary)}html.dark .recipe-editor-drag-overlay-icon--active{background:#23402f;border-color:#3d6d54;color:var(--text-dark-primary)}html.dark .input::placeholder,html.dark .textarea::placeholder{color:var(--text-dark-secondary)}html.dark .tag-chip{background:var(--bg-dark-surface);color:var(--text-dark-primary);border:1px solid var(--border-dark-subtle);box-shadow:none}html.dark .tag-chip--active{background:var(--bg-dark-surface-elevated)}html.dark .field-label{color:var(--text-dark-primary)}html.dark .total-time{color:color-mix(in srgb,var(--text-dark-primary) 82%,var(--text-dark-secondary) 18%)}html.dark .meal-type-trigger,html.dark .meal-type-menu,html.dark .meal-type-option{background:var(--glass-chrome-bg);border-color:var(--glass-chrome-border);color:var(--text-dark-primary)}html.dark .quick-recipe-toggle-btn,html.dark .cover-action-btn,html.dark .save-icon-btn{background:linear-gradient(180deg,#212e44eb,#121d2edb),var(--glass-chrome-bg);border-color:#ffffff24!important;color:var(--text-dark-primary)!important;box-shadow:inset 0 1px #ffffff14,inset 0 -1px #0003!important}html.dark .cover-action-btn,html.dark .save-icon-btn,html.dark .quick-recipe-toggle-btn,html.dark .meal-type-trigger{backdrop-filter:blur(10px) saturate(135%);-webkit-backdrop-filter:blur(10px) saturate(135%)}html.dark .btn.ghost.cover-action-btn{background:linear-gradient(180deg,#4a6a4af5,#344f37f0),var(--glass-chrome-bg)!important;border-color:#8eb68b5c!important;border:none!important;color:#f4f8f1!important;box-shadow:inset 0 1px #ffffff14,inset 0 -1px #1422186b!important}html.dark .btn.ghost.cover-action-btn:hover,html.dark .btn.ghost.cover-action-btn:active{background:linear-gradient(180deg,#527452fa,#3a583df5),var(--glass-chrome-bg)}html.dark .meal-type-trigger{background:linear-gradient(180deg,#1f2c3ff0,#121d2ee6),var(--glass-chrome-bg);border-color:#ffffff24;box-shadow:inset 0 1px #ffffff14,inset 0 -1px #00000038!important}html.dark .meal-type-trigger:focus-visible{border-color:var(--border-dark-strong)}html.dark .meal-type-option:hover{background:#ffffff14}html.dark .meal-type-option.is-selected{background:#23402f;border-color:#3d6d54;color:var(--text-dark-primary)}html.dark .clean-button{border-color:var(--border-dark-subtle);color:var(--text-dark-primary);box-shadow:none}html.dark .action-row>.btn.ghost{background:linear-gradient(180deg,#1f2c3ff0,#121d2ee6);border-color:#ffffff24;color:var(--text-dark-primary)}html.dark .action-row>.btn.ghost:hover,html.dark .action-row>.btn.ghost:active{background:linear-gradient(180deg,#27364cf5,#162336eb)}html.dark .action-row .clean-button{background:linear-gradient(180deg,#f6f8f3fa,#e7ede0f5);border-color:#c6d2bce6;color:#223127}html.dark .action-row .clean-button:hover,html.dark .action-row .clean-button:active{background:linear-gradient(180deg,#fcfdf9,#edf2e6fa)}html.dark .text-btn.save-btn,html.dark .save-icon-btn{background:transparent;border-color:var(--text-dark-primary);color:var(--text-dark-primary);box-shadow:none}html.dark .text-btn.save-btn:disabled,html.dark .save-icon-btn:disabled{color:var(--text-dark-secondary);border-color:var(--border-dark-strong)}html.dark .tag-remove{color:var(--text-dark-secondary)}html.dark .nutrition-btn{background:var(--bg-dark-surface);border-color:var(--border-dark-subtle);color:var(--text-dark-primary);box-shadow:none}html.dark .nutrition-btn--active{background:var(--color-primary);border-color:var(--color-primary);color:#0f172a}html.dark .nutrition-apply-note{color:var(--text-dark-secondary)}html.dark .nutrition-drawer{background:var(--bg-dark-surface);color:var(--text-dark-primary);border:1px solid var(--border-dark-subtle);box-shadow:none}html.dark .nutrition-camera-btn{background:var(--bg-dark-surface);border-color:var(--border-dark-subtle);color:var(--text-dark-secondary)}html.dark .nutrition-drawer-subtitle{color:var(--text-dark-secondary)}html.dark .nutrition-drawer-backdrop{background:#0000008c}html.dark .nutrition-label{color:var(--text-dark-primary)}@keyframes nutritionSlideUp{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 559px) and (min-height: 480px){html.native-navigation-ready.native-side-back:not(.native-expanded) .editor-page .cover-image-row{grid-template-columns:minmax(0,46%) minmax(0,1fr)}html.native-navigation-ready.native-side-back:not(.native-expanded) .editor-page .cover-image-actions{min-width:0;gap:8px}html.native-navigation-ready.native-side-back:not(.native-expanded) .editor-page .cover-action-btn{min-width:0;width:104px;max-width:100%;min-height:76px;aspect-ratio:auto;padding:8px;border-radius:14px;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:12px;line-height:1.15;white-space:normal}html.native-navigation-ready.native-side-back:not(.native-expanded) .editor-page .cover-action-btn>span{max-width:100%;overflow-wrap:anywhere}}.editor-redesign{--editor-paper: var(--redesign-paper);--editor-panel: var(--redesign-oat);--editor-surface: var(--redesign-cream);--editor-ink: var(--redesign-card-title);--editor-muted: var(--redesign-card-muted);--editor-edge: color-mix(in srgb, var(--editor-muted) 22%, transparent);--editor-width: 1120px;--editor-gutter: clamp(16px, 3vw, 36px);padding-inline:var(--editor-gutter);background:var(--editor-paper);color:var(--editor-ink);gap:18px}html.dark .editor-redesign{--editor-paper: var(--bg-dark-page);--editor-panel: var(--bg-dark-surface-elevated);--editor-surface: var(--bg-dark-surface);background:var(--editor-paper)}.editor-redesign>:is(.editor-header,.editor-card){width:min(100%,var(--editor-width));margin:0 auto;box-sizing:border-box;flex-shrink:0}.editor-redesign .editor-header{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:clamp(10px,2vw,18px);background:var(--redesign-sage);border:0;border-radius:22px}.editor-redesign .editor-title{margin:0;font:700 clamp(1.5rem,5.7vw,2.35rem)/1.08 var(--font-display);letter-spacing:-.035em;color:var(--editor-ink);text-align:start}.editor-redesign .editor-header .back-button{width:44px;height:44px;min-width:44px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:var(--editor-surface);color:var(--redesign-ink)}.editor-redesign .editor-header .back-icon{width:auto;height:auto;display:grid;place-items:center;padding:0;background:none;border:0}.editor-redesign .editor-card{padding:0;gap:20px;border:0;border-radius:0;background:transparent}.editor-columns{display:grid;gap:26px;align-items:start}.editor-column{display:grid;min-width:0;gap:12px;align-content:start}.editor-redesign .section-header{margin:0;align-items:center}.editor-redesign h2.section-title{margin:0;color:var(--editor-ink);font:700 clamp(1.33rem,4.5vw,1.75rem)/1.15 var(--font-display);letter-spacing:-.025em}.editor-redesign .section-title{color:var(--editor-ink)}.editor-optional{color:var(--editor-muted);font:400 .75rem var(--font-body)}.editor-redesign .cover-image-row{display:flex;flex-direction:column;align-items:stretch;gap:12px}.editor-redesign :is(.cover-image-placeholder,.cover-image-preview){width:100%;max-width:none;height:auto;aspect-ratio:2 / 1;min-height:150px;max-height:300px;box-sizing:border-box;border-radius:18px}.editor-redesign .cover-image-placeholder{flex-direction:column;gap:8px;padding:18px;border:1px dashed color-mix(in srgb,var(--redesign-muted) 44%,transparent);background:var(--redesign-sage);color:var(--redesign-ink)}.editor-redesign .cover-image-placeholder small{font-weight:400;color:var(--redesign-muted)}.editor-redesign .cover-image-actions{flex-direction:row;align-items:stretch;flex-wrap:wrap;gap:8px}.editor-redesign .editor-photo-notice{margin:8px 0 0;color:var(--editor-ink);font-size:.85rem}html .editor-redesign .btn.ghost.cover-action-btn{flex:1 1 135px;min-width:0;width:auto;min-height:48px;aspect-ratio:auto;justify-content:center;align-items:center;flex-direction:row;gap:8px;padding:10px;border:1px solid var(--editor-edge)!important;border-radius:12px;background:var(--editor-surface)!important;color:var(--editor-ink)!important;font:650 .84rem/1.15 var(--font-body);text-align:center;white-space:normal}html.dark .editor-redesign .btn.ghost.cover-action-btn{background:var(--editor-panel)!important}html .editor-redesign .btn.ghost.editor-generate-action,html.dark .editor-redesign .btn.ghost.editor-generate-action{background:var(--redesign-sage)!important;color:var(--redesign-ink)!important}.editor-redesign .cover-action-btn svg{width:19px;height:19px;flex:none}.editor-info-heading{padding-top:12px}.editor-quick-meal{min-height:44px;padding:8px 12px;border:1px solid transparent;border-radius:13px;background:var(--redesign-sage);color:var(--redesign-ink);font:600 .8rem/1.2 var(--font-body);cursor:pointer;transition:background-color .16s ease,color .16s ease}.editor-quick-meal{display:inline-flex;align-items:center;gap:6px}.editor-quick-meal svg{width:20px;height:20px;flex:none}.editor-quick-meal:focus-visible{outline:2px solid var(--redesign-muted);outline-offset:2px}.editor-redesign .input.editor-recipe-name{border:1px solid transparent;border-radius:13px;background:var(--editor-panel);color:var(--editor-ink);font:600 clamp(1.25rem,5vw,1.55rem)/1.2 var(--font-display)}.editor-redesign .input.editor-recipe-name::placeholder{color:var(--editor-muted);opacity:1}.editor-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.editor-info-field{display:grid;align-content:start;gap:5px;min-width:0}.editor-info-field>span,.editor-meal-label{color:var(--editor-muted);font-size:.78rem;font-weight:600}.editor-info-field button{min-height:42px;border:1px solid var(--editor-edge);border-radius:10px;padding:6px 10px;background:var(--editor-panel);color:var(--editor-ink);text-align:start;font:600 .84rem/1.2 var(--font-body);cursor:pointer}.editor-redesign .total-time{display:flex;gap:8px;margin:0;color:var(--editor-muted);font-size:.78rem}.editor-meal-scroll{overflow-x:auto;scrollbar-width:thin}.editor-meal-options{--meal-track-inset: 3px;position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(var(--meal-type-count),minmax(0,1fr));min-width:390px;padding:var(--meal-track-inset);border-radius:12px;background:var(--editor-panel)}.editor-meal-options:has(button[aria-pressed=true]):before{content:"";position:absolute;z-index:-1;inset-block:var(--meal-track-inset);left:var(--meal-track-inset);width:calc((100% - 2 * var(--meal-track-inset)) / var(--meal-type-count));border-radius:9px;background:var(--redesign-action);transform:translate(calc(var(--meal-type-index) * 100%));transition:transform .22s ease}.editor-meal-options button{min-height:40px;padding:4px 2px;border:0;border-radius:9px;background:transparent;color:var(--editor-ink);font:600 .75rem/1.2 var(--font-body);cursor:pointer}.editor-meal-options button[aria-pressed=true]{color:var(--redesign-action-ink)}.editor-redesign .editor-meal-options button:focus-visible{outline-offset:-2px}@media (prefers-reduced-motion: reduce){.editor-meal-options:before{transition:none}}.editor-quick-meal[aria-pressed=true]{background:var(--redesign-action);color:var(--redesign-action-ink);border-color:var(--redesign-action)}.editor-redesign .section-action-btn{padding-inline:8px;background:transparent;border:0;color:var(--redesign-ink)}.editor-redesign .tags-row:empty{display:none}.editor-redesign .tag-chip{min-height:38px;box-shadow:none;background:var(--redesign-sage);color:var(--redesign-ink);border:0}.editor-redesign .dynamic-row{border-bottom:1px solid var(--editor-edge);padding:6px 0;border-radius:0}.editor-redesign .dynamic-row .input{border:1px solid transparent;min-width:0;background:transparent;color:var(--editor-ink);font-family:var(--font-body)}.editor-redesign .dynamic-row .input:focus,.editor-redesign .input.editor-recipe-name:focus{border-color:var(--redesign-muted)}.editor-redesign .drag-handle{flex:0 0 32px;background:transparent;border:0;color:var(--editor-muted)}.editor-redesign .nutrition-btn{flex-shrink:0;background:var(--editor-panel);color:var(--editor-muted)}.editor-redesign .nutrition-btn--active{background:var(--redesign-action);color:var(--redesign-action-ink)}.editor-redesign .dynamic-row[data-kind=step]{--step-input-inset: 10px;--step-line-height: 22px}.editor-redesign .dynamic-row[data-kind=step] .textarea{padding-top:var(--step-input-inset);line-height:var(--step-line-height)}.editor-redesign .dynamic-row[data-kind=step] .drag-handle{align-self:flex-start;margin-top:calc(var(--step-input-inset) + 1px + (var(--step-line-height) - 32px) / 2)}.editor-step-number{display:grid;place-items:center;min-width:26px;height:26px;border-radius:50%;background:var(--redesign-sage);color:var(--redesign-ink);font-size:.76rem}.editor-redesign .inline-add-action{align-self:flex-start;min-height:40px;color:var(--redesign-ink)}.editor-method>.section-header:not(:first-child){margin-top:12px}.editor-notes{padding:12px;border-radius:13px;background:var(--editor-panel)}.editor-notes summary{cursor:pointer;font-weight:650}.editor-notes summary span{margin-inline-start:8px}.editor-redesign .editor-notes .input{margin-top:10px;resize:vertical;background:var(--editor-surface);font-family:var(--font-body)}.editor-redesign .editor-footer{position:sticky;bottom:-1px;z-index:2;padding:12px 0 max(12px,env(safe-area-inset-bottom));border-top:1px solid var(--editor-edge);background:var(--editor-paper);grid-template-columns:repeat(3,minmax(0,1fr))}.editor-redesign .editor-footer>button,.editor-redesign .editor-footer>.clean-button{justify-self:stretch;min-height:44px;padding:4px 5px;border-radius:12px;font:700 .8rem/1.15 var(--font-body)}.editor-redesign .editor-footer>.btn.ghost{display:inline-flex;align-items:center;justify-content:center;gap:6px}html .editor-redesign .editor-footer>.btn.ghost{justify-self:stretch;background:#f7eae4;color:#863e36;border-color:#e4b9af}html.dark .editor-redesign .editor-footer>.btn.ghost{background:#3b2729;color:#ffb6a6;border-color:#774943}html .editor-redesign .editor-footer .clean-button{background:var(--editor-surface);color:var(--editor-ink);border-color:var(--editor-edge)}html .editor-redesign :is(.editor-header .save-btn,.editor-footer .save-icon-btn){background:var(--redesign-action)!important;color:var(--redesign-action-ink)!important;border:0!important;border-radius:12px;min-height:42px}.editor-redesign .editor-header .save-btn{display:flex;align-items:center;gap:6px;margin:0;padding-inline:12px}.editor-redesign .editor-footer button svg{flex:none;width:15px;height:15px}.editor-redesign :is(button,summary):focus-visible{outline:2px solid var(--redesign-muted);outline-offset:2px}.bottom-sheet.editor-info-picker{width:min(100%,540px);max-height:85dvh;background:var(--redesign-paper);color:var(--redesign-card-title)}html.dark .bottom-sheet.editor-info-picker{background:var(--bg-dark-page)}.editor-info-picker .duration-picker-modal{display:grid;gap:14px;padding:18px 20px max(18px,env(safe-area-inset-bottom));background:transparent}.editor-info-picker .duration-picker-header{margin:0}.editor-info-picker .duration-picker-title{margin:0;font-size:1.5rem}.editor-picker-close,.editor-presets button{min-height:44px;border:0;border-radius:12px;background:var(--redesign-sage);color:var(--redesign-ink);font:650 .84rem var(--font-body);cursor:pointer}.editor-picker-close{width:44px;border-radius:50%;font-size:1.35rem}.editor-presets{display:flex;flex-wrap:wrap;gap:7px}.editor-presets button{flex:1 1 auto;padding-inline:9px}.editor-info-picker :is(input,select){min-height:44px;padding:7px 12px;background:var(--redesign-cream);color:var(--redesign-card-title);border:1px solid var(--color-border-light);border-radius:10px;font:inherit}.editor-info-picker .duration-picker-actions{justify-content:flex-end}.editor-info-picker .duration-picker-actions .primary{background:var(--redesign-action);color:var(--redesign-action-ink)}@media (min-width: 760px) and (orientation: landscape){.editor-columns{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(26px,4vw,52px)}}@media (max-width: 360px){.editor-redesign .editor-header{gap:8px}.editor-redesign .editor-header .save-btn{padding-inline:8px}}.planner-page{--planner-stack-gap: 16px;padding:16px;display:flex;flex-direction:column;gap:var(--planner-stack-gap);font-family:var(--font-body)}.planner-toast{position:fixed;top:calc(env(safe-area-inset-top,0px) + 88px);left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;width:min(92vw,420px);padding:14px 16px;border-radius:18px;background:radial-gradient(120% 120% at 100% 0%,rgba(164,193,162,.22),transparent 40%),linear-gradient(180deg,#fffffffc,#f8fcf6fa);border:1px solid rgba(164,193,162,.58);box-shadow:0 20px 50px #0f172a29,inset 0 1px #ffffffd6;z-index:2600;pointer-events:none;animation:plannerToastIn .18s cubic-bezier(.22,1,.36,1)}.planner-toast-icon{width:40px;height:40px;flex:0 0 auto;border-radius:14px;background:var(--color-primary);color:#0f172a;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 10px 18px #1f2a361f}.planner-toast-icon svg{width:22px;height:22px}.planner-toast-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.planner-toast-title{font-size:15px;font-weight:800;color:var(--color-text-main)}.planner-toast-details{font-size:13px;color:var(--color-text-muted)}@media (max-width: 520px){.planner-toast{width:min(94vw,420px);top:calc(env(safe-area-inset-top,0px) + 76px);padding:12px 14px;gap:10px;border-radius:16px}.planner-toast-icon{width:36px;height:36px;border-radius:13px}.planner-toast-icon svg{width:20px;height:20px}.planner-toast-title{font-size:14px}.planner-toast-details{font-size:12px}}@keyframes plannerToastIn{0%{opacity:0;transform:translate(-50%) translateY(-8px) scale(.98)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){.planner-toast{animation:none}}.planner-header-top-actions{display:inline-flex;align-items:center;gap:12px;flex-shrink:0}.planner-generate-top-btn.btn{display:inline-flex;align-items:center;gap:10px;padding:12px 16px;border-radius:999px;font-weight:800;letter-spacing:-.01em;box-shadow:0 14px 30px #8fbe9a2e;white-space:nowrap}.planner-generate-top-btn__icon{width:26px;height:26px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#ffffff47;color:currentColor;flex-shrink:0}.planner-generate-top-btn__icon svg{width:15px;height:15px;display:block}.planner-header-actions{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;justify-content:flex-start;padding:6px 8px;border:1px solid rgba(148,163,184,.22);border-bottom-color:transparent;background:linear-gradient(180deg,#ffffffbf,#faf8f3eb);box-shadow:0 14px 30px #1f2a360f;width:100%;max-width:100%;overflow-x:hidden;border-radius:24px 24px 0 0}.planner-header-actions+.planner-card{margin-top:calc(var(--planner-stack-gap) * -1);border-top-left-radius:0;border-top-right-radius:0;border-top-color:transparent}.planner-header-actions .btn{padding:8px 10px;font-size:12px;border-radius:999px}.planner-header-actions .btn.btn-ghost{background:#ffffffc7;border:1px solid rgba(148,163,184,.2);box-shadow:none}.planner-action-btn{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--color-text-main);white-space:nowrap;flex:1;min-width:0;justify-content:center}.planner-action-icon{width:24px;height:24px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#8fbe9a38;color:#2f4f3ae6;flex-shrink:0}.planner-action-icon svg{width:16px;height:16px;display:block}.planner-action-label{line-height:1;font-size:.72rem}@media (max-width: 520px){.planner-header-top-actions{gap:10px}.planner-generate-top-btn.btn{padding:10px 13px;font-size:12px}.planner-generate-top-btn__icon{width:22px;height:22px}.planner-header-actions .btn{padding:8px}.planner-action-icon{width:22px;height:22px}.planner-action-label{font-size:.68rem}.planner-action-caret svg{width:12px;height:12px}}.planner-action-caret{margin-left:0;color:#475569a6;display:inline-flex;align-items:center;justify-content:center}.planner-action-caret svg{width:14px;height:14px;display:block}@media (max-width: 520px){.planner-header-actions{width:100%;justify-content:flex-start}}.planner-header-icon{font-size:18px;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;min-width:36px;min-height:36px;flex-shrink:0;border-radius:12px;margin-top:0;margin-bottom:15px;color:#a5c1a3}.planner-header-icon svg{width:100%;height:100%;display:block}html.dark .planner-header-icon{background:var(--bg-dark-surface);border-color:var(--border-dark-strong)}html.dark .planner-generate-top-btn.btn{box-shadow:0 16px 34px #0000004d}html.dark .planner-generate-top-btn__icon{background:#ffffff1f}html.dark .planner-header-actions .btn.btn-ghost{background:#10192dd9;border-color:#94a3b838}html.dark .planner-header-actions{background:linear-gradient(180deg,#10192deb,#0b1221e0);border-color:#94a3b838;box-shadow:0 10px 24px #00000073}html.dark .planner-action-btn{color:var(--text-dark-primary)}html.dark .planner-action-icon{background:#2ec77d29;color:#e2e8f0e6}html.dark .planner-action-caret{color:#e2e8f0a6}.planner-card{background:var(--color-bg-elevated);border-radius:20px;border:1px solid var(--color-border-light);box-shadow:0 14px 38px #1f2a3614;padding:14px}.planner-card.soft{background:var(--color-bg-elevated);border-color:var(--color-border-light)}.planner-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;display:flex;justify-content:center;align-items:flex-end;z-index:1000;overflow:hidden}.planner-drawer{background:var(--color-bg-elevated);width:100%;max-width:480px;max-height:min(88dvh,860px);border-top-left-radius:16px;border-top-right-radius:16px;padding:16px 16px 25px;box-shadow:0 -8px 24px #00000026;display:flex;flex-direction:column;min-height:0;touch-action:pan-y}.planner-drawer.slide-up{animation:planner-drawer-slide-up .7s cubic-bezier(.22,.7,.2,1);will-change:transform,opacity}.planner-drawer.slide-down{animation:planner-drawer-slide-down .7s cubic-bezier(.22,.7,.2,1);will-change:transform,opacity}.planner-drawer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.planner-drawer-title{font-weight:700;font-size:16px}.planner-drawer-header-text{display:flex;flex-direction:column;gap:2px;min-width:0}.planner-drawer-subtitle{font-size:13px;color:var(--color-text-muted);line-height:1.25}.planner-drawer-body{display:flex;flex-direction:column;gap:12px;min-height:0;touch-action:pan-y}.planner-drawer-label{font-size:14px;color:var(--color-text-muted)}.planner-drawer-input{width:100%;padding:10px;border:1px solid var(--color-border-light);border-radius:10px;font-size:14px;background:var(--input-bg)}.planner-drawer--templates .planner-drawer-header{align-items:flex-start;gap:12px}.planner-drawer--templates .planner-drawer-title{font-size:18px;font-weight:900;letter-spacing:-.02em;line-height:1.1}.planner-drawer--templates .planner-drawer-body{gap:14px;overflow-y:auto;overscroll-behavior:contain;max-height:min(72dvh,720px);padding-right:2px;--keyboard-scroll-base-padding: 12px;--keyboard-scroll-extra-offset: 18px}.native-ios-shell.keyboard-open .planner-drawer--templates .planner-drawer-body.keyboard-scroll-container{padding-bottom:0}.planner-template-card{background:#fff;border:1px solid rgba(225,217,204,.85);border-radius:18px;padding:12px;display:flex;flex-direction:column;gap:10px;box-shadow:0 14px 30px #1f2a360f}.planner-template-card-title{font-size:13px;font-weight:800;letter-spacing:.02em;text-transform:uppercase;color:var(--color-text-main)}.planner-template-helper{margin-top:-6px;font-size:12px;color:var(--color-text-muted)}.planner-drawer--templates .planner-drawer-input.planner-template-input{border-radius:14px;padding:12px;border:1px solid rgba(225,217,204,.85);background:#ffffffbf;box-shadow:0 1px #ffffff8c inset}.planner-drawer--templates .planner-drawer-input.planner-template-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #92be9738}.planner-template-cta.btn{width:100%;border-radius:16px;padding:14px 16px;font-weight:900;font-size:15px;letter-spacing:-.01em}.planner-template-save-row{display:grid;grid-template-columns:7fr 3fr;gap:10px;align-items:stretch}.planner-template-save-btn.btn{width:100%;border-radius:14px;padding:12px;font-weight:900;letter-spacing:-.01em;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}.planner-template-save-btn svg{display:block}.planner-template-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:14px;background:#f5f0e8;border:1px solid rgba(148,163,184,.22)}.planner-template-meta-label{font-size:12px;font-weight:800;letter-spacing:.02em;text-transform:uppercase;color:var(--color-text-muted);white-space:nowrap}.planner-template-meta-value{font-size:13px;font-weight:800;color:var(--color-text-main);text-align:right}.planner-template-empty{font-size:13px;color:var(--color-text-muted);padding:10px 2px 2px}.planner-template-notice--inline{border-radius:16px;padding:10px 12px;background:#f5f0e8cc;border:1px solid rgba(225,217,204,.85)}.planner-template-section{display:flex;flex-direction:column;gap:10px}.planner-template-divider{height:1px;background:var(--color-border-light);opacity:.6}.planner-template-list{display:flex;flex-direction:column;gap:8px}.planner-template-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;border:1px solid rgba(225,217,204,.85);background:#ffffffbf}.planner-template-row.is-editing{align-items:stretch}.planner-template-name{font-weight:600;color:var(--color-text-main);flex:1;min-width:0;display:flex;align-items:center}.planner-template-name-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planner-template-actions{display:inline-flex;align-items:center;gap:8px;justify-self:end;flex-shrink:0}.planner-template-apply-btn.btn{padding:10px 14px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;border-radius:15px}.planner-template-icon-btn{width:36px;height:36px;border-radius:14px;border:1px solid rgba(225,217,204,.9);background:#ffffffa6;display:inline-flex;align-items:center;justify-content:center;color:#575d67f2;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease,border-color .16s ease}.planner-template-overflow-btn{width:40px;height:40px;border-radius:999px}.planner-template-icon-btn:active:not(:disabled){transform:translateY(1px)}.planner-template-icon-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.planner-template-icon-btn:disabled{opacity:.55;cursor:not-allowed}.planner-template-icon-btn--danger{color:#575d67f2}.planner-template-icon-btn--danger:hover:not(:disabled){background:#ffffffa6;border-color:#e1d9cce6}.planner-drawer--templates .planner-template-save-row{margin-top:2px}.planner-template-input{width:100%;border-radius:10px;border:1px solid var(--color-border-light);padding:8px 10px;font-size:14px;background:var(--input-bg);color:var(--color-text-main)}.planner-template-notice,.planner-template-note{font-size:13px;color:var(--color-text-muted)}.planner-template-conflicts p{margin:0 0 10px;color:var(--color-text-main)}.planner-template-conflict-list{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.planner-template-conflict-row{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:var(--color-text-muted)}.planner-template-conflict-recipe{font-weight:600;color:var(--color-text-main)}.planner-template-conflict-actions{display:flex;flex-wrap:wrap;gap:8px}.planner-template-confirm{display:flex;flex-direction:column;gap:10px}.planner-template-confirm p{margin:0}.planner-drawer--generator .planner-drawer-header{align-items:flex-start;gap:12px}.planner-drawer--generator .planner-drawer-title{font-size:18px;font-weight:900;letter-spacing:-.02em;line-height:1.1}.planner-drawer--generator{min-height:min(72dvh,720px)}.planner-drawer--generator.is-preview{min-height:min(80dvh,780px)}.planner-generator-header-actions{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}.planner-generator-header-clear{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(211,92,92,.36);background:#d35c5c1f;color:#8f3232;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:800;letter-spacing:.01em;line-height:1;transition:background-color .16s ease,border-color .16s ease,transform .16s ease}.planner-generator-header-clear:active:not(:disabled){transform:translateY(1px)}.planner-generator-header-clear:disabled{opacity:.55;cursor:not-allowed}.planner-generator-body{flex:1 1 auto;gap:14px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-height:0;padding-right:2px;--keyboard-scroll-base-padding: 12px;--keyboard-scroll-extra-offset: 18px}.planner-generator-body.is-preview{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}.planner-drawer--generator .planner-template-card{background:#fffdf7fa;box-shadow:0 8px 18px #1f2a3609;overflow:visible;isolation:isolate}.planner-generator-review-card{overflow:visible}.planner-drawer--generator .planner-template-cta.btn{box-shadow:none}.planner-generator-chip-grid{display:flex;flex-wrap:wrap;gap:10px}.planner-generator-chip-grid--compact{gap:8px}.planner-generator-chip{border:1px solid rgba(225,217,204,.9);background:#ffffffc7;color:var(--color-text-main);border-radius:16px;padding:11px 14px;font-size:13px;font-weight:700;line-height:1.15;display:inline-flex;flex-direction:column;align-items:flex-start;gap:4px;box-shadow:0 10px 24px #1f2a360d;transition:transform .16s ease,border-color .16s ease,background-color .16s ease,box-shadow .16s ease}.planner-generator-chip:hover{transform:translateY(-1px)}.planner-generator-chip.is-selected{border-color:#8fbe9acc;background:#8fbe9a2e;box-shadow:0 14px 28px #8fbe9a24}.planner-generator-chip--meal,.planner-generator-chip--style{min-height:46px;justify-content:center}.planner-generator-chip-meta{font-size:11px;font-weight:600;color:var(--color-text-muted)}.planner-generator-disclaimer{margin-top:8px;font-size:12px;color:var(--color-text-muted);line-height:1.45}.planner-generator-inline-option{margin-top:12px}.planner-generator-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border-radius:18px;border:1px solid rgba(225,217,204,.9);background:#ffffffd1;color:var(--color-text-main);text-align:left}.planner-generator-toggle.is-selected{border-color:#8fbe9acc;background:#8fbe9a24}.planner-generator-toggle-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.planner-generator-toggle-label{font-size:14px;font-weight:800;color:var(--color-text-main)}.planner-generator-toggle-meta{font-size:12px;line-height:1.45;color:var(--color-text-muted)}.planner-generator-toggle-switch{position:relative;width:46px;height:28px;flex:0 0 auto;border-radius:999px;background:#cbd5e1;transition:background-color .16s ease}.planner-generator-toggle.is-selected .planner-generator-toggle-switch{background:#9fcea8}.planner-generator-toggle-knob{position:absolute;top:4px;left:4px;width:20px;height:20px;border-radius:999px;background:#fff;box-shadow:0 2px 6px #0000002e;transition:transform .16s ease}.planner-generator-toggle.is-selected .planner-generator-toggle-knob{transform:translate(18px)}.planner-generator-summary{font-size:14px;color:var(--color-text-main);line-height:1.45;margin-top:0;margin-bottom:2px}.planner-generator-stats{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px;margin-bottom:0}.planner-generator-stats span{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:#f5f0e8;border:1px solid rgba(225,217,204,.88);font-size:12px;font-weight:700;color:var(--color-text-muted)}.planner-generator-preview-list{display:flex;flex-direction:column;gap:10px}.planner-generator-review-card .planner-generator-preview-list{padding-right:2px}.planner-generator-preview-row{border-radius:16px;padding:12px;border:1px solid rgba(225,217,204,.9);background:#ffffffeb;display:flex;flex-direction:column;gap:8px}.planner-generator-preview-row.is-filled{border-color:#8fbe9a7a}.planner-generator-preview-row.is-conflict{border-color:#f0b74c94;background:#fff8eceb}.planner-generator-preview-row.is-removed{border-color:#d35c5c6b;background:#fff3f3f0}.planner-generator-preview-row.is-skipped,.planner-generator-preview-row.is-unmatched{border-color:#e1d9cce6;background:#faf8f3e0}.planner-generator-preview-header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.planner-generator-preview-slot{font-size:14px;font-weight:800;color:var(--color-text-main)}.planner-generator-preview-date{margin-top:3px;font-size:12px;color:var(--color-text-muted)}.planner-generator-status{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.02em;text-transform:uppercase}.planner-generator-status--filled{background:#8fbe9a29;color:#42624b}.planner-generator-status--conflict{background:#f0b74c29;color:#8a5d10}.planner-generator-status--skipped,.planner-generator-status--unmatched,.planner-generator-status--removed{background:#94a3b824;color:#64748b}.planner-generator-status--removed{background:#d35c5c1f;color:#8f3232}.planner-generator-recipe-line,.planner-generator-empty-line,.planner-generator-existing-line,.planner-generator-reason{font-size:13px;line-height:1.45}.planner-generator-recipe-line{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--color-text-main)}.planner-generator-recipe-emoji{width:24px;text-align:center;flex-shrink:0}.planner-generator-empty-line,.planner-generator-existing-line,.planner-generator-reason{color:var(--color-text-muted)}.planner-generator-decision-row{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.planner-generator-sides{display:flex;flex-direction:column;gap:8px}.planner-generator-sides-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.planner-generator-sides-label{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.planner-generator-side-add{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;border:1px solid rgba(143,190,154,.45);background:#8fbe9a29;color:#446852;font-size:18px;font-weight:700;line-height:1;flex:0 0 auto}.planner-generator-sides-list{display:flex;flex-wrap:wrap;gap:8px}.planner-generator-side-choice.is-selected{border-color:#6f9f7bbf;background:#8fbe9a2e}.planner-generator-choice{border:1px solid rgba(225,217,204,.9);background:#ffffffd1;color:var(--color-text-main);border-radius:999px;padding:8px 12px;font-size:12px;font-weight:800}.planner-generator-choice.is-selected{border-color:#8fbe9abf;background:#8fbe9a2e}.planner-generator-choice--retry.is-busy{opacity:.75}.planner-generator-choice--danger.is-selected{border-color:#d35c5ca6;background:#d35c5c1f;color:#8f3232}@media (pointer: coarse){.planner-drawer--generator .planner-template-card{box-shadow:0 4px 12px #1f2a3606}.planner-generator-chip,.planner-generator-chip.is-selected{box-shadow:none}}.planner-generator-footer-actions{display:flex;justify-content:space-between;gap:10px}.planner-generator-footer-actions .btn{flex:1}@media (max-width: 420px){.planner-generator-preview-header{flex-direction:column}.planner-generator-status{align-self:flex-start}.planner-generator-footer-actions{flex-direction:column}}.planner-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;margin-top:-8px;padding:6px 12px;border-radius:999px;border:1px solid rgba(148,163,184,.22);background:#f8f8f8}.planner-nav .icon-btn{width:42px;height:42px;border-radius:999px;border:1px solid rgba(148,163,184,.22);background:#8fbe9a24;color:var(--color-text-main);display:inline-flex;align-items:center;justify-content:center;box-shadow:none}.planner-nav .icon-btn:hover{background:#8fbe9a38}.planner-nav .icon-btn svg{width:20px;height:20px;display:block}.planner-week-label{font-family:inherit;font-weight:700;color:var(--color-text-main);letter-spacing:-.02em;flex:1;text-align:center;padding:10px 14px;border-radius:999px;border:0px solid rgba(148,163,184,.18)}.planner-week-label--animate{will-change:transform,opacity}.planner-week-label--animate.is-next{animation:planner-week-label-next .45s ease both}.planner-week-label--animate.is-prev{animation:planner-week-label-prev .45s ease both}@keyframes planner-week-label-next{0%{opacity:.2;transform:translate(14px) scale(.98)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes planner-week-label-prev{0%{opacity:.2;transform:translate(-14px) scale(.98)}to{opacity:1;transform:translate(0) scale(1)}}@media (prefers-reduced-motion: reduce){.planner-week-label--animate.is-next,.planner-week-label--animate.is-prev{animation:none}}.planner-days{display:flex;flex-direction:column;gap:14px}.planner-day{position:relative;border:1px solid rgba(148,163,184,.25);border-radius:22px;padding:14px;background:var(--color-bg);box-shadow:0 10px 26px #1f2a360a;overflow:hidden}.planner-day:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;border:1px solid rgba(255,255,255,.65);pointer-events:none}.planner-day-header{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:40px;padding-bottom:10px;border-bottom:1px solid rgba(148,163,184,.18)}.planner-day-icon{font-size:18px}.planner-day-title{font-family:inherit;font-weight:700;color:var(--color-text-main);display:inline-flex;align-items:center;gap:6px}.planner-day-date{font-family:inherit;font-weight:600;color:var(--color-text-muted);font-size:12px}.planner-day-toggle{width:30px;height:30px;border-radius:999px;border:1px solid rgba(148,163,184,.28);background:#a5c1a3;color:#ffffffbf;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:16px}.planner-day-toggle svg{width:20px;height:20px;display:block}.planner-day-viewport{overflow:hidden;transition:height .5s ease;will-change:height}.planner-meals{display:grid;gap:10px;padding-top:10px}@media (prefers-reduced-motion: reduce){.planner-day-viewport{transition:none}}.planner-slot{position:relative;background:#ffffffb3;border:none!important;border-radius:16px;padding:14px 14px 14px 18px;cursor:pointer;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease,background-color .18s ease,opacity .18s ease;-webkit-user-select:none;user-select:none;touch-action:pan-y;box-shadow:none;overflow:hidden}.planner-slot:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;border-radius:16px 0 0 16px;background:#6f9f7b73}.planner-slot:hover{transform:translateY(-1px);box-shadow:inset 0 0 0 1px #6f9f7b40}.planner-slot-title{font-weight:700;margin-bottom:2px;color:var(--color-text-main)}.planner-slot-row{display:flex;align-items:center;gap:12px;width:100%}.planner-slot-row span{flex:1;min-width:0;display:block}.planner-slot-actions{display:inline-flex;align-items:center;gap:10px}.planner-slot-drag{width:38px;height:38px;border:1px solid rgba(148,163,184,.28);background:#ffffffbf;color:var(--color-text-main);border-radius:14px;padding:0;font-size:13px;cursor:grab;box-shadow:none;letter-spacing:1px;font-family:inherit;-webkit-user-select:none;user-select:none;touch-action:none}.planner-slot-drag svg{width:18px;height:18px;margin-top:3px}.planner-slot-drag:active{cursor:grabbing}.planner-slot-sub{color:var(--color-text-muted);font-size:13px}.planner-linked-side-inline-add{margin-top:10px;border:1px dashed rgba(111,159,123,.45);background:#8fbe9a1f;color:#42624b;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:800;width:fit-content}.planner-linked-sides{margin-top:12px;display:flex;flex-direction:column;gap:8px}.planner-linked-sides-label{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.planner-linked-sides-list{display:flex;flex-wrap:wrap;gap:8px}.planner-linked-side-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 8px 6px 10px;border-radius:999px;background:#8fbe9a24;border:1px solid rgba(111,159,123,.24)}.planner-linked-side-link,.planner-linked-side-remove,.planner-linked-side-add{border:none;background:transparent;padding:0}.planner-linked-side-link{font-size:12px;font-weight:700;color:var(--color-text-main)}.planner-linked-side-remove{width:18px;height:18px;border-radius:999px;font-size:15px;line-height:1;color:var(--color-text-muted)}.planner-linked-side-add{padding:6px 12px;border-radius:999px;border:1px dashed rgba(111,159,123,.45);background:#8fbe9a14;color:#42624b;font-size:12px;font-weight:800}.planner-slot-delete{width:38px;height:38px;border:1px solid rgba(148,163,184,.28);background:#ffffffbf;color:var(--color-text-main);border-radius:14px;padding:0;font-size:13px;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;gap:6px}.planner-slot-delete:hover{background:#a4c1a259;border-color:#6f9f7b59;color:var(--color-text-main)}.planner-slot--drag-over{background:#a4c1a224;box-shadow:inset 0 0 0 2px #6f9f7b8c;transform:translateY(-2px) scale(1.02);animation:planner-slot-target-pulse 1s ease-in-out infinite}.planner-slot--drag-source{opacity:.42;transform:scale(.985);box-shadow:inset 0 0 0 1px #6f9f7b2e,0 10px 24px #1f2a361a}.planner-swap-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a59;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:flex-end;justify-content:center;z-index:1200}.planner-swap-sheet{width:min(520px,calc(100% - 24px));background:var(--color-bg-elevated);border-radius:22px 22px 12px 12px;border:1px solid var(--color-border-light);box-shadow:0 -18px 40px #0f172a2e;padding:18px 18px 20px;margin:0 12px 16px;animation:planner-slide-up .31s ease-out}.planner-swap-title{font-size:16px;font-weight:800;color:var(--color-text-main)}.planner-swap-subtitle{font-size:13px;color:var(--color-text-muted);margin-top:4px}.planner-swap-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}@keyframes planner-slide-up{0%{transform:translateY(16px);opacity:.2}to{transform:translateY(0);opacity:1}}@keyframes planner-slot-target-pulse{0%,to{box-shadow:inset 0 0 0 2px #6f9f7b8c,0 10px 24px #6f9f7b14}50%{box-shadow:inset 0 0 0 2px #6f9f7bb8,0 14px 28px #6f9f7b29}}@keyframes planner-drawer-slide-up{0%{transform:translateY(100%);opacity:.96}to{transform:translateY(0);opacity:1}}@keyframes planner-drawer-slide-down{0%{transform:translateY(0);opacity:1}to{transform:translateY(100%);opacity:.96}}@media (prefers-reduced-motion: reduce){.planner-drawer,.planner-drawer.slide-up,.planner-drawer.slide-down,.planner-drag-ghost,.planner-slot--drag-over{animation:none}}html.dark .planner-swap-backdrop{background:#0206178c}html.dark .planner-swap-sheet{background:var(--bg-dark-surface-elevated);border-color:var(--border-dark-strong);box-shadow:0 -18px 40px #00000073}html.dark .planner-swap-title{color:var(--text-dark-primary)}html.dark .planner-swap-subtitle{color:var(--text-dark-secondary)}html.dark .planner-card{background:var(--bg-dark-surface-elevated);border-color:var(--border-dark-strong);box-shadow:0 18px 40px #0006}html.dark .planner-nav{border-color:#94a3b838;background:linear-gradient(180deg,#10192deb,#0b1221e0);box-shadow:0 18px 40px #0006}html.dark .planner-nav .icon-btn{border-color:#94a3b838;background:#2ec77d24;color:var(--text-dark-primary)}html.dark .planner-nav .icon-btn:hover{background:#2ec77d38}html.dark .planner-week-label{border-color:#94a3b82e;background:none;color:var(--text-dark-primary)}html.dark .planner-card.soft{background:var(--bg-dark-surface)}html.dark .planner-day{background:var(--bg-dark-surface-elevated);border-color:var(--border-dark-subtle)}html.dark .planner-day:before{border-color:#ffffff0a}html.dark .planner-day-header{border-bottom-color:#94a3b833}html.dark .planner-day-title{color:var(--text-dark-primary)}html.dark .planner-day-date{color:var(--text-dark-secondary)}html.dark .planner-day-toggle{background:var(--bg-dark-surface);border-color:#94a3b840;color:#e2e8f0bf}html.dark .planner-slot{background:var(--bg-dark-surface-elevated);border:none;box-shadow:none}html.dark .planner-slot:hover{box-shadow:inset 0 0 0 1px #9fc4a038}html.dark .planner-slot-drag,html.dark .planner-slot-delete{background:var(--bg-dark-surface);border-color:var(--border-dark-strong);color:var(--text-dark-primary)}html.dark .planner-slot-delete:hover{background:#9fc4a040;border-color:#9fc4a066}html.dark .planner-slot--drag-over{background:#2ec77d1f;box-shadow:inset 0 0 0 2px #2ec77d66;animation-name:planner-slot-target-pulse-dark}html.dark .planner-slot--drag-source{box-shadow:inset 0 0 0 1px #9fc4a01f,0 12px 28px #0003}html.dark .planner-toast{background:radial-gradient(120% 120% at 100% 0%,rgba(80,156,109,.18),transparent 42%),linear-gradient(180deg,#18201cfa,#121815fa);border-color:#66a87947;box-shadow:0 26px 60px #00000080,inset 0 1px #ffffff0a}html.dark .planner-toast-icon{background:#5cab772e;color:#bce6c6f5;box-shadow:0 10px 18px #00000042}html.dark .planner-toast-title{color:#f1f5f9fa}html.dark .planner-toast-details{color:#cbd5e1c7}@keyframes planner-slot-target-pulse-dark{0%,to{box-shadow:inset 0 0 0 2px #2ec77d66,0 10px 24px #2ec77d14}50%{box-shadow:inset 0 0 0 2px #2ec77d8f,0 14px 30px #2ec77d29}}html.dark .planner-drawer{background:var(--bg-dark-surface);border-color:var(--border-dark-strong);box-shadow:var(--shadow-dark-elevated)}html.dark .planner-drawer-title{color:var(--text-dark-primary)}html.dark .planner-drawer-label{color:var(--text-dark-secondary)}html.dark .planner-drawer-input{background:var(--bg-dark-surface-elevated);border-color:var(--border-dark-subtle);color:var(--text-dark-primary);color-scheme:dark}html.dark .planner-template-row{background:var(--bg-dark-surface-elevated);border-color:var(--border-dark-subtle)}html.dark .planner-template-name{color:var(--text-dark-primary)}html.dark .planner-template-input{background:var(--bg-dark-surface);border-color:var(--border-dark-subtle);color:var(--text-dark-primary)}html.dark .planner-drawer--templates .planner-drawer-input.planner-template-input{background:#1a2436f5;border-color:#5c6e8c7a;color:var(--text-dark-primary);box-shadow:inset 0 1px #ffffff0a}html.dark .planner-drawer--templates .planner-drawer-input.planner-template-input::placeholder{color:#adbbd3b8}html.dark .planner-drawer--templates .planner-drawer-input.planner-template-input:focus{border-color:#92be97b3;box-shadow:0 0 0 2px #92be9733}html.dark .planner-template-divider{background:var(--border-dark-subtle)}html.dark .planner-template-notice,html.dark .planner-template-note{color:var(--text-dark-secondary)}html.dark .planner-template-card{background:#10192db8;border-color:#30405c8c;box-shadow:0 18px 46px #00000059}html.dark .planner-template-helper,html.dark .planner-drawer-subtitle,html.dark .planner-template-empty{color:var(--text-dark-secondary)}html.dark .planner-template-card-title,html.dark .planner-template-meta-value{color:var(--text-dark-primary)}html.dark .planner-template-meta{background:#30405c59;border-color:#30405c8c}html.dark .planner-template-meta-label{color:#9fb1c9f2}html.dark .planner-template-notice--inline{background:#30405c52;border-color:#30405c8c}html.dark .planner-generator-chip{background:#10192db8;border-color:#30405c8c;color:var(--text-dark-primary);box-shadow:0 14px 30px #00000038}html.dark .planner-drawer--generator .planner-template-card{background:#10192de6;box-shadow:0 10px 22px #0000003d}html.dark .planner-generator-chip.is-selected{background:#2ec77d29;border-color:#2ec77d6b}html.dark .planner-generator-toggle{background:#10192dd1;border-color:#30405c8c}html.dark .planner-generator-toggle.is-selected{background:#2ec77d1f;border-color:#2ec77d61}html.dark .planner-generator-toggle-label{color:var(--text-dark-primary)}html.dark .planner-generator-toggle-meta{color:var(--text-dark-secondary)}html.dark .planner-generator-toggle-switch{background:#30405cb8}html.dark .planner-generator-toggle.is-selected .planner-generator-toggle-switch{background:#2ec77d8f}html.dark .planner-generator-toggle-knob{background:#f8fafc}html.dark .planner-generator-chip-meta,html.dark .planner-generator-disclaimer,html.dark .planner-generator-empty-line,html.dark .planner-generator-existing-line,html.dark .planner-generator-reason{color:var(--text-dark-secondary)}html.dark .planner-generator-summary,html.dark .planner-generator-preview-slot,html.dark .planner-generator-recipe-line{color:var(--text-dark-primary)}html.dark .planner-generator-stats span{background:#30405c59;border-color:#30405c8c;color:var(--text-dark-secondary)}html.dark .planner-generator-preview-row{background:#10192de0;border-color:#30405c8c}html.dark .planner-generator-preview-row.is-filled{border-color:#2ec77d57}html.dark .planner-generator-preview-row.is-conflict{background:#563d0e3d;border-color:#f0b74c6b}html.dark .planner-generator-preview-row.is-removed{background:#561d1d42;border-color:#d35c5c66}html.dark .planner-generator-status--filled{background:#2ec77d29;color:#c6ffdceb}html.dark .planner-generator-status--conflict{background:#f0b74c2e;color:#ffe0a3eb}html.dark .planner-generator-status--skipped,html.dark .planner-generator-status--unmatched,html.dark .planner-generator-status--removed{background:#30405c73;color:var(--text-dark-secondary)}html.dark .planner-generator-status--removed{background:#d35c5c2e;color:#ffd1d1f2}html.dark .planner-generator-choice{background:#10192dd1;border-color:#30405c8c;color:var(--text-dark-primary)}html.dark .planner-generator-choice.is-selected{background:#2ec77d29;border-color:#2ec77d6b}html.dark .planner-generator-sides-label{color:var(--text-dark-secondary)}html.dark .planner-generator-side-add{border-color:#2ec77d59;background:#2ec77d24;color:#c6ffdceb}html.dark .planner-generator-header-clear{background:#d35c5c2e;border-color:#d35c5c66;color:#ffd1d1f2}html.dark .planner-generator-choice--danger.is-selected{background:#d35c5c2e;border-color:#d35c5c6b;color:#ffd1d1f2}html.dark .planner-linked-side-inline-add,html.dark .planner-linked-side-add{background:#2ec77d1a;border-color:#2ec77d59;color:#c6ffdceb}html.dark .planner-linked-side-pill{background:#2ec77d1a;border-color:#2ec77d38}html.dark .planner-linked-side-link{color:var(--text-dark-primary)}html.dark .planner-linked-side-remove,html.dark .planner-linked-sides-label{color:var(--text-dark-secondary)}html.dark .planner-template-icon-btn{background:#10192db8;border-color:#30405c8c;color:#9fb1c9f2}html.dark .planner-template-icon-btn:hover:not(:disabled){background:#30405c73;border-color:#30405cbf}html.dark .planner-template-icon-btn--danger{color:#9fb1c9f2}html.dark .planner-template-icon-btn--danger:hover:not(:disabled){background:#30405c73;border-color:#30405cbf}@media (max-width: 380px){.planner-template-save-row{grid-template-columns:1fr}}html.dark .planner-template-conflict-row{color:var(--text-dark-secondary)}html.dark .planner-template-conflict-recipe{color:var(--text-dark-primary)}.cta-row{display:flex;gap:10px;margin-top:12px}.planner-bottom-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.planner-bottom-actions .btn{width:100%;padding:12px 14px;border-radius:999px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px}.planner-bottom-actions .btn.btn-ghost{background:#e6f1e9;border:1px solid rgba(148,163,184,.3)}html.dark .planner-bottom-actions .btn.btn-ghost{background:#0f172a66;border-color:var(--border-dark-subtle);color:var(--text-dark-primary)}.planner-action-ai-icon{width:30px;height:30px;display:block;filter:brightness(0) invert(1)}.planner-action-grocery-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:transparent;color:#0f172a}.planner-action-grocery-icon svg{width:25px;height:25px;display:block}html.dark .planner-action-grocery-icon{background:transparent;color:#fff}:where(html){--planner-add-surface: #f8f0e3;--planner-add-accent: #eee0cd;--planner-add-edge: #d5c3ab;--planner-add-ink: #694f39}html.dark{--planner-add-surface: #322b24;--planner-add-accent: #4c3d2e;--planner-add-edge: #78624b;--planner-add-ink: #ead5bb}:is(body,#root,.app-root):has(.app-content>.planner-redesign){background:var(--redesign-paper)}.app-root:has(>.app-content>.planner-redesign){border:0;border-radius:0;box-shadow:none;overflow:clip}html.dark :is(body,#root,.app-root,.app-content):has(.planner-redesign){background:var(--bg-dark-page)}.app-content:has(>.planner-redesign){--app-content-pad-x: 0px}.planner-redesign{--planner-gutter: clamp(16px, 4vw, 28px);--planner-meal-inset: 30px;--planner-thumbnail-size: 60px;--planner-day-surface: color-mix(in srgb, var(--redesign-oat) 52%, var(--redesign-paper));gap:18px;padding:18px var(--planner-gutter) 10px;color:var(--redesign-card-title)}html.dark .planner-redesign{--redesign-paper: var(--bg-dark-page);--redesign-oat: var(--bg-dark-surface-elevated);--redesign-cream: var(--bg-dark-surface)}.planner-redesign :is(button,summary):focus-visible{outline:2px solid var(--redesign-muted);outline-offset:2px}.planner-page-heading,.planner-page-actions{display:flex;align-items:center;gap:8px}.planner-page-heading{justify-content:space-between}.planner-page-heading h1{margin:0;font:700 clamp(2rem,6vw,2.75rem)/1.05 var(--font-display);letter-spacing:-.035em}.planner-page-menu{position:relative;z-index:6}.planner-page-menu summary{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;list-style:none;background:var(--redesign-sage);color:var(--redesign-ink);cursor:pointer}.planner-page-menu summary::-webkit-details-marker{display:none}.planner-page-menu>div{position:absolute;right:0;top:calc(100% + 6px);width:max-content;padding:5px;border:1px solid var(--color-border-light);border-radius:14px;background:var(--redesign-cream);box-shadow:0 8px 20px #171c141c}.planner-page-menu[open]>div{animation:planner-menu-reveal .16s ease-out both}@keyframes planner-menu-reveal{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.planner-page-menu button{display:block;width:100%;min-height:44px;padding-inline:12px;border:0;border-radius:9px;background:transparent;color:inherit;text-align:left;font:600 .85rem/1.25 var(--font-body);cursor:pointer}.planner-page-menu button:hover{background:var(--redesign-oat)}.planner-redesign .planner-destructive{color:#93483b}html.dark .planner-redesign .planner-destructive{color:#efab9e}.planner-layout,.planner-sidebar{display:grid;gap:14px;min-width:0}.planner-week-card{display:grid;justify-items:center;gap:3px;padding:7px 14px;border-radius:22px;background:var(--redesign-leaf) url(/icons/redesign/sprig.svg) right -19px bottom -38px / 152px no-repeat;color:var(--redesign-ink)}.planner-week-card .planner-week-label{margin:0;color:inherit;font:700 1.48rem/1.15 var(--font-display);text-align:center}.planner-week-label span{display:block}.planner-week-count{font-size:.76rem;color:var(--redesign-muted)}.planner-week-controls{display:flex;justify-content:space-between;gap:8px;width:100%}.planner-week-controls button,.planner-board-pagination button{display:grid;place-items:center;min-width:44px;min-height:44px;padding:0;border:0;border-radius:50%;background:var(--redesign-sage);color:var(--redesign-ink);cursor:pointer}.planner-week-controls button:hover,.planner-board-pagination button:hover:not(:disabled){background:var(--redesign-cream)}.planner-week-controls .planner-go-today{padding-inline:17px;border-radius:999px;font-weight:700}.planner-main-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.planner-control{display:inline-flex;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:8px 10px;border:0;border-radius:14px;background:var(--redesign-oat);color:inherit;font:700 .85rem/1.2 var(--font-body);cursor:pointer;transition:background-color .16s ease}.planner-control svg{flex:none}.planner-control:hover{background:color-mix(in srgb,var(--redesign-leaf) 68%,var(--redesign-oat))}.planner-control.planner-generate{background:var(--redesign-action);color:var(--redesign-action-ink)}.planner-control.planner-generate:hover{background:color-mix(in srgb,var(--redesign-action) 87%,var(--redesign-ink))}.planner-control.planner-toggle-all,.planner-control.planner-grocery-link{background:var(--redesign-sage);color:var(--redesign-ink)}.planner-control.planner-grocery-link:hover,.planner-control.planner-toggle-all:hover{background:var(--redesign-leaf)}.planner-grocery-link small{color:var(--redesign-muted);font-weight:500}.planner-floating-groceries{position:sticky;bottom:calc(var(--bottom-nav-clearance, 92px) + 10px);z-index:5;justify-content:flex-start;min-height:48px;padding-inline:15px;box-shadow:0 4px 16px #252d1814}.planner-floating-groceries small{margin-left:auto}.planner-results{min-width:0}.planner-days{gap:17px}:is(html,html.dark) .planner-redesign .planner-day{padding:0;border:0;border-radius:18px;background:var(--planner-day-surface);box-shadow:none;scroll-margin-top:12px}.planner-redesign .planner-day:before,.planner-redesign .planner-slot:before{display:none}.planner-redesign .planner-day-header{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:62px;padding:9px 11px 9px 14px;border:0;border-radius:18px;text-align:left;background:var(--redesign-oat);color:var(--redesign-card-title);cursor:pointer}.planner-redesign .planner-day-header.is-today{background:var(--redesign-sage)}.planner-redesign .planner-day-title{flex-wrap:wrap;gap:4px 7px;font:700 clamp(1.3rem,4.5vw,1.62rem)/1.13 var(--font-display);letter-spacing:-.025em;color:inherit}.planner-redesign :is(.planner-day-date,.planner-day-summary,.planner-today-badge){font:500 .75rem/1.2 var(--font-body);letter-spacing:0;color:var(--redesign-card-muted)}.planner-day-summary{flex-basis:100%}.planner-redesign .planner-today-badge{background:var(--redesign-leaf);color:var(--redesign-ink);border-radius:20px;padding:4px 7px}.planner-redesign .planner-day-toggle{width:38px;height:38px;flex:none;border:0;color:var(--redesign-ink);background:var(--redesign-sage)}.planner-redesign .planner-day-header:hover .planner-day-toggle,.planner-redesign .planner-day-header.is-today .planner-day-toggle{background:var(--redesign-cream)}.planner-redesign .planner-meals{padding:11px 12px 12px;gap:12px}.planner-meal-group{min-width:0}.planner-meal-label{display:flex;align-items:center;gap:6px;margin-bottom:5px;color:var(--redesign-muted);font-size:.81rem;font-weight:700}.planner-meal-label:before{content:"";width:6px;height:6px;flex:none;border-radius:50%;background:#82996f}:is(html,html.dark) .planner-redesign .planner-slot{overflow:visible;background:transparent;border-radius:12px;padding:0;cursor:auto;box-shadow:none;transform:none;touch-action:auto}:is(html,html.dark) .planner-redesign .planner-slot--drag-over{outline:2px solid var(--redesign-muted);background:var(--redesign-sage)}.planner-meal-row{display:flex;align-items:center;gap:4px;min-width:0}.planner-recipe-open{display:flex;align-items:flex-start;gap:10px;flex:1;min-width:0;min-height:44px;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.planner-recipe-open:hover strong{text-decoration:underline;text-underline-offset:3px}.planner-meal-preview{display:grid;flex:0 0 var(--planner-thumbnail-size);width:var(--planner-thumbnail-size);aspect-ratio:1;align-self:flex-start;border-radius:12px;background:var(--redesign-oat);overflow:hidden}.planner-meal-preview>img,.planner-meal-preview>span,.planner-meal-preview>span>img{display:grid;place-items:center;width:100%;height:100%;object-fit:cover;font-size:1.65rem}.planner-meal-preview>[hidden]{display:none}.planner-meal-copy{display:grid;gap:3px;min-width:0;align-self:center}.planner-meal-copy strong{font-size:.91rem;line-height:1.25;overflow-wrap:anywhere}.planner-meal-copy small{display:flex;align-items:center;gap:4px;font-size:.72rem;color:var(--redesign-card-muted)}.planner-drag-ghost{--planner-thumbnail-size: 40px;position:fixed;z-index:1500;display:flex;align-items:center;gap:9px;width:min(245px,calc(100vw - 24px));min-height:56px;box-sizing:border-box;padding:7px 9px;border:1px solid var(--color-border-light);border-radius:13px;background:var(--redesign-cream);color:var(--redesign-card-title);box-shadow:0 8px 22px #17241335;pointer-events:none}.planner-drag-ghost .planner-meal-copy strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.planner-drag-image{top:0;left:-1000px}.planner-drag-ghost--touch{transform:translateY(-55%);animation:planner-drag-lift 135ms ease-out both}html.dark .planner-drag-ghost{background:var(--bg-dark-surface-elevated)}@keyframes planner-drag-lift{0%{opacity:.4;transform:translateY(-48%) scale(.97)}to{opacity:1;transform:translateY(-55%) scale(1)}}:is(html,html.dark) .planner-redesign .planner-slot--drag-over{animation:none}:is(html,html.dark) .planner-redesign :is(.planner-slot-drag,.planner-meal-options-trigger){display:grid;place-items:center;flex:none;min-height:44px;padding:0;border:0;border-radius:11px;color:var(--redesign-card-muted);background:transparent;box-shadow:none}.planner-redesign .planner-slot-drag{width:calc(var(--planner-meal-inset) - 4px);touch-action:none}.planner-redesign .planner-slot-drag svg{width:14px;height:18px;margin:0}.planner-meal-options-trigger{width:44px;cursor:pointer}.planner-redesign .planner-meal-options-trigger:hover{background:var(--redesign-oat);color:var(--redesign-card-title)}.planner-meal-options{display:grid;gap:8px}.planner-meal-options .btn{justify-content:center;min-height:44px}.planner-meal-options .btn.planner-remove-option{color:#93483b;background:#f8eae4}html.dark .planner-meal-options .btn.planner-remove-option{color:#efab9e;background:#382522}.planner-redesign .planner-linked-side-inline-add,.planner-redesign .planner-linked-sides{margin:2px 0 0 calc(var(--planner-meal-inset) + var(--planner-thumbnail-size) + 10px)}:is(html,html.dark) .planner-redesign .planner-linked-side-inline-add{min-height:33px;padding:3px 0;background:transparent;border:0;color:var(--redesign-muted);font-size:.79rem;cursor:pointer}.planner-redesign .planner-linked-side-inline-add:hover{text-decoration:underline}.planner-redesign .planner-add-meal{display:flex;justify-content:center;align-items:center;gap:8px;width:100%;min-height:48px;border:1px dashed var(--planner-add-edge);border-radius:12px;background:var(--planner-add-surface);color:var(--planner-add-ink);font:700 .86rem/1.2 var(--font-body);cursor:pointer;transition:background-color .16s ease}.planner-add-meal span{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:var(--planner-add-accent);font-size:1.02rem;font-weight:500}.planner-redesign .planner-add-meal:hover{background:var(--planner-add-accent)}.planner-redesign .planner-wide-only,.planner-redesign.is-wide .planner-compact-only{display:none}:is(html,body):has(.planner-redesign.is-wide){overflow:hidden}.app-root:has(>.app-content>.planner-redesign.is-wide){--app-root-width: 100vw;max-width:none;min-height:0}.app-content:has(>.planner-redesign.is-wide){padding:0}.planner-redesign.is-wide{--planner-board-gap: 18px;--planner-thumbnail-size: 56px;--planner-meal-inset: 24px;display:grid;grid-template-rows:auto minmax(0,1fr);height:var(--native-content-height, 100dvh);min-height:0;gap:18px;padding:18px var(--planner-gutter) calc(12px + var(--native-planner-bottom-inset, 0px))}.planner-redesign.is-wide .planner-layout{grid-template-columns:clamp(154px,16vw,196px) minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:clamp(14px,2vw,28px);min-height:0}.planner-redesign.is-wide .planner-sidebar{align-content:start;gap:10px;min-height:0;padding:3px;overflow-y:auto;overscroll-behavior:contain}.planner-redesign.is-wide .planner-week-card{padding:7px;border-radius:17px}.planner-redesign.is-wide .planner-week-label{font-size:1.18rem}.planner-redesign.is-wide .planner-week-controls{gap:4px}.planner-redesign.is-wide .planner-week-controls button{min-width:36px}.planner-redesign.is-wide .planner-go-today{padding-inline:10px}.planner-redesign.is-wide :is(.planner-side-utilities,.planner-main-actions){display:grid;grid-template-columns:1fr;gap:5px}.planner-side-utilities{background:var(--redesign-oat);border-radius:15px;padding:4px}.planner-side-utilities .planner-control{justify-content:flex-start;background:var(--redesign-cream)}.planner-redesign.is-wide .planner-grocery-link.planner-wide-only{display:flex;flex-wrap:wrap}.planner-redesign.is-wide .planner-grocery-link small{flex-basis:100%}.planner-redesign.is-wide .planner-results{display:flex;flex-direction:column;min-height:0;gap:10px}.planner-redesign.is-wide .planner-closed-strip{display:flex;flex:none;gap:8px;padding:3px;overflow-x:auto;overscroll-behavior:contain;scrollbar-width:thin}.planner-closed-strip>div{flex:0 0 190px}.planner-redesign.is-wide .all-days-closed .planner-closed-strip{flex:0 1 auto;flex-wrap:wrap;overflow-y:auto;min-height:0}.planner-closed-strip .planner-day-title{font-size:1.18rem}.planner-redesign.is-wide .planner-board-scroll{position:relative;flex:1 1 0;min-height:0;padding:3px;overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y;scroll-snap-type:x proximity;scroll-padding-inline:3px;scrollbar-width:thin}.planner-board-scroll:focus-visible{outline:2px solid var(--redesign-muted);outline-offset:-2px}.planner-redesign.is-wide .all-days-closed .planner-board-scroll,.planner-redesign.is-wide .planner-day:not(.is-open){display:none}.planner-redesign.is-wide .planner-days{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - var(--planner-board-gap)) / 2);align-items:start;gap:var(--planner-board-gap)}:is(html,html.dark) .planner-redesign.is-wide .planner-day{overflow:visible;min-width:0;scroll-snap-align:start}.planner-redesign.is-wide .planner-day-header{position:sticky;top:0;z-index:2}.planner-redesign.is-wide .planner-day-viewport{height:auto!important}.planner-redesign.is-wide .planner-board-pagination{display:flex;justify-content:center;align-items:center;gap:14px}.planner-board-pagination button:disabled{opacity:.35;cursor:default}.planner-board-pagination span{min-width:12ch;text-align:center;font:600 .96rem/1.2 var(--font-display)}.planner-redesign.is-wide .planner-closed-message{display:block;margin:0 3px;color:var(--redesign-card-muted)}@media (min-width: 900px) and (orientation: landscape){html:not(.native-navigation-ready) .planner-redesign.is-wide{height:calc(100dvh - var(--app-safe-top));padding-right:calc(var(--planner-gutter) + 75px)}html:not(.native-navigation-ready) .app-root:has(>.app-content>.planner-redesign.is-wide) .bottom-nav-wrapper{inset:50% 12px auto auto;transform:translateY(-50%);width:66px;max-width:none;padding:0}html:not(.native-navigation-ready) .app-root:has(>.app-content>.planner-redesign.is-wide) .bottom-nav-bar{display:flex;flex-direction:column;gap:3px;padding:5px;border-radius:23px;background:var(--redesign-cream);box-shadow:none}html:not(.native-navigation-ready) .app-root:has(>.app-content>.planner-redesign.is-wide) .nav-item{width:100%;min-height:52px;padding:3px 0;font-size:.56rem;letter-spacing:0;text-transform:none}}.planner-redesign .planner-drawer-backdrop{background:#1c261759;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}:is(html,html.dark) .planner-redesign .planner-drawer{position:relative;max-width:530px;padding:24px clamp(16px,4vw,23px) max(16px,env(safe-area-inset-bottom));border-radius:26px 26px 0 0;background:var(--redesign-paper);box-shadow:0 -8px 30px #131b1726}.planner-redesign .planner-drawer:before{content:"";position:absolute;top:8px;left:calc(50% - 19px);width:38px;height:4px;border-radius:8px;background:var(--redesign-action)}.planner-redesign .planner-drawer .planner-drawer-title{color:var(--redesign-card-title);font:700 clamp(1.55rem,4vw,1.85rem)/1.1 var(--font-display)}.planner-redesign .planner-drawer :is(.planner-drawer-subtitle,.planner-template-helper,.planner-drawer-label){color:var(--redesign-card-muted)}.planner-redesign .planner-drawer-header .icon-btn{border:0;border-radius:50%;background:var(--redesign-oat);color:var(--redesign-ink);box-shadow:none}:is(html,html.dark) .planner-redesign .planner-drawer .planner-template-card{background:transparent;border:0;box-shadow:none;padding:12px 2px}:is(html,html.dark) .planner-redesign .planner-drawer--templates .planner-template-card:has(.planner-template-save-row){background:var(--redesign-sage);padding:14px}.planner-redesign .planner-drawer .planner-template-row{border:0;box-shadow:none;background:var(--redesign-oat)}.planner-redesign .planner-drawer .planner-generator-chip{min-height:44px;border:0;border-radius:13px;box-shadow:none;background:var(--redesign-oat);color:var(--redesign-card-title);transform:none}.planner-redesign .planner-drawer .planner-generator-chip.is-selected,.planner-redesign .planner-drawer .btn.btn-primary:not(.btn-danger){background:var(--redesign-action);color:var(--redesign-action-ink);box-shadow:none}.planner-redesign .planner-drawer .planner-generator-chip.is-selected .planner-generator-chip-meta{color:inherit}.planner-redesign .planner-drawer .planner-generator-chip-grid:not(.planner-generator-chip-grid--compact){display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.planner-redesign .planner-drawer .planner-generator-chip-grid:not(.planner-generator-chip-grid--compact) .planner-generator-chip{padding-inline:5px;align-items:center;justify-content:center;font-size:clamp(.66rem,2.6vw,.78rem)}@media (prefers-reduced-motion: reduce){.planner-page-menu[open]>div,.planner-drag-ghost--touch{animation:none}.planner-control,.planner-redesign .planner-add-meal,.planner-redesign .planner-slot{transition:none}}.planner-redesign .planner-drawer-header .icon-btn{display:inline-grid;place-items:center;flex:0 0 44px;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:0;border-radius:50%;box-shadow:none}.planner-redesign .planner-drawer-header .icon-btn .back-icon{display:grid;place-items:center;width:auto;height:auto;padding:0;border:0;background:transparent;box-shadow:none}html .planner-redesign .planner-swap-sheet{background:var(--redesign-paper);border:0;border-radius:24px;padding:22px;box-shadow:0 16px 45px #202c2433}html .planner-redesign .planner-swap-title{color:var(--redesign-card-title);font:700 1.6rem/1.15 var(--redesign-heading)}html .planner-redesign .planner-swap-subtitle{color:var(--redesign-muted);margin-top:8px;line-height:1.4}html .planner-redesign .planner-swap-actions button{min-height:46px;border:0;border-radius:12px;background:var(--redesign-oat);color:var(--redesign-ink);box-shadow:none}html .planner-redesign .planner-swap-actions button:first-child{background:var(--redesign-action);color:var(--redesign-action-ink)}.planner-redesign .planner-page-heading h1{display:flex;align-items:center;gap:9px}.planner-heading-icon{display:grid;place-items:center;flex:0 0 40px;height:40px;border-radius:12px;background:var(--redesign-sage);color:var(--redesign-ink)}.planner-heading-icon svg{width:22px;height:22px}:is(html,html.dark) .planner-redesign .planner-meal-options-trigger{background:var(--redesign-oat);color:var(--redesign-card-muted)}:is(html,html.dark) .planner-redesign .planner-meal-options-trigger:hover{background:var(--redesign-leaf);color:var(--redesign-ink)}.recipe-picker-page{--recipe-picker-header-offset: max(0px, calc(var(--app-safe-top, 0px) - 24px));padding:20px 18px calc(env(safe-area-inset-bottom,0px) + 8px);display:flex;flex-direction:column;gap:16px;height:100%;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.recipe-picker-page.is-dragging-sheet{-webkit-user-select:none;user-select:none}.recipe-picker-grab-zone{display:flex;justify-content:center;align-items:center;margin-bottom:-8px;touch-action:none;cursor:grab;position:relative}.recipe-picker-grab-zone:before{content:"";position:absolute;left:0;right:0;top:-12px;height:16px}.recipe-picker-grab-bar{width:76px;height:8px;border-radius:999px;background:#94a3b899}.recipe-picker-grab-zone:hover .recipe-picker-grab-bar{background:#94a3b8d9}.recipe-picker-page .page-header{display:flex;align-items:center;gap:0;margin-bottom:4px;justify-content:center;position:relative;min-height:calc(56px + var(--recipe-picker-header-offset));padding-top:var(--recipe-picker-header-offset)}.recipe-picker-page .page-header .icon-btn{position:absolute;left:0;top:var(--recipe-picker-header-offset);flex-shrink:0}.recipe-picker-page .page-header .back-icon{background:#fcfdf98a;border-color:#e1e7d6eb;box-shadow:0 12px 24px #1f2a3614,inset 0 1px #ffffff47}.recipe-picker-page .page-header .page-title,.recipe-picker-page .page-header .page-subtitle{text-align:center}.recipe-picker-page .page-header>div:nth-child(2){min-width:0;width:100%;padding:0 64px}.recipe-picker-page .folder-card{background:linear-gradient(135deg,#fffffff5,#ffffffd6);border-radius:20px;padding:16px;border:none;box-shadow:none;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.recipe-picker-page .folder-card:hover{transform:translateY(-2px);box-shadow:none}.recipe-picker-page .folder-card--active{background:linear-gradient(135deg,#a4c1a2f2,#a4c1a2b3)!important;border-color:transparent!important;box-shadow:none;transform:translateY(-2px)}html.dark .recipe-picker-page .folder-card{background:linear-gradient(135deg,#10192df2,#10192dcc);border:none;color:var(--text-dark-secondary);box-shadow:none;transition:transform .12s ease,border-color .12s ease,background-color .12s ease}html.dark .recipe-picker-grab-bar{background:#7e91abb8}html.dark .recipe-picker-grab-zone:hover .recipe-picker-grab-bar{background:#9aaec6eb}html.dark .recipe-picker-page .folder-card:hover{transform:translateY(-1px)}html.dark .recipe-picker-page .page-header .back-icon{background:#0f172a7a;border-color:#ffffff1f;box-shadow:0 12px 22px #0206174d,inset 0 1px #ffffff14}.recipe-picker-header{display:flex;align-items:center;gap:12px}.recipe-picker-header .page-title{font-size:20px;font-weight:600}.recipe-picker-header .page-subtitle{font-size:14px;opacity:.7}.recipes-toolbar{display:flex;flex-direction:column;gap:10px}.recipes-toolbar .toolbar-buttons{display:flex;flex-wrap:wrap;gap:8px}.recipe-picker-page .recipes-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.recipe-picker-meal-tiles--hidden{display:none}.recipe-picker-cover-grid{margin-top:2px}.recipe-picker-cover-card{border:none;padding:0;width:100%;text-align:left}.recipe-picker-cover-card .recipe-cover-card-media{min-height:250px}.recipe-picker-page .recipes-actions .action-btn{padding:10px 8px;border-radius:12px;font-size:.76rem;min-width:0}.recipe-picker-page .recipes-actions .action-btn--add{gap:6px;padding:10px 8px}.recipe-picker-page .recipes-actions .action-btn-icon{width:20px;height:20px;border-radius:8px}.recipe-picker-page .recipes-actions .action-btn-icon svg{width:13px;height:13px}.recipe-recents-section{display:flex;flex-direction:column;gap:10px}.recents-toggle-btn{justify-content:center}.recents-toggle-btn.is-active{background:#a4c1a247;border-color:#6f9f7b73}.recents-toggle-btn:focus-visible,.recipe-recents-item:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.recipe-recents-panel{border:1px solid var(--glass-chrome-border);border-radius:16px;padding:10px;background:var(--glass-chrome-bg);box-shadow:var(--glass-chrome-shadow-soft),var(--glass-chrome-highlight);animation:recipe-recents-panel-in .22s ease-out;backdrop-filter:var(--glass-chrome-blur);-webkit-backdrop-filter:var(--glass-chrome-blur)}.recipe-recents-panel-header{font-size:12px;font-weight:700;color:var(--color-text-muted);margin:0 2px 8px;text-transform:uppercase;letter-spacing:.03em}.recipe-recents-list{display:flex;flex-direction:column;gap:8px;max-height:220px;overflow-y:auto;padding-right:2px;-webkit-overflow-scrolling:touch}.recipe-recents-item{width:100%;display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:10px;border:1px solid rgba(255,255,255,.16);background:#ffffff2e;border-radius:14px;padding:6px;cursor:pointer;text-align:left;transition:transform .15s ease,border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.recipe-recents-item:hover{transform:translateY(-1px);border-color:#ffffff3d;background:#ffffff52;box-shadow:0 8px 16px #1f2a361a}.recipe-recents-item-image{width:52px;height:52px;border-radius:10px;object-fit:cover;display:block}.recipe-recents-item-icon{width:52px;height:52px;min-width:52px;min-height:52px;border-radius:10px}.recipe-recents-item-body{min-width:0;display:flex;flex-direction:column;gap:2px}.recipe-recents-item-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;font-weight:600;color:var(--color-text-main)}.recipe-recents-empty{font-size:.82rem;color:var(--color-text-muted);padding:4px 2px 2px}@keyframes recipe-recents-panel-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.recipe-recents-panel{animation:none}}@media (max-width: 520px){.recipe-picker-page .page-header{align-items:center}.recipe-picker-cover-card .recipe-cover-card-media{min-height:220px}}html.dark .recents-toggle-btn{color:var(--text-dark-primary)}html.dark .recents-toggle-btn.is-active{background:#2ec77d29;border-color:#2ec77d59}html.dark .recipe-recents-panel{background:var(--glass-chrome-bg);border-color:var(--glass-chrome-border);box-shadow:var(--glass-chrome-shadow),var(--glass-chrome-highlight)}html.dark .recipe-recents-item{background:#ffffff0f;border-color:#ffffff14}html.dark .recipe-recents-item:hover{background:#ffffff1a;border-color:#ffffff1f}html.dark .recipe-recents-panel-header,html.dark .recipe-recents-empty{color:var(--text-dark-secondary)}html.dark .recipe-recents-item-title{color:var(--text-dark-primary)}.recipe-picker-sheet-content{padding-bottom:0}.modal-search-input,.recipe-picker-search{width:100%;padding:12px;border-radius:10px;border:1px solid #E2E8F0;font-size:16px;outline:none;background:#fafafa}.modal-search-input:focus,.recipe-picker-search:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #a4c1a24d}.recipe-picker-list{display:flex;flex-direction:column;gap:12px}.recipe-picker-page .recipe-card{width:100%;height:104px;min-height:104px;padding:0 12px 0 0;background:#fff;border-radius:18px;border:none;box-shadow:0 8px 18px #1f2a361f;display:flex;flex-direction:row;align-items:center;column-gap:12px;overflow:hidden}.recipe-picker-page .recipe-card:active{transform:scale(.99)}.recipe-picker-page .recipe-card-image,.recipe-picker-page .recipe-card img{width:104px;height:104px;min-width:104px;aspect-ratio:1 / 1;display:block;object-fit:cover;border-radius:0;flex:0 0 130px;flex-shrink:0}.recipe-picker-page .recipe-card .recipe-emoji,.recipe-picker-page .recipe-card .recipe-icon-wrap{width:80px;height:80px;min-width:80px;aspect-ratio:1 / 1;border-radius:14px;margin-left:12px;padding:0;display:flex;align-items:center;justify-content:center;font-size:34px;background:linear-gradient(135deg,#ffffffe6,#f2b48740);flex:0 0 80px;flex-shrink:0}.recipe-picker-page .recipe-card .recipe-icon-image{width:100%;height:100%;object-fit:contain;border-radius:14px}.recipe-picker-page .recipe-main{display:flex;flex-direction:column;gap:4px;align-items:flex-start;text-align:left;flex:1;min-width:0;margin:0;padding:0 28px 0 0;background:transparent;border:none;box-shadow:none;position:relative;justify-content:center;overflow:hidden}.recipe-picker-page .recipe-title{font-weight:700;font-size:16px;letter-spacing:-.01em;color:var(--color-text-main);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.2}.recipe-picker-page .recipe-sub{color:var(--color-text-muted);font-size:12px;font-weight:600;display:flex;align-items:center;gap:6px;white-space:nowrap}.recipe-picker-page .recipe-time-icon{display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;color:var(--color-text-muted)}.recipe-picker-page .recipe-time-icon svg{width:12px;height:12px}.recipe-picker-page .recipe-tags{display:flex;gap:6px;flex-wrap:wrap;row-gap:6px;max-height:32px;overflow:hidden}.recipe-picker-page .recipe-tag-pill{background:#a5c1a32e;color:#2a3a2f;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:700;border:none;white-space:nowrap}.recipe-picker-item{display:flex;align-items:center;background:#fff;border-radius:12px;padding:14px;border:1px solid #E2E8F0;font-size:17px;cursor:pointer;transition:background .15s ease}.recipe-picker-item:active{background:#f1f5f9}.recipe-picker-item .emoji{font-size:22px;margin-right:12px}.recipe-picker-item .title{flex:1}html.dark .recipe-picker-item{background:#0f172a;border-color:#334155;color:#e2e8f0}html.dark .recipe-picker-item:active{background:#1e293b}.custom-note-body{display:flex;flex-direction:column;gap:10px}.custom-note-label{display:flex;flex-direction:column;gap:6px;font-weight:600;color:var(--color-text-main)}.custom-note-input,.custom-note-textarea{width:100%;padding:10px;border:1px solid var(--color-border-light);border-radius:12px;font-size:16px;background:var(--input-bg);color:var(--color-text-main)}.custom-note-textarea{min-height:90px;resize:vertical}.custom-note-input{min-height:52px}.custom-note-actions{display:flex;gap:8px;justify-content:flex-end}.custom-emoji-row{display:flex;flex-direction:column;gap:8px;align-items:stretch}.emoji-picker-shell{border:1px solid var(--color-border-light);border-radius:12px;padding:8px;background:var(--color-bg-elevated);box-shadow:var(--shadow-dark-elevated, 0 10px 28px rgba(31, 42, 54, .1))}.custom-note-suggestions{display:flex;flex-direction:column;gap:6px}.custom-note-hint{font-size:13px;color:var(--color-text-muted)}.custom-note-chip-row{display:flex;flex-wrap:wrap;gap:6px}.custom-note-chip{border:1px solid var(--color-border-light);background:var(--color-bg-elevated);border-radius:12px;padding:6px 10px;display:inline-flex;align-items:center;gap:6px;cursor:pointer;transition:background .15s ease,border-color .15s ease}.custom-note-chip:hover{background:#a4c1a21f;border-color:var(--color-primary)}.custom-note-chip-emoji{font-size:16px}.custom-note-chip-text{font-size:14px;color:var(--color-text-main)}.recipe-picker-custom-note-backdrop{z-index:2400}.native-ios-shell.keyboard-open .recipe-picker-custom-note-backdrop{padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}.recipe-picker-custom-note-modal{position:relative;z-index:2401;max-width:min(92vw,420px);max-height:none}.native-ios-shell.keyboard-open .recipe-picker-custom-note-modal{max-height:none}.recipe-picker-custom-note-modal .modal-body{flex:0 1 auto;overflow:visible}.native-ios-shell.keyboard-open .recipe-picker-custom-note-modal .modal-body.keyboard-scroll-container{padding-bottom:0;scroll-padding-bottom:0}.recipe-picker-custom-note-modal .custom-note-body{gap:12px}.recipe-picker-page .recipes-scroll-top{right:20px;left:auto;bottom:calc(var(--bottom-nav-clearance) + 40px)}.recipe-picker-page>.recipe-picker-grab-zone{order:0}.recipe-picker-page .recipes-library-toolbar>.page-header{order:1}.recipe-picker-page .recipes-library-sidebar>.recipes-search-card{order:2}.recipe-picker-page .recipes-library-sidebar>.recipes-filter-bar-shell{order:3}.recipe-picker-page .recipes-library-toolbar>.recipes-actions{order:4}.recipe-picker-page .recipes-library-main>.recipe-recents-section{order:5}.recipe-picker-page .recipes-library-sidebar>.recipes-tag-shortcuts{order:6}.recipe-picker-page .recipes-library-main>:is(.recipe-cover-grid,.list-stack){order:7}html.native-navigation-ready.native-recipe-library-sidebar .bottom-sheet.recipe-picker-sheet{max-width:none;width:100%}html.native-navigation-ready.native-recipe-library-sidebar .recipe-picker-page{--library-sidebar-clearance: 44px;grid-template-rows:8px auto;padding-bottom:calc(16px + var(--native-scroll-bottom-inset, 0px))}html.native-navigation-ready.native-recipe-library-sidebar .recipe-picker-page>.recipe-picker-grab-zone{grid-column:1 / -1;grid-row:1;margin:0}html.native-navigation-ready.native-recipe-library-sidebar .recipe-picker-page>:is(.recipes-library-sidebar,.recipes-library-main){grid-row:2}html.native-navigation-ready.native-recipe-library-sidebar .recipe-picker-page>.recipes-library-sidebar{max-height:calc(min(var(--native-content-height, 100dvh),var(--vv-height, 100dvh)) - var(--library-sidebar-clearance));padding-bottom:8px}html.native-navigation-ready.native-recipe-library-sidebar .recipe-picker-page .recipes-library-toolbar>.page-header{flex:1 1 180px;min-height:56px;padding-top:0;justify-content:flex-start}html.native-navigation-ready.native-recipe-library-sidebar .recipe-picker-page .page-header>div:nth-child(2){padding:0 0 0 48px}html.native-navigation-ready.native-side-back.native-recipe-library-sidebar .recipe-picker-page .page-header>div:nth-child(2){padding-left:0}html.native-navigation-ready.native-recipe-library-sidebar .recipe-picker-page .page-header :is(.page-title,.page-subtitle){text-align:left}html.native-navigation-ready.native-recipe-library-sidebar .recipe-picker-page .recipes-actions .action-btn{min-height:44px;font-size:calc(.8rem * var(--native-text-scale, 1))}html.native-navigation-ready.native-recipe-library-sidebar .recipe-picker-page .recipe-picker-cover-card .recipe-cover-card-media{min-height:0}.bottom-sheet.recipe-picker-sheet{max-width:min(100%,560px);border-radius:26px 26px 0 0;background:var(--redesign-paper)}.recipe-picker-page{background:var(--redesign-paper);color:var(--redesign-ink)}.recipe-picker-page .recipe-picker-grab-bar{width:40px;height:4px;background:var(--redesign-action)}.recipe-picker-page .page-title{margin:0;font:700 clamp(1.65rem,5vw,2.15rem)/1.1 var(--redesign-heading)}.recipe-picker-page .page-subtitle{margin-top:4px;color:var(--redesign-muted)}.recipe-picker-page[hidden]{display:none}.recipe-picker-search-pane{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;background:var(--redesign-paper)}.recipe-picker-page .recipes-actions>button:only-child{grid-column:1 / -1}.recipe-picker-page .recipes-filter-chip{background:transparent;color:var(--redesign-ink);border-color:transparent;box-shadow:none}.recipe-picker-page .recipes-filter-chip:hover{transform:none}.recipe-picker-page .recipes-filter-chip.is-active{background:var(--redesign-action);color:var(--redesign-action-ink)}.recipe-picker-page .recipes-actions .action-btn{min-height:44px;background:var(--redesign-oat);color:var(--redesign-ink);border:0;border-radius:13px;box-shadow:none}.recipe-picker-page .recipes-actions :is(.action-btn--add,.is-active){background:var(--redesign-sage);color:var(--redesign-ink)}.recipe-picker-page .recipes-tag-rail .tag-chip{flex:none;min-height:38px;border:0;border-radius:20px}.recipe-picker-page .recipe-card{width:100%;text-align:left;font-family:inherit}.recipe-picker-tag-overlay{z-index:2250}@media (min-width: 760px) and (orientation: landscape){.bottom-sheet.recipe-picker-sheet{max-width:min(92vw,1060px)}.recipe-picker-page{display:grid;grid-template-columns:clamp(160px,23vw,220px) minmax(0,1fr);grid-template-rows:4px auto;align-items:start}.recipe-picker-page>.recipe-picker-grab-zone{grid-column:1 / -1;margin:0}.recipe-picker-page>.recipes-library-sidebar{display:flex;flex-direction:column;gap:10px;position:sticky;top:0;max-height:calc(92dvh - 48px);overflow-y:auto}.recipe-picker-page .recipes-library-main{display:grid;gap:14px;min-width:0}.recipe-picker-page .recipes-library-toolbar{display:grid;gap:8px}.recipe-picker-page .recipes-filter-bar{flex-direction:column;align-items:stretch;gap:2px}.recipe-picker-page .recipes-filter-chip{justify-content:flex-start}.recipe-picker-page .recipes-filter-bar-rail{display:none}.recipe-picker-page .recipes-library-sidebar>.recipes-tag-shortcuts{flex-direction:column;align-items:stretch}.recipe-picker-page .recipes-tag-trigger{margin-left:0}}.cook-mode-sheet{border-radius:0}.cook-mode-sheet-content{height:100%;overflow-x:hidden}.cook-mode-page{background:var(--color-bg);color:var(--color-text-main);display:flex;flex-direction:column;gap:14px;min-height:100%;height:100%;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:0 16px calc(20px + env(safe-area-inset-bottom))}.cook-mode-header{display:flex;align-items:flex-start;justify-content:center;position:sticky;top:0;z-index:10;margin:0;padding:12px 52px 8px;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}.cook-title{margin:0;font-family:var(--font-display);font-size:22px;letter-spacing:-.02em;text-align:center;max-width:min(100%,24ch);position:relative;z-index:1;text-shadow:0 1px 0 rgba(255,255,255,.22)}.cook-floating-close{position:sticky;top:12px;left:0;z-index:11;align-self:flex-start;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;margin-top:10px;margin-bottom:-56px;border-radius:999px;background:#ffffff6b;border:1px solid rgba(255,255,255,.38);box-shadow:0 12px 26px #1f2a361f,inset 0 1px #ffffff52;backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%)}.cook-progress{height:6px;background:var(--color-border-light);border-radius:999px;overflow:hidden}.cook-progress-bar{height:100%;background:var(--color-primary);border-radius:999px;transition:width .35s ease}.cook-body{display:flex;flex-direction:column;gap:16px;flex:1}.cook-hero{display:flex;align-items:center;gap:12px;background:linear-gradient(180deg,var(--color-bg-elevated),rgba(255,255,255,.6));border-radius:18px;padding:12px;border:1px solid var(--color-border-light);box-shadow:0 10px 28px #0f172a0f}.cook-hero-text{display:flex;flex-direction:column;gap:4px}.cook-hero-reset{margin-left:auto;width:40px;height:40px;border-radius:50%;border:1px solid var(--color-border-light);background:var(--color-bg-elevated);color:var(--color-text-main);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease,border-color .2s ease}.cook-hero-title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}.cook-emoji{font-size:34px}.cook-meta-text{display:flex;gap:8px;color:var(--color-text-muted);font-weight:600}.cook-section{background:linear-gradient(180deg,var(--color-bg-elevated),rgba(255,255,255,.7));border:1px solid var(--color-border-light);border-radius:18px;box-shadow:0 14px 40px #0f172a0f,0 1px #ffffffb3 inset;padding:14px}.cook-accordion{width:100%;border:none;background:transparent;display:flex;align-items:center;justify-content:space-between;font-weight:700;font-size:16px;cursor:pointer;padding:0}.cook-ingredients-head{display:flex;align-items:center;gap:10px}.cook-ingredients-head .cook-accordion{flex:1}.cook-ingredients-toggle-all{border:1px solid var(--color-border-light);background:var(--color-bg-elevated);color:var(--color-text-main);border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap;transition:transform .15s ease,box-shadow .2s ease,border-color .2s ease}.cook-ingredients-body{overflow:hidden;max-height:680px;padding-top:12px;transition:max-height .7s ease,padding-top .7s ease}.cook-ingredients-body.is-collapsed{max-height:0;padding-top:0}.cook-ingredients{display:flex;flex-direction:column;gap:6px;padding:2px 0}.cook-ingredient{display:flex;align-items:center;gap:10px;font-size:16px;padding:4px 8px;margin:0 2px;border-radius:12px;transition:background-color .2s ease,box-shadow .2s ease,transform .2s ease}.cook-ingredient--highlight{background:var(--chip-bg);box-shadow:0 0 0 1px #a4c1a299}.cook-ingredient--pulse{animation:cookPulse .35s ease}.cook-ingredient--done span{text-decoration:line-through;opacity:.6}.cook-step-meta{font-weight:700;color:var(--color-text-main);margin-bottom:10px}.cook-step-wrap{position:relative}.cook-step-list-toggle{position:absolute;top:10px;right:10px;width:34px;height:34px;border-radius:10px;border:1px solid var(--color-border-light);background:var(--color-bg-elevated);color:var(--color-text-main);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;z-index:2;transition:transform .15s ease,box-shadow .2s ease,border-color .2s ease}.cook-step-list-toggle.is-open{border-color:var(--color-primary);box-shadow:0 0 0 2px #a4c1a23d}.cook-timer-nudge{position:absolute;right:8px;bottom:12px;width:36px;height:36px;border-radius:999px;border:1px solid rgba(164,193,162,.65);background:#a4c1a23d;color:var(--color-text-main);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;z-index:2;box-shadow:0 8px 18px #0f172a24;transition:transform .15s ease,box-shadow .2s ease}.cook-timer-nudge.is-wiggling{animation:cookTimerNudgeWiggle .8s ease-in-out 3}.cook-step-card{background:var(--color-secondary);border-radius:16px;padding:18px 54px 18px 18px;border:1px solid var(--color-border-light);display:flex;flex-direction:column;gap:10px;animation-duration:.32s;animation-fill-mode:both}.cook-step-card--next{animation-name:cookStepInRight}.cook-step-card--prev{animation-name:cookStepInLeft}.cook-step-text{font-size:20px;line-height:1.6;color:var(--cook-step-text-color)}.cook-all-steps{margin-top:10px;display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .35s ease,opacity .25s ease}.cook-all-steps.is-open{grid-template-rows:1fr;opacity:1}.cook-all-steps-inner{min-height:0;overflow:hidden}.cook-all-steps-list{display:flex;flex-direction:column;gap:6px;max-height:min(46vh,420px);overflow-y:auto;padding-right:2px;transform:translateY(-5px);opacity:0;transition:transform .3s ease,opacity .24s ease}.cook-all-steps.is-open .cook-all-steps-list{transform:translateY(0);opacity:1}.cook-all-step-item{width:100%;border:1px solid var(--color-border-light);background:var(--color-bg-elevated);color:var(--color-text-main);border-radius:12px;padding:10px 12px;display:grid;grid-template-columns:auto 1fr;align-items:start;gap:10px;text-align:left;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease,border-color .2s ease}.cook-all-step-item.is-active{border-color:var(--color-primary);box-shadow:0 0 0 2px #a4c1a233;background:#a4c1a229}.cook-all-step-index{font-weight:800;font-size:12px;line-height:1.4;min-width:18px}.cook-all-step-text{font-size:14px;line-height:1.4}.cook-timer{background:linear-gradient(180deg,#ffffffe6,#fafbfce6);border:1px solid var(--color-border-light);border-radius:16px;padding:12px;display:flex;flex-direction:column;gap:10px}.cook-timer-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;font-weight:700;font-size:13px;letter-spacing:.01em}.cook-timer-step{color:var(--color-text-muted);font-weight:600}.cook-timer-queue-pill{border-radius:999px;border:1px solid rgba(164,193,162,.5);background:#a4c1a22e;color:var(--color-text-main);font-size:11px;font-weight:700;padding:3px 9px;font-variant-numeric:tabular-nums}.cook-add-time-chip{border:1px solid var(--color-border-light);background:var(--color-bg-elevated);color:var(--color-text-main);border-radius:999px;font-size:12px;font-weight:700;padding:6px 8px;cursor:pointer}.cook-add-time-chip:disabled{opacity:.45;cursor:default}.cook-active-timers{display:flex;flex-direction:column;gap:8px}.cook-active-timer-card{border:1px solid var(--color-border-light);border-radius:12px;background:#ffffff94;padding:9px 10px;display:flex;flex-direction:column;gap:8px}.cook-active-timer-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.cook-active-timer-label{font-size:12px;font-weight:700;color:var(--color-text-muted)}.cook-active-timer-time{font-size:17px;font-weight:800;letter-spacing:.04em;font-variant-numeric:tabular-nums}.cook-active-timer-actions{display:flex;gap:6px}.cook-mini-timer-btn{border:1px solid var(--color-border-light);border-radius:999px;background:var(--color-bg-elevated);color:var(--color-text-main);font-size:12px;font-weight:700;padding:5px 10px;cursor:pointer}.cook-mini-timer-btn.ghost{background:transparent}.cook-active-timer-empty{border:1px dashed var(--color-border-light);border-radius:12px;color:var(--color-text-muted);font-size:12px;font-weight:700;text-align:center;padding:10px}.cook-timer-display-wrap{display:flex;align-items:center;justify-content:space-between;gap:8px}.cook-timer-display{font-size:30px;font-weight:800;letter-spacing:.08em;font-variant-numeric:tabular-nums}.cook-timer-done{display:inline-flex;align-items:center;border-radius:999px;border:1px solid rgba(46,199,125,.35);background:#2ec77d29;color:#2f5d3f;font-size:12px;font-weight:700;padding:4px 10px}.cook-timer-presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.cook-timer-chip{border:1px solid var(--color-border-light);background:var(--color-bg-elevated);border-radius:999px;padding:8px 10px;font-weight:700;font-size:13px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.cook-timer-chip.is-active{border-color:var(--color-primary);box-shadow:0 0 0 2px #a4c1a23d}.cook-timer-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.cook-timer-inputs label{display:flex;flex-direction:column;gap:6px}.cook-timer-inputs label span{color:var(--color-text-muted);font-size:12px;font-weight:700}.cook-timer-inputs input{width:100%;border-radius:12px;border:1px solid var(--color-border-light);padding:9px 10px;font-weight:700;background:var(--color-bg-elevated);color:var(--color-text-main)}.cook-timer-controls{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px}.cook-timer-btn{border-radius:999px;padding:9px 14px;border:1px solid var(--color-border-light);background:var(--color-bg-elevated);font-weight:700;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.cook-timer-btn:active,.cook-timer-chip:active,.cook-add-time-chip:active,.cook-mini-timer-btn:active,.cook-footer-timer-chip:active,.cook-ingredients-toggle-all:active,.cook-hero-reset:active,.cook-nav-btn:active:not(:disabled),.cook-timer-toggle:active,.cook-timer-footer-badge:active,.cook-timer-queue-badge:active,.cook-step-list-toggle:active,.cook-timer-nudge:active,.cook-all-step-item:active{transform:scale(.98)}.cook-timer-btn.primary{background:var(--color-primary);border-color:var(--color-primary);color:#0f172a}.cook-timer-btn.ghost{background:transparent}.cook-footer{position:sticky;bottom:0;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:end;gap:10px;background:transparent;padding:12px 0 2px}.cook-nav-btn{border:1px solid var(--glass-chrome-border);border-radius:14px;padding:10px 12px;font-weight:700;font-size:14px;background:var(--glass-chrome-bg);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:4px;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;min-height:44px;box-shadow:var(--glass-chrome-shadow-soft),var(--glass-chrome-highlight);backdrop-filter:var(--glass-chrome-blur);-webkit-backdrop-filter:var(--glass-chrome-blur)}.cook-nav-btn.primary{background:color-mix(in srgb,var(--color-primary) 72%,rgba(255,255,255,.42));border-color:color-mix(in srgb,var(--color-primary) 62%,rgba(255,255,255,.3));color:var(--color-text-main)}.cook-nav-btn--icon{width:44px;height:44px;min-height:44px;border-radius:50%;padding:0;justify-self:center}.cook-footer-timer{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-width:0;gap:5px}.cook-footer-timer-row{display:flex;align-items:center;gap:6px;min-width:0}.cook-footer-timer-chip{border-radius:999px;border:1px solid rgba(164,193,162,.45);background:#a4c1a224;color:var(--color-text-main);min-width:52px;text-align:center;font-size:11px;font-weight:700;padding:3px 8px;font-variant-numeric:tabular-nums;cursor:pointer}.cook-footer-timer-chip.is-running{border-color:#a4c1a2b3;background:#a4c1a238}.cook-timer-toggle{width:46px;height:46px;border-radius:999px;border:1px solid var(--glass-chrome-border);background:var(--glass-chrome-bg);color:var(--color-text-main);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--glass-chrome-shadow-soft),var(--glass-chrome-highlight);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;backdrop-filter:var(--glass-chrome-blur);-webkit-backdrop-filter:var(--glass-chrome-blur)}.cook-timer-toggle.is-open{border-color:var(--color-primary);box-shadow:0 0 0 2px #a4c1a247}.cook-timer-footer-badge{border-radius:999px;border:1px solid rgba(164,193,162,.5);background:#a4c1a233;color:var(--color-text-main);font-size:12px;font-weight:700;padding:3px 10px;font-variant-numeric:tabular-nums;cursor:pointer}.cook-timer-queue-badge{border-radius:999px;border:1px solid rgba(164,193,162,.45);background:#a4c1a224;color:var(--color-text-main);font-size:11px;font-weight:700;padding:3px 9px;font-variant-numeric:tabular-nums;cursor:pointer}.cook-complete-bar{position:sticky;bottom:0;padding:10px 0 4px;background:linear-gradient(180deg,rgba(255,255,255,0),var(--color-bg) 38%)}.native-ios-shell .cook-mode-sheet-content{padding-bottom:0}.native-ios-shell .cook-mode-page{padding-top:0;padding-bottom:0;overscroll-behavior-x:none}.native-ios-shell .cook-mode-header{top:0;margin:0;padding:20px 56px 8px}.native-ios-shell .cook-title{font-size:20px;line-height:1.12;text-wrap:balance}.native-ios-shell .cook-floating-close{top:max(18px,calc(env(safe-area-inset-top,0px) - 22px));margin-top:max(18px,calc(env(safe-area-inset-top,0px) - 22px))}.cook-floating-close .back-icon{width:100%;height:100%;border-radius:inherit;border:none;background:transparent;box-shadow:none;display:inline-flex;align-items:center;justify-content:center}.native-ios-shell .cook-footer{padding:12px 0 env(safe-area-inset-bottom,0px)}.native-ios-shell .cook-complete-bar{padding:10px 0 env(safe-area-inset-bottom,0px);background:transparent}.cook-mark-cooked-btn{width:100%;border:1px solid var(--color-primary);background:var(--color-primary);color:#0f172a;border-radius:14px;min-height:44px;font-weight:800;font-size:15px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.cook-mark-cooked-btn:active:not(:disabled){transform:scale(.99)}.cook-mark-cooked-btn:disabled{opacity:.7;cursor:default}.cook-timer-sheet{border-radius:22px 22px 0 0;height:auto}.cook-timer-sheet-content{height:auto;min-height:0}.bottom-sheet.cook-timer-sheet{transform:translate3d(0,calc(var(--vv-height, 100vh) + var(--bottom-sheet-drag-offset, 0px)),0)}.bottom-sheet.cook-timer-sheet.is-open{transform:translate3d(0,var(--bottom-sheet-drag-offset, 0px),0)}.cook-timer-panel{height:100%;min-height:0;display:flex;flex-direction:column;gap:12px;padding:14px 16px calc(12px + env(safe-area-inset-bottom));background:var(--color-bg);overflow-y:auto;-webkit-overflow-scrolling:touch}.cook-timer-panel-header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px}.cook-timer-panel-title{text-align:center;font-weight:800;font-size:18px;letter-spacing:-.01em}.cook-timer-alert-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2400;display:flex;align-items:center;justify-content:center;padding:18px;background:#02061773;opacity:0;transition:opacity .26s ease}.cook-timer-alert-backdrop.is-open{opacity:1}.cook-timer-alert-card{width:min(100%,320px);border-radius:18px;border:1px solid var(--color-border-light);background:var(--color-bg-elevated);box-shadow:0 24px 56px #0f172a4d;padding:16px;display:flex;flex-direction:column;gap:10px;opacity:0;transform:translateY(8px) scale(.96);transition:opacity .26s ease,transform .26s cubic-bezier(.2,.8,.2,1)}.cook-timer-alert-card.is-open{opacity:1;transform:translateY(0) scale(1)}.cook-timer-alert-title{font-size:20px;font-weight:800;letter-spacing:-.01em}.cook-timer-alert-text{color:var(--color-text-muted);font-size:14px}.cook-timer-alert-actions{margin-top:4px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.cook-timer-alert-btn{border-radius:999px;border:1px solid var(--color-primary);background:var(--color-primary);color:#0f172a;font-weight:800;padding:10px 14px;cursor:pointer}.cook-timer-alert-btn.secondary{border-color:var(--color-border-light);background:var(--color-bg-elevated);color:var(--color-text-main)}.cook-timer-alert-quick-add{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.cook-empty{text-align:center;padding:20px;color:var(--color-text-muted)}@keyframes cookStepInRight{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:translate(0)}}@keyframes cookStepInLeft{0%{opacity:0;transform:translate(-14px)}to{opacity:1;transform:translate(0)}}@keyframes cookPulse{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}@keyframes cookTimerNudgeWiggle{0%{transform:rotate(0)}22%{transform:rotate(-12deg)}44%{transform:rotate(10deg)}66%{transform:rotate(-7deg)}88%{transform:rotate(4deg)}to{transform:rotate(0)}}@media (prefers-reduced-motion: reduce){.cook-step-card,.cook-ingredient--pulse{animation:none}.cook-progress-bar,.cook-ingredients-body,.cook-all-steps,.cook-all-steps-list,.cook-ingredients-toggle-all,.cook-nav-btn,.cook-step-list-toggle,.cook-timer-nudge,.cook-timer-toggle,.cook-timer-footer-badge,.cook-timer-queue-badge,.cook-footer-timer-chip,.cook-all-step-item,.cook-timer-alert-backdrop,.cook-timer-alert-card,.cook-ingredient,.cook-timer-chip,.cook-timer-btn,.cook-mini-timer-btn{transition:none}}html.dark .cook-mode-page{background:var(--bg-dark-page);color:var(--text-dark-primary)}html.dark .cook-mode-header{background:transparent}html.dark .cook-hero,html.dark .cook-section{background:var(--bg-dark-surface-elevated);border-color:var(--border-dark-subtle);box-shadow:var(--shadow-dark-elevated)}html.dark .cook-step-card{background:var(--bg-dark-surface);border-color:var(--border-dark-subtle)}html.dark .cook-hero-reset,html.dark .cook-step-list-toggle,html.dark .cook-timer-nudge,html.dark .cook-all-step-item{background:var(--bg-dark-surface);border-color:var(--border-dark-subtle);color:var(--text-dark-primary)}html.dark .cook-step-list-toggle.is-open,html.dark .cook-all-step-item.is-active{border-color:#a4c1a2e6;box-shadow:0 0 0 2px #a4c1a238}html.dark .cook-all-step-item.is-active{background:#a4c1a233}html.dark .cook-timer-nudge{border-color:#a4c1a2bf;background:#a4c1a23d}html.dark .cook-step-text{color:var(--text-dark-primary)}html.dark .cook-progress{background:var(--border-dark-subtle)}html.dark .cook-ingredient--highlight{background:#2ec77d1f;box-shadow:0 0 0 1px #2ec77d59}html.dark .cook-timer{background:var(--bg-dark-surface);border-color:var(--border-dark-subtle)}html.dark .cook-timer-chip,html.dark .cook-timer-btn,html.dark .cook-add-time-chip,html.dark .cook-mini-timer-btn,html.dark .cook-ingredients-toggle-all,html.dark .cook-timer-toggle,html.dark .cook-timer-inputs input{background:var(--bg-dark-surface-elevated);border-color:var(--border-dark-subtle);color:var(--text-dark-primary)}html.dark .cook-nav-btn,html.dark .cook-timer-toggle{background:var(--glass-chrome-bg);border-color:var(--glass-chrome-border);box-shadow:var(--glass-chrome-shadow-soft),var(--glass-chrome-highlight)}html.dark .cook-floating-close .back-icon{background:transparent;border-color:transparent;box-shadow:none}html.dark .cook-floating-close{background:#0f172a4d;border-color:#94a3b829;box-shadow:0 14px 28px #0000003d,inset 0 1px #94a3b824}html.dark .cook-timer-chip.is-active{border-color:#a4c1a2e6;box-shadow:0 0 0 2px #a4c1a238}html.dark .cook-timer-btn.primary{background:var(--color-primary);border-color:var(--color-primary);color:#0f172a}html.dark .cook-timer-done{border-color:#2ec77d7a;background:#2ec77d33;color:#baf4cc}html.dark .cook-timer-footer-badge{border-color:#a4c1a28c;background:#a4c1a22e;color:var(--text-dark-primary)}html.dark .cook-timer-queue-badge,html.dark .cook-timer-queue-pill,html.dark .cook-footer-timer-chip{border-color:#a4c1a28c;background:#a4c1a224;color:var(--text-dark-primary)}html.dark .cook-footer-timer-chip.is-running{border-color:#a4c1a2cc;background:#a4c1a238}html.dark .cook-active-timer-card{background:var(--bg-dark-surface-elevated);border-color:var(--border-dark-subtle)}html.dark .cook-active-timer-label,html.dark .cook-active-timer-empty{color:var(--text-dark-secondary)}html.dark .cook-active-timer-empty{border-color:var(--border-dark-subtle)}html.dark .cook-timer-panel{background:var(--bg-dark-page)}html.dark .cook-timer-alert-card{background:var(--bg-dark-surface-elevated);border-color:var(--border-dark-subtle)}html.dark .cook-timer-alert-title{color:var(--text-dark-primary)}html.dark .cook-timer-alert-text{color:var(--text-dark-secondary)}html.dark .cook-timer-alert-btn.secondary{border-color:var(--border-dark-subtle);background:var(--bg-dark-surface);color:var(--text-dark-primary)}html.dark .cook-complete-bar{background:linear-gradient(180deg,rgba(10,18,34,0),var(--bg-dark-page) 40%)}html.dark .cook-footer{background:transparent}.cook-mode-header.has-ask-ai{align-items:center;justify-content:space-between;gap:10px;padding-right:0}.cook-ask-ai{display:inline-flex;align-items:center;gap:6px;flex:none;min-height:40px;padding:0 11px;border:0;border-radius:999px;background:var(--redesign-sage);color:var(--redesign-ink);font:inherit;font-size:.78rem;font-weight:700;cursor:pointer}.cook-ask-ai img{width:18px;height:18px;object-fit:contain}.cook-ask-ai:hover{background:var(--redesign-leaf)}.support-ticket-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2300;display:flex;align-items:center;justify-content:center;padding:20px;background:#0f172a61;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);overscroll-behavior:contain;touch-action:none;animation:support-ticket-backdrop-in .26s ease}.support-page{min-height:100dvh;background:radial-gradient(120% 120% at 100% 0%,rgba(164,193,162,.22),transparent 38%),linear-gradient(180deg,#f6f1e6,#efe7d8);padding:24px}.native-ios-shell.keyboard-open .support-page.keyboard-scroll-container{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}.support-page-shell{width:min(100%,880px);margin:0 auto;display:flex;flex-direction:column;gap:18px}.support-page-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.support-page-brand{display:inline-flex;align-items:center;gap:12px;color:#172033;text-decoration:none;font-weight:800;font-size:22px}.support-page-brand img{width:34px;height:34px;object-fit:contain}.support-page-backlink{color:#2f5f3c;text-decoration:none;font-weight:700}.support-ticket-sheet{width:min(100%,560px);max-height:min(calc(var(--vv-height, 100dvh) - 40px),calc(100dvh - 40px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)));border-radius:28px;border:1px solid rgba(207,199,184,.76);background:radial-gradient(120% 120% at 100% 0%,rgba(164,193,162,.22),transparent 42%),linear-gradient(180deg,#fcfaf5fa,#f5f1e8fa);box-shadow:0 28px 60px #0f172a2e,inset 0 1px #ffffffd1;padding:22px;display:flex;flex-direction:column;gap:18px;overflow:hidden;transform-origin:center bottom;will-change:transform,opacity;animation:support-ticket-sheet-in .32s cubic-bezier(.22,1,.36,1)}.support-ticket-sheet--page{width:100%;max-width:880px;max-height:none;margin:0 auto}.support-ticket-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.support-ticket-eyebrow{color:#607287;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.support-ticket-title{margin:4px 0 8px;color:#172033;font-family:var(--font-display);font-size:34px;line-height:.98;letter-spacing:-.03em}.support-ticket-subtitle{margin:0;color:#556273;font-size:15px;line-height:1.45}.support-ticket-close{width:40px;height:40px;border:1px solid rgba(207,199,184,.76);border-radius:14px;background:#ffffffb8;color:#1f2a36;cursor:pointer}.support-ticket-form{--keyboard-scroll-base-padding: 0px;--keyboard-scroll-extra-offset: 24px;--keyboard-scroll-top-margin: 12px;display:flex;flex-direction:column;gap:14px;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-right:2px}.support-ticket-form--page{overflow:visible}.support-ticket-field{display:flex;flex-direction:column;gap:8px;color:#1f2a36;font-weight:700}.support-ticket-field input,.support-ticket-field textarea{width:100%;border-radius:18px;border:1px solid rgba(207,199,184,.88);background:#ffffffd1;color:#1f2a36;padding:14px 16px;font:inherit;box-sizing:border-box;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.support-ticket-field textarea{resize:vertical;min-height:144px}.support-ticket-field input:focus,.support-ticket-field textarea:focus{outline:none;border-color:#79a575eb;box-shadow:0 0 0 4px #79a57529}.support-ticket-error,.support-ticket-success{border-radius:16px;padding:12px 14px;font-size:14px;line-height:1.4}.support-ticket-error{background:#e53e3e1a;color:#9f1d1d;border:1px solid rgba(229,62,62,.2)}.support-ticket-success{background:#79a57524;color:#2f5f3c;border:1px solid rgba(121,165,117,.24)}.support-ticket-actions{display:flex;gap:10px}.support-ticket-actions .btn{flex:1;min-height:50px}.support-ticket-launch{display:flex;flex-direction:column;gap:12px}.support-ticket-launch .settings-subtext{margin:0}.support-ticket-open-btn{align-self:flex-start}@keyframes support-ticket-sheet-in{0%{opacity:0;transform:translateY(56px) scale(.985)}to{opacity:1;transform:translateY(0)}}@keyframes support-ticket-backdrop-in{0%{opacity:0;backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px)}to{opacity:1;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}}html.dark .support-ticket-sheet{border-color:#647e9b5c;background:radial-gradient(120% 120% at 100% 0%,rgba(68,121,86,.24),transparent 42%),linear-gradient(180deg,#0e1d30fa,#091527fa);box-shadow:0 30px 62px #00000085,inset 0 1px #ffffff08}html.dark .support-page{background:radial-gradient(120% 120% at 100% 0%,rgba(68,121,86,.24),transparent 42%),linear-gradient(180deg,#081423,#0d1d31)}html.dark .support-page-brand,html.dark .support-page-backlink{color:#f4f7fb}html.dark .support-ticket-eyebrow,html.dark .support-ticket-subtitle{color:#d1dce9d1}html.dark .support-ticket-title,html.dark .support-ticket-field{color:#f4f7fb}html.dark .support-ticket-close,html.dark .support-ticket-field input,html.dark .support-ticket-field textarea{border-color:#647e9b4d;background:#0f172a9e;color:#f4f7fb}html.dark .support-ticket-field input::placeholder,html.dark .support-ticket-field textarea::placeholder{color:#d1dce98a}html.dark .support-ticket-error{background:#e53e3e24;color:#fecaca;border-color:#f8717138}html.dark .support-ticket-success{background:#79a5752e;color:#d1f3d5;border-color:#79a57547}@media (max-width: 640px){.support-page{padding:16px}.support-page-topbar{align-items:flex-start;flex-direction:column}.support-ticket-backdrop{align-items:flex-end;padding:12px 12px calc(var(--keyboard-height, 0px) + env(safe-area-inset-bottom,0px) + 12px)}.support-ticket-sheet{width:100%;border-radius:28px 28px 22px 22px;padding:18px;max-height:calc(100dvh - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - var(--keyboard-height, 0px))}.support-ticket-title{font-size:30px}.support-ticket-actions{flex-direction:column-reverse}.support-ticket-open-btn{width:100%}}.native-ios-shell.keyboard-open .support-ticket-backdrop{padding-bottom:calc(var(--keyboard-height, 0px) + 12px)}.native-ios-shell.keyboard-open .support-ticket-sheet{max-height:calc(100dvh - 24px - env(safe-area-inset-top,0px) - var(--keyboard-height, 0px))}.native-ios-shell.keyboard-open .support-ticket-form.keyboard-scroll-container{padding-bottom:calc(env(safe-area-inset-bottom,0px) + 12px);scroll-padding-bottom:calc(env(safe-area-inset-bottom,0px) + 28px)}@media (prefers-reduced-motion: reduce){.support-ticket-sheet{animation:none}}:is(html,html.dark) .support-ticket-sheet{background:var(--redesign-paper, #fbf8ef);color:var(--redesign-card-title, #35261b);border:0;border-radius:24px;box-shadow:0 18px 50px #202c2433}:is(html,html.dark) .support-ticket-title{color:var(--redesign-card-title, #35261b);font-family:var(--redesign-heading, Georgia, serif)}:is(html,html.dark) .support-ticket-eyebrow,:is(html,html.dark) .support-ticket-subtitle,:is(html,html.dark) .support-ticket-field{color:var(--redesign-muted, #526849)}:is(html,html.dark) .support-ticket-field :is(input,select,textarea){background:var(--redesign-cream, #fffdf6);color:var(--redesign-card-title, #35261b);border:1px solid var(--color-border-light);border-radius:12px;box-shadow:none}:is(html,html.dark) .support-ticket-close{background:var(--redesign-oat, #f2eee3);color:var(--redesign-ink, #2c482b);border:0;box-shadow:none}:is(html,html.dark) .support-ticket-actions .btn-primary{background:var(--redesign-action, #ccdfbd);color:var(--redesign-action-ink, #2c482b);border:0;border-radius:12px;box-shadow:none}:is(html,html.dark) .support-ticket-actions .btn-ghost{background:var(--redesign-oat, #f2eee3);color:var(--redesign-ink, #2c482b);border:0;border-radius:12px;box-shadow:none}.settings-container{--keyboard-scroll-base-padding: 16px;--keyboard-scroll-extra-offset: 28px;--keyboard-scroll-top-margin: 18px;background:transparent;padding:16px;display:flex;flex-direction:column;gap:16px;min-height:100%}.native-ios-shell.keyboard-open .settings-container.keyboard-scroll-container{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}.native-ios-shell.keyboard-open .settings-container.keyboard-scroll-container.settings-subpage{min-height:calc(100% + var(--keyboard-height, 0px));padding-bottom:calc(16px + var(--keyboard-height, 0px) + env(safe-area-inset-bottom,0px))}.native-ios-shell.keyboard-open .settings-container.keyboard-scroll-container:not(.settings-subpage){padding-bottom:calc(16px + var(--keyboard-height, 0px) + env(safe-area-inset-bottom,0px))}.settings-header h1{margin:0;color:#1e293b;font-size:24px;font-weight:800}.settings-header-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.settings-header-row h1{text-align:center;flex:1}.settings-subpage.slide-in{animation:settingsSlideOverIn .52s cubic-bezier(.22,1,.36,1) both;will-change:transform,opacity}.settings-subpage.slide-out{animation:settingsSlideOverOut .46s cubic-bezier(.4,0,.2,1) both;will-change:transform,opacity;pointer-events:none}@keyframes settingsSlideOverIn{0%{opacity:.72;transform:translate3d(18px,0,0) scale(.988)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes settingsSlideOverOut{0%{opacity:1;transform:translateZ(0) scale(1)}to{opacity:.78;transform:translate3d(14px,0,0) scale(.992)}}.settings-subtitle{margin:4px 0 0;color:#475569;font-size:13px}.settings-toast{background:#d9f2e0;border:1px solid var(--color-primary);color:#2f5b3c;border-radius:15px;padding:10px 12px;font-weight:700;box-shadow:0 8px 18px #0000000f}.top-block{background:linear-gradient(180deg,var(--color-bg-elevated),rgba(255,255,255,.92));border-radius:15px;border:1px solid var(--color-border-light);box-shadow:0 14px 32px #0f172a14,0 1px #ffffffa6 inset;padding:16px;display:flex;flex-direction:column;gap:14px}.top-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:nowrap}.row-left{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1 1 auto}.label{font-weight:700;color:var(--color-text-main);font-size:14px}.id-inline{display:inline-flex;align-items:center;gap:6px;width:100%;max-width:100%;padding:10px 12px;border-radius:15px;background:#f5f1e8;border:1px solid var(--color-border-light);color:var(--color-text-main);font-family:monospace;box-shadow:inset 0 2px 4px #0000000a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}html.dark .id-inline{background:#1b2a44;border-color:var(--border-dark-subtle);color:var(--text-dark-primary)}html.dark .top-block{background:linear-gradient(180deg,#15243c,#111e33);border-color:var(--border-dark-subtle);box-shadow:0 16px 32px #00000059,0 1px #94a3b81a inset}.settings-card{background:var(--color-bg-elevated);border-radius:15px;border:1px solid var(--color-border-light);box-shadow:0 12px 32px #00000014;padding:16px;display:flex;flex-direction:column;gap:10px}.settings-reminders-page{padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))}.settings-reminders-card{gap:14px}.settings-reminders-card .settings-section-title{font-size:15px;letter-spacing:.02em}.settings-reminders-permission-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.settings-reminders-status-label{font-weight:800;color:var(--color-text-main)}.settings-reminders-status-meta{margin-top:4px;color:var(--color-text-muted);font-size:14px;line-height:1.5}.settings-reminders-inline-note{margin-top:-4px;font-size:13px;line-height:1.45;color:#627083}.settings-reminders-time-grid,.settings-reminders-weekly-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.settings-reminders-time-field{display:flex;flex-direction:column;gap:8px;min-width:0;align-items:stretch;padding:12px 12px 14px;border-radius:18px;border:1px solid rgba(223,213,194,.95);background:linear-gradient(180deg,#fffcf6fa,#fbf7eff5);box-shadow:0 10px 22px #0f172a0d,inset 0 1px #ffffffc7;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.settings-reminders-time-field.is-filled{border-color:#a2c5a4eb;background:radial-gradient(120% 120% at 100% 0%,rgba(164,193,162,.18),transparent 58%),linear-gradient(180deg,#f8fdf7fa,#f4faf2f5);box-shadow:0 12px 24px #84b08a1a,inset 0 1px #ffffffc7}.settings-reminders-time-label{font-size:12px;font-weight:800;letter-spacing:.01em;color:var(--color-text-main)}.settings-reminders-time-label-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 2px}.settings-reminders-time-icon{font-size:14px;opacity:.72}.settings-reminders-time-field input,.settings-reminders-time-field select{width:100%;max-width:100%;min-width:0;inline-size:100%;min-inline-size:0;box-sizing:border-box;min-height:44px;border-radius:16px;border:1px solid rgba(227,216,198,.94);background:#fffdf9fa;color:var(--color-text-main);padding:0 14px;font-size:17px;font-weight:700;box-shadow:inset 0 1px #ffffffbf,0 1px #e4dac773}.settings-reminders-time-field input[type=time]{-moz-appearance:none;appearance:none;-webkit-appearance:none}.settings-reminders-time-field input[type=time]::-webkit-calendar-picker-indicator{opacity:.78}.settings-reminders-time-field input:disabled,.settings-reminders-time-field select:disabled{opacity:.65}.settings-reminders-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;border-radius:22px;border:1px solid rgba(216,226,211,.95);background:radial-gradient(130% 150% at 100% 0%,rgba(164,193,162,.14),transparent 56%),linear-gradient(180deg,#f7fcf6f0,#f2f8f1eb);color:var(--color-text-main);text-align:left;box-shadow:0 14px 28px #88b08c14,inset 0 1px #ffffffb8}.settings-reminders-toggle.is-selected{border-color:#8fbe9acc;background:radial-gradient(130% 150% at 100% 0%,rgba(164,193,162,.2),transparent 56%),linear-gradient(180deg,#f0f9eff7,#e8f5e6f0)}.settings-reminders-toggle .planner-generator-toggle-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.settings-reminders-toggle .planner-generator-toggle-label{font-size:15px;font-weight:800;color:var(--color-text-main)}.settings-reminders-toggle .planner-generator-toggle-meta{font-size:13px;line-height:1.45;color:var(--color-text-muted);max-width:42ch}.settings-reminders-toggle .planner-generator-toggle-switch{position:relative;width:46px;height:28px;flex:0 0 auto;border-radius:999px;background:#cbd5e1;transition:background-color .16s ease}.settings-reminders-toggle.is-selected .planner-generator-toggle-switch{background:#9fcea8}.settings-reminders-toggle .planner-generator-toggle-knob{position:absolute;top:4px;left:4px;width:20px;height:20px;border-radius:999px;background:#fff;box-shadow:0 2px 6px #0000002e;transition:transform .16s ease}.settings-reminders-toggle.is-selected .planner-generator-toggle-knob{transform:translate(18px)}.settings-reminders-card--placeholder{border-style:dashed}.settings-reminders-footer{display:flex;flex-direction:column;gap:8px;padding-bottom:0}.settings-reminders-save{width:100%}.settings-reminders-footnote{text-align:center;color:var(--color-text-muted);font-size:13px}.settings-image-tools-card{gap:14px}.settings-tools-group{display:flex;flex-direction:column;gap:10px}.settings-tools-divider{height:1px;background:var(--color-border-light);opacity:.9}.dev-seeder-card,.dev-seeder-shell{border:1px solid #d6e0d4;background:radial-gradient(120% 150% at 100% 0%,rgba(164,193,162,.2),transparent 56%),linear-gradient(180deg,#fbfdf9,#f4f8f1);box-shadow:0 14px 28px #0f172a14,0 1px #ffffffbf inset;padding:20px;gap:14px;width:100%;position:relative;overflow:hidden}.dev-seeder-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.dev-seeder-card .settings-section-title,.dev-seeder-shell .settings-section-title{font-size:18px;font-weight:800;color:#1e293b}.dev-seeder-card .settings-section-sub,.dev-seeder-shell .settings-section-sub{color:#334155}.dev-seeder-subtext,.dev-seeder-label,.dev-seeder-help,.dev-seeder-upload-filename{color:#1e293b}.dev-seeder-input::placeholder{color:#475569}.dev-seeder-badge{background:linear-gradient(145deg,#edf6ff,#dfedff);color:#4f87bf;font-weight:700;font-size:10px;letter-spacing:.12em;padding:6px 12px;border-radius:999px;border:1px solid #bfd5f2;box-shadow:inset 0 1px #fffc}.dev-seeder-subtext{margin-top:-2px;color:#4b5a70}.dev-seeder-stack{display:flex;flex-direction:column;gap:16px;width:100%}.dev-seeder-field{display:flex;flex-direction:column;gap:8px;width:100%}.dev-seeder-label{font-size:13px;color:#334155;font-weight:700;letter-spacing:.01em}.dev-seeder-help{font-size:12px;color:#64748b}.dev-seeder-upload-field{display:flex;align-items:center;gap:12px;padding:14px;border-radius:16px;border:1.5px dashed #b7c8b3;background:linear-gradient(180deg,#fff,#f4f8f1);box-shadow:0 8px 18px #0f172a12;position:relative;overflow:hidden;min-height:62px;width:100%}.dev-seeder-upload-field.is-disabled{opacity:.6;cursor:not-allowed}.dev-seeder-file-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.dev-seeder-upload-icon{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;color:#5b6f89;background:#f5faff;border:1px solid #c3d6ec;flex:0 0 auto}.dev-seeder-upload-icon svg{width:18px;height:18px}.dev-seeder-upload-button{padding:8px 14px;border-radius:999px;background:linear-gradient(120deg,#f5faff,#e9f4ff);color:#2f5786;font-weight:700;font-size:13px;border:1px solid #bfd4ea;box-shadow:0 6px 12px #2f578624;flex:0 0 auto}.dev-seeder-upload-filename{color:#64748b;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dev-seeder-input{width:100%;border-radius:16px;border:1px solid #cad7c6;padding:12px 14px;font-size:14px;background:linear-gradient(180deg,#fff,#f5f9f2);color:#1e293b;outline:none;box-shadow:0 6px 14px #0f172a0f}.dev-seeder-input::placeholder{color:#7b8ca2}.dev-seeder-input:focus{border-color:#79a575;box-shadow:0 0 0 3px #79a57538}.dev-seeder-input:disabled{opacity:.6;cursor:not-allowed}.dev-seeder-textarea{resize:vertical;min-height:110px}.dev-seeder-actions{display:flex;justify-content:center}.dev-seeder-submit{width:100%;border-radius:999px;padding:14px 18px;font-size:15px;font-weight:700;background:linear-gradient(110deg,#6ea2f6,#4f83e8);color:#f8fafc;box-shadow:0 14px 24px #4f83e84d;transition:transform .15s ease,box-shadow .2s ease}.dev-seeder-submit:disabled{opacity:.65;cursor:not-allowed;transform:none;box-shadow:none}.dev-seeder-preview{display:flex;flex-direction:column;gap:12px;margin-top:8px;padding:16px;border-radius:18px;border:1px solid #d2ddd0;background:linear-gradient(180deg,#fff,#f6f9f3);box-shadow:0 8px 18px #0f172a0f}.dev-seeder-preview-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:16px;align-items:start}.dev-seeder-preview-image{width:100%;height:190px;object-fit:cover;border-radius:16px;border:1px solid #d2ddd0;box-shadow:0 10px 18px #0f172a1f}.dev-seeder-meta{display:flex;flex-direction:column;gap:12px}.dev-seeder-chip-row{display:flex;flex-direction:column;gap:6px}.dev-seeder-chip-label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#7b8ca2;font-weight:600}.dev-seeder-chip-list{display:flex;flex-wrap:wrap;gap:6px}.dev-seeder-chip{padding:6px 10px;border-radius:999px;border:1px solid #d5ded2;background:#fff;color:#334155;font-size:12px;font-weight:600}.dev-seeder-chip.is-muted{color:#64748b}.dev-seeder-chip.is-code{font-family:SFMono-Regular,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.dev-seeder-error{padding:10px 12px;border-radius:12px;background:#fde8e8;color:#9a2f2f;border:1px solid #f2b7b7;font-size:13px;font-weight:600}@media (max-width: 720px){.dev-seeder-preview-grid{grid-template-columns:1fr}.dev-seeder-card,.dev-seeder-shell{padding:16px}.dev-seeder-upload-field{flex-wrap:wrap;align-items:flex-start}.dev-seeder-upload-filename{width:100%}}html.dark .dev-seeder-card,html.dark .dev-seeder-shell{border-color:var(--border-dark-subtle);background:radial-gradient(120% 150% at 100% 0%,rgba(67,113,86,.2),transparent 55%),linear-gradient(160deg,#121f35,#101a2f);box-shadow:0 24px 60px #00000073,inset 0 1px #94a3b814}html.dark .dev-seeder-card .settings-section-title,html.dark .dev-seeder-shell .settings-section-title,html.dark .dev-seeder-card .settings-section-sub,html.dark .dev-seeder-shell .settings-section-sub,html.dark .dev-seeder-subtext,html.dark .dev-seeder-label,html.dark .dev-seeder-help,html.dark .dev-seeder-upload-filename{color:var(--text-dark-primary)}html.dark .dev-seeder-upload-field,html.dark .dev-seeder-input,html.dark .dev-seeder-preview{background:linear-gradient(180deg,#182742,#132136);border-color:#2d4568}html.dark .dev-seeder-input{color:var(--text-dark-primary);caret-color:var(--text-dark-primary)}html.dark .dev-seeder-upload-icon{background:#1f3353;border-color:#365780;color:#c0d4f2}html.dark .dev-seeder-upload-button{background:linear-gradient(120deg,#224062,#1f3554);border-color:#355a83;color:#d6e8ff}html.dark .dev-seeder-input::placeholder{color:#93a8c7}html.dark .dev-seeder-input:focus{border-color:#79a575;box-shadow:0 0 0 3px #79a57542}html.dark .dev-seeder-chip{border-color:#35506f;background:#162740;color:#d8e7fb}html.dark .dev-seeder-chip-label{color:#8ea4c5}.settings-section-title{font-size:16px;font-weight:800;color:var(--color-text-main)}.settings-section-sub{font-weight:700;color:var(--color-text-main)}.settings-subtext{margin:0;color:var(--color-text-muted);font-size:13px}.input{width:100%;border-radius:14px;border:1px solid var(--color-border-light);padding:12px;font-size:14px;background:var(--color-bg-elevated);outline:none;box-shadow:0 6px 16px #0000000f}.btn{border:none;border-radius:999px;padding:12px;font-weight:700;cursor:pointer;box-shadow:0 6px 16px #00000014}.copy-button,.sync-button{background:var(--color-primary);color:#0f172a}.ghost-button{background:#f87171;border:1px solid #F87171;color:#0f172a;box-shadow:none;width:100%;text-align:center}.ghost-button:hover{filter:brightness(.97)}.divider{height:1px;background:#e2e8f0;margin:6px 0}.theme-inline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.theme-pill{border:1px solid var(--color-border-light);border-radius:12px;padding:10px;background:var(--color-bg-elevated);color:var(--color-text-main);font-weight:700;cursor:pointer;transition:background .15s ease,box-shadow .15s ease,border-color .15s ease}.theme-pill.active{background:var(--color-primary);color:#0f172a;border-color:var(--color-primary);box-shadow:0 6px 14px #0000001a}.sync-inline{display:flex;flex-direction:column;gap:10px;border:1px solid var(--color-border-light);border-radius:16px;background:#ffffffa6;padding:12px;box-shadow:0 6px 14px #0f172a0a}.sync-input-row{display:flex;align-items:stretch;gap:10px}.sync-input-row .input{flex:1 1 auto;min-width:0}.paste-button{border:1px solid var(--color-border-light);background:var(--color-bg-elevated);color:var(--color-text-main);padding:10px 14px;min-width:86px;box-shadow:0 6px 14px #0f172a0d}.top-block .sync-button{width:100%;padding:13px 14px}.top-block .copy-button{min-width:132px;flex:0 0 auto}@media (max-width: 560px){.sync-input-row{flex-wrap:wrap}.paste-button{width:100%}}@media (prefers-reduced-motion: reduce){.settings-subpage.slide-in,.settings-subpage.slide-out,.subscription-plan-card{animation-duration:1ms;transition-duration:1ms}.subscription-plan-card.is-active{animation-duration:1ms}}html.dark .sync-inline{border-color:var(--border-dark-subtle);background:#0e192ab8;box-shadow:0 8px 18px #00000038}html.dark .paste-button{border-color:var(--border-dark-subtle);background:#182742;color:var(--text-dark-primary)}html.dark .top-block .copy-button,html.dark .top-block .sync-button{background:#1a3254;color:var(--text-dark-primary);border:1px solid #2a466d;box-shadow:0 8px 16px #0000003d}html.dark .top-block .copy-button:hover,html.dark .top-block .sync-button:hover{background:#1f3b61}.settings-actions{display:flex;flex-direction:row;justify-content:space-between;gap:8px}.settings-actions .action-row-btn{flex:1 1 0}.action-row-btn{border:1px solid var(--color-border-light);background:var(--color-bg-elevated);color:var(--color-text-main);padding:12px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-weight:700;cursor:pointer;box-shadow:0 6px 14px #0000000f;transition:transform .1s ease;white-space:nowrap;min-width:140px}.action-row-btn:hover{transform:translateY(-1px)}.memory-helper{margin-top:10px}.memory-clear-button{background:#fee2e2;border-color:#fca5a5;color:#7f1d1d;box-shadow:none}.memory-clear-button:hover{filter:brightness(.98)}.memory-modal-list{margin:12px 0 0;padding-left:18px;color:var(--color-text-muted);font-size:13px}.memory-modal-list li{margin:6px 0}.memory-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.memory-modal-btn{border-radius:999px;padding:10px 14px;font-weight:700;border:1px solid var(--color-border-light);background:var(--color-bg-elevated);color:var(--color-text-main);cursor:pointer}.memory-modal-btn.primary{background:#fca5a5;border-color:#f87171;color:#7f1d1d;box-shadow:none}.preference-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.preference-option{border:1px solid var(--color-border-light);background:var(--color-bg-elevated);color:var(--color-text-main);padding:12px;border-radius:14px;text-align:left;display:flex;align-items:center;justify-content:flex-start;gap:8px;font-weight:700;cursor:pointer;box-shadow:0 6px 14px #0000000f;transition:transform .1s ease,background .1s ease,border-color .1s ease}.preference-option .preference-icon{margin-right:8px}.preference-option:hover{transform:translateY(-1px)}.preference-option.active{background:var(--color-primary);border-color:var(--color-primary);color:#0f172a;box-shadow:0 8px 18px #a4c1a259}.preference-option:disabled{cursor:not-allowed;opacity:.65;transform:none}.preference-actions{display:flex;justify-content:space-between;gap:12px;margin-top:10px}.preference-actions .btn.btn-primary{background:var(--color-primary);color:#0f172a;border:none}html.dark .preference-actions .btn.btn-primary{background:#b2d1b1;color:#0c1827;border:1px solid #8ab090;box-shadow:0 12px 28px #0000005c}.preference-actions .btn.btn-primary:hover{opacity:.95}html.dark .preference-actions .btn.btn-primary:hover{background:#c1daba;border-color:#9bc29c}.settings-error{margin-top:8px;color:#dc2626;font-weight:700}.goal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.goal-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:16px;border:1px solid var(--color-border-light);background:var(--color-bg-elevated);box-shadow:0 6px 14px #0000000f}.goal-toggle-label{font-weight:700;color:var(--color-text-main);font-size:14px}.settings-switch{position:relative;display:inline-flex;align-items:center;width:44px;height:26px;flex:0 0 auto}.settings-switch input{opacity:0;width:0;height:0}.settings-switch-slider{position:absolute;top:0;right:0;bottom:0;left:0;cursor:pointer;background-color:#cbd5e1;border-radius:999px;transition:background-color .2s ease}.settings-switch-slider:before{content:"";position:absolute;height:20px;width:20px;left:3px;top:3px;background-color:#fff;border-radius:50%;transition:transform .2s ease;box-shadow:0 2px 6px #0003}.settings-switch input:checked+.settings-switch-slider{background-color:#86efac}.settings-switch input:checked+.settings-switch-slider:before{transform:translate(18px)}html.dark .settings-switch-slider{background-color:#475569}html.dark .settings-switch input:checked+.settings-switch-slider{background-color:#86efac}.goal-field{display:flex;flex-direction:column;gap:6px}.goal-field .input{height:40px}.goal-label{font-size:13px;color:var(--color-text-muted);font-weight:600}.goal-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px;align-items:center}.goal-actions>.btn,.goal-actions-right .btn{width:100%}.goal-actions-right{display:contents}.preferences-standalone-page{background:radial-gradient(120% 90% at 100% 0%,rgba(164,193,162,.16),transparent 52%),radial-gradient(80% 60% at 0% 12%,rgba(237,221,196,.34),transparent 58%);min-height:100%}.preferences-standalone-page .page-header{margin-bottom:2px}.preferences-card{position:relative;overflow:hidden;border-radius:26px;padding:18px;background:radial-gradient(130% 100% at 100% 0%,rgba(164,193,162,.14),transparent 52%),linear-gradient(180deg,#fffffffa,#faf9f5f5);border:1px solid rgba(208,198,183,.82);box-shadow:0 16px 38px #0f172a14,inset 0 1px #ffffffdb;display:flex;flex-direction:column;gap:14px}.preferences-card-header,.goals-panel-header{display:flex;flex-direction:column;gap:8px}.preferences-recipe-view{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;border-radius:15px;background:var(--color-bg-elevated)}.preferences-recipe-view button{min-height:44px;padding:7px 8px;border:1px solid transparent;border-radius:12px;color:var(--color-text-main);background:transparent;font-weight:700;cursor:pointer}.preferences-recipe-view button[aria-pressed=true]{color:var(--redesign-ink, var(--color-text-main));background:var(--redesign-sage, var(--color-bg-elevated));border-color:var(--color-border-light)}.preferences-recipe-view button:disabled{cursor:default}.preferences-card-label{font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#60735f}.preferences-card-title{margin:0;font-family:var(--font-display);font-size:clamp(24px,6vw,31px);line-height:1.04;letter-spacing:-.025em;color:#1d2836}.preferences-card-copy{margin:0;color:#5c6775;font-size:14px;line-height:1.55;max-width:42ch}.preferences-selection-cap{align-self:flex-start;padding:8px 12px;border-radius:999px;background:#a4c1a233;color:#3f5945;font-size:12px;font-weight:700;letter-spacing:.02em}.preferences-standalone-page .preference-list{display:grid;grid-template-columns:1fr;gap:10px;margin-top:2px}.preferences-standalone-page .preference-option{padding:13px;border-radius:18px;border:1px solid rgba(209,198,179,.88);background:#ffffffd1;box-shadow:0 10px 24px #0f172a0d,inset 0 1px #ffffffbf;align-items:center;gap:11px;transition:transform .18s ease,border-color .18s ease,background-color .18s ease,box-shadow .18s ease}.preferences-standalone-page .preference-option:hover{transform:translateY(-2px);border-color:#a4c1a2a8;box-shadow:0 14px 30px #0f172a14,inset 0 1px #ffffffc7}.preferences-standalone-page .preference-option.active{border-color:#7da982d9;background:radial-gradient(130% 100% at 100% 0%,rgba(164,193,162,.28),transparent 52%),linear-gradient(180deg,#e9f4e9fa,#e1eee0f0);color:#183123;box-shadow:0 16px 34px #769a772e,inset 0 1px #fffc}.preferences-standalone-page .preference-option:disabled{opacity:.62;transform:none;box-shadow:none}.preference-option-icon{width:38px;height:38px;border-radius:13px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 38px;background:linear-gradient(180deg,#f8f6f1f5,#efeae2fa);border:1px solid rgba(206,198,184,.9);color:#506459}.preferences-standalone-page .preference-option.active .preference-option-icon{background:#ffffffb8;border-color:#7da9828c;color:#365340}.preference-option-icon svg,.preferences-btn-icon svg,.preference-option-check svg{width:16px;height:16px;display:block}.preference-option-copy{min-width:0;flex:1 1 auto;display:flex;flex-direction:column;gap:2px}.preference-option-title{font-size:15px;font-weight:800;letter-spacing:-.02em;color:inherit}.preference-option-meta{font-size:11px;font-weight:500;color:#687583}.preferences-standalone-page .preference-option.active .preference-option-meta{color:#49624e}.preference-option-check{width:24px;height:24px;border-radius:999px;flex:0 0 24px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(198,191,177,.9);background:#ffffffc7;color:transparent}.preferences-standalone-page .preference-option.active .preference-option-check{color:#2f5440;border-color:#7da982a8;background:#ffffffe0}.preferences-standalone-page .preference-actions{display:flex;align-items:center;gap:12px;margin-top:2px}.preferences-standalone-page .preference-actions .btn{min-height:50px;padding:12px 18px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:800}.preference-primary-btn{background:linear-gradient(135deg,#a4c1a2,#91b28f);color:#102235;box-shadow:0 12px 24px #6e977438}.preference-secondary-btn{background:#ffffffd6;border:1px solid rgba(207,199,184,.88);color:#465463}.preferences-btn-icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 18px;line-height:0}.preferences-btn-icon svg{transform:translateY(-1px)}.preferences-standalone-page .settings-error{margin-top:0;padding:10px 12px;border-radius:14px;background:#f8717124;border:1px solid rgba(248,113,113,.28);color:#991b1b}.goals-panel-toggle{padding:0 0 14px;border-radius:0;border:0;border-bottom:1px solid rgba(209,198,179,.72);background:transparent;box-shadow:none;align-items:flex-start}.goal-toggle-copy{display:flex;flex-direction:column;gap:3px;min-width:0;max-width:360px}.goals-panel .goal-toggle-label{font-size:14px;font-weight:800;color:#243041;letter-spacing:-.01em}.goal-toggle-helper{color:#687583;font-size:12px;line-height:1.4}.goals-panel-toggle .settings-switch{width:50px;height:29px;margin-top:2px}.goals-panel-toggle .settings-switch-slider{background-color:#c7d2de;box-shadow:inset 0 1px #ffffff47}.goals-panel-toggle .settings-switch-slider:before{width:21px;height:21px;left:4px;top:4px}.goals-panel-toggle .settings-switch input:checked+.settings-switch-slider{background-color:#a4c1a2}.goals-panel-toggle .settings-switch input:checked+.settings-switch-slider:before{transform:translate(21px)}.goal-toggle-saving{margin-top:4px;color:#5d6b79;font-size:12px;font-weight:700}.goals-input-grid{gap:12px;padding-top:4px}.goals-field-card{padding:0;gap:6px}.goals-field-card .goal-label{font-size:12px;font-weight:800;color:#677483;letter-spacing:.03em;text-transform:uppercase}.preferences-goal-input{width:100%;height:38px;min-height:38px;border-radius:15px!important;border:1px solid rgba(220,212,198,.9);color:#162737;font-size:18px;font-weight:700;letter-spacing:-.02em;padding:8px 18px}.preferences-goal-input:focus{outline:none;border-color:#6f9f7bcc;box-shadow:0 0 0 3px #a4c1a229,inset 0 1px #fffffff0,inset 0 -1px #dbd0be6b}.goals-actions{display:flex;flex-direction:column;gap:10px;margin-top:6px}.goals-actions>.btn{width:100%;min-height:46px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:800}.goal-actions-right{display:grid;grid-template-columns:1fr 1fr;gap:12px}.preference-tonal-btn{background:#e0ebdfdb;border:1px solid rgba(164,187,161,.6);color:#183123}.preference-save-btn{background:linear-gradient(135deg,#a4c1a2,#91b28f);color:#102235;box-shadow:0 12px 24px #6e977438}.preference-danger-btn{background:linear-gradient(180deg,#f2e1dcf5,#edd8d2f5);color:#6a342b;border:1px solid rgba(211,174,165,.72)}.preferences-blacklist-pills{min-height:24px}.preferences-blacklist-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:stretch}.preferences-blacklist-input{min-height:52px}.preferences-memory-actions{justify-content:flex-start}.preferences-standalone-page .btn[aria-busy=true]{cursor:wait}html.dark .preferences-standalone-page{background:radial-gradient(120% 90% at 100% 0%,rgba(121,165,117,.14),transparent 52%),radial-gradient(80% 60% at 0% 12%,rgba(45,63,92,.34),transparent 58%)}html.dark .preferences-card{background:radial-gradient(130% 100% at 100% 0%,rgba(121,165,117,.12),transparent 52%),linear-gradient(180deg,#111e31fa,#0e1828f5);border-color:#475e80b8;box-shadow:0 18px 38px #00000057,inset 0 1px #94a3b814}html.dark .preferences-card-label,html.dark .preferences-selection-cap{color:#a7c8a5}html.dark .preferences-card-title{color:var(--text-dark-primary)}html.dark .preferences-card-copy{color:var(--text-dark-secondary)}html.dark .preferences-selection-cap{background:#79a5752e}html.dark .preferences-standalone-page .preference-option{background:#101d2feb;border-color:#445a7ac7;box-shadow:0 12px 26px #0000003d,inset 0 1px #94a3b80f}html.dark .preferences-standalone-page .preference-option:hover{border-color:#79a57594}html.dark .preferences-standalone-page .preference-option.active{background:radial-gradient(130% 100% at 100% 0%,rgba(121,165,117,.2),transparent 52%),linear-gradient(180deg,#203629fa,#182a21f5);border-color:#79a5759e;color:#eef8ef}html.dark .preference-option-icon{background:#1d2c42f5;border-color:#4f6686c7;color:#b3c5de}html.dark .preferences-standalone-page .preference-option.active .preference-option-icon{background:#ffffff14;border-color:#79a57566;color:#d9eed9}html.dark .preference-option-meta{color:#97aac2}html.dark .preferences-standalone-page .preference-option.active .preference-option-meta{color:#c6ddc8}html.dark .preference-option-check{background:#152338eb;border-color:#4e6688c7}html.dark .preferences-standalone-page .settings-error{background:#7f1d1d57;border-color:#dc262659;color:#fecaca}html.dark .goal-toggle-row{background:transparent;border-color:#445a7aad}html.dark .goals-panel .goal-toggle-label{color:var(--text-dark-primary)}html.dark .goal-toggle-helper{color:var(--text-dark-secondary)}html.dark .goals-panel-toggle .settings-switch-slider{background-color:#46556a}html.dark .goals-panel-toggle .settings-switch input:checked+.settings-switch-slider{background-color:#79a575}html.dark .goal-toggle-saving{color:#9fb0c7}html.dark .goals-field-card .goal-label{color:#98aac2}html.dark .preferences-goal-input{background:linear-gradient(180deg,#1a293dfa,#142132fa);border-color:#465d7edb;color:var(--text-dark-primary);box-shadow:inset 0 1px #94a3b81f,inset 0 -1px #0a132059,0 3px 10px #00000029}html.dark .preferences-goal-input:focus{border-color:#79a575;box-shadow:0 0 0 3px #79a5752e,inset 0 1px #94a3b824,inset 0 -1px #0a132052}html.dark .preference-secondary-btn{background:#121f30f0;border-color:#445a7ac7;color:var(--text-dark-secondary)}html.dark .preference-tonal-btn{background:#21392aeb;border-color:#79a57561;color:#e8f5e8}html.dark .preference-save-btn{background:linear-gradient(135deg,#79a575,#6d9469);color:#0a1521}html.dark .preference-danger-btn{background:linear-gradient(180deg,#522f2bf5,#462623fa);border-color:#9a686085;color:#f3d7d2}html.dark .preferences-blacklist-input{background:linear-gradient(180deg,#1a293dfa,#142132fa);border-color:#465d7edb;color:var(--text-dark-primary)}@media (max-width: 720px){.preferences-standalone-page .page-title{font-size:22px}.preferences-card{padding:16px}.preferences-blacklist-form{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.preferences-standalone-page .preference-option,.goals-panel-toggle .settings-switch-slider,.preferences-goal-input{transition:none}}.admin-card{border:1px dashed rgba(15,23,42,.2)}.dish-type-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.dish-type-list{display:flex;flex-direction:column;gap:8px}.dish-type-row{border:1px solid var(--color-border-light);background:var(--color-bg-elevated);color:var(--color-text-main);padding:12px;border-radius:16px;text-align:left;display:flex;flex-direction:column;gap:6px;cursor:pointer;transition:border-color .15s ease,transform .1s ease}.dish-type-row:hover{transform:translateY(-1px)}.dish-type-row.active{border-color:var(--color-primary);box-shadow:0 8px 18px #00000014}.dish-type-name{font-weight:800;font-family:monospace;font-size:13px}.dish-type-meta{color:var(--color-text-muted);font-size:12px}.dish-type-detail-card{border:1px solid var(--color-border-light);border-radius:18px;padding:14px;display:flex;flex-direction:column;gap:12px;background:#f8fafcb3}html.dark .dish-type-detail-card{background:var(--bg-dark-surface);border-color:var(--border-dark-subtle)}.dish-type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}.dish-type-field{display:flex;flex-direction:column;gap:6px}.dish-type-textarea{resize:vertical}.dish-type-actions{display:flex;justify-content:flex-end}.admin-seed-card,.manual-seed-card{border:1px solid var(--color-border-light);border-radius:16px;padding:12px;display:flex;flex-direction:column;gap:10px;background:#f8fafc8c;margin-bottom:14px}html.dark .admin-seed-card,html.dark .manual-seed-card{background:var(--bg-dark-surface);border-color:var(--border-dark-subtle)}.manual-seed-notes{resize:vertical}.canonical-hint{font-size:12px;color:var(--color-text-muted)}.canonical-warning{background:#fbbf2433;border:1px solid rgba(251,191,36,.4);color:#92400e;padding:8px 10px;border-radius:12px;font-size:12px;font-weight:700}.canonical-error{background:#f8717126;border:1px solid rgba(248,113,113,.35);color:#7f1d1d;padding:8px 10px;border-radius:12px;font-size:12px;font-weight:700}.canonical-suggestions{display:flex;flex-direction:column;gap:6px}.canonical-suggestion{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:12px;border:1px solid var(--color-border-light);background:var(--color-bg-elevated);cursor:pointer;text-align:left;font-size:13px}.canonical-suggestion-value{font-family:monospace;font-weight:700}.canonical-suggestion-kind{font-size:11px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.3px;font-weight:700}.canonical-confirm{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:var(--color-text-main)}.admin-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.admin-cache-list{display:flex;flex-direction:column;gap:8px}.admin-cache-row{border:1px solid var(--color-border-light);background:var(--color-bg-elevated);color:var(--color-text-main);padding:12px;border-radius:16px;text-align:left;display:flex;flex-direction:column;gap:6px;cursor:pointer;transition:border-color .15s ease,transform .1s ease}.admin-cache-row:hover{transform:translateY(-1px)}.admin-cache-row.active{border-color:var(--color-primary);box-shadow:0 8px 18px #00000014}.admin-cache-key{font-weight:800;font-family:monospace;font-size:13px}.admin-cache-meta{color:var(--color-text-muted);font-size:12px}.admin-empty{color:var(--color-text-muted);font-size:13px;text-align:center;padding:12px}.admin-error{background:#f8717126;border:1px solid rgba(248,113,113,.35);color:#7f1d1d;padding:10px 12px;border-radius:12px;font-size:13px;font-weight:700}.admin-detail-card{border:1px solid var(--color-border-light);border-radius:18px;padding:14px;display:flex;flex-direction:column;gap:12px;background:#f8fafcb3}.admin-detail-header{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}.admin-detail-title{font-weight:800;font-size:14px;word-break:break-word}.admin-image-preview{width:100%;border-radius:16px;object-fit:cover;max-height:240px}.admin-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;font-size:12px;color:var(--color-text-muted)}.admin-actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px}.admin-note-label{font-weight:700;color:var(--color-text-main)}.admin-note{min-height:90px;resize:vertical}.fade-in{animation:fadeIn .32s cubic-bezier(.22,1,.36,1)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.settings-shell-card{background:radial-gradient(140% 120% at 100% 0%,rgba(164,193,162,.18),transparent 52%),linear-gradient(180deg,#fffffffa,#fffffff0);border-radius:15px;border:1px solid rgba(206,199,184,.78);box-shadow:0 14px 34px #0f172a14,inset 0 1px #ffffffd1;padding:18px}.settings-tips-page{padding-bottom:calc(var(--bottom-nav-clearance) + env(safe-area-inset-bottom,0px) + 50px)!important}.settings-tips-page .today-tips-center{margin-bottom:calc(var(--bottom-nav-clearance) + env(safe-area-inset-bottom,0px) + 28px)}.settings-account-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 16px}.settings-account-avatar{width:48px;height:48px;border-radius:15px;background:linear-gradient(135deg,#88ad92,#b7cfb2);color:#12311b;display:grid;place-items:center;font-weight:800;font-size:16px;overflow:hidden;box-shadow:0 10px 22px #5070592e}.settings-account-avatar img{width:100%;height:100%;object-fit:cover;display:block}.settings-account-avatar--large{width:84px;height:84px;border-radius:15px;font-size:24px}.settings-account-avatar-button{position:relative;border:none;cursor:pointer;padding:0}.settings-account-avatar-button:focus-visible{outline:2px solid rgba(121,165,117,.58);outline-offset:3px}.settings-account-avatar-upload{position:absolute;right:-4px;bottom:-4px;width:28px;height:28px;border-radius:999px;background:#fffffff2;border:1px solid rgba(206,199,184,.92);display:grid;place-items:center;color:#1e293b;box-shadow:0 8px 18px #0f172a1f}.settings-account-avatar-upload svg{width:14px;height:14px}.settings-account-copy,.settings-link-copy,.settings-editor-identity{min-width:0}.settings-account-name,.settings-link-title{color:#172033;font-size:17px;font-weight:800;letter-spacing:-.02em}.settings-account-email,.settings-link-subtitle{display:block;margin-top:2px;color:#556273;font-size:12px;line-height:1.35;overflow-wrap:anywhere}.settings-account-edit{width:42px;height:42px;border-radius:15px;border:0px solid rgba(206,199,184,.82);background:#ffffffeb;color:#1e293b;display:grid;place-items:center;box-shadow:0 8px 18px #0f172a14;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.settings-account-edit svg{width:22px;height:22px}.settings-account-edit:hover{transform:translateY(-1px)}.settings-theme-card{display:flex;flex-direction:column;gap:12px}.settings-main-panel{padding:0;overflow:hidden}.settings-main-panel-section{padding:18px}.settings-main-panel-links{border-top:1px solid rgba(206,199,184,.52)}.settings-segmented{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;background:#f4efe5eb;border:1px solid rgba(206,199,184,.82);border-radius:15px;padding:6px;box-shadow:inset 0 1px #ffffffd9;position:relative;overflow:hidden;--toggle-count: 3;--toggle-index: 0}.settings-segmented:before{content:"";position:absolute;top:4px;bottom:4px;left:4px;width:calc((100% - 8px) / var(--toggle-count, 3));border-radius:15px;background:linear-gradient(135deg,#a4c1a2fa,#a4c1a2c7);box-shadow:0 8px 18px #1f2a361f;transform:translate(calc(var(--toggle-index, 0) * 100%));transition:transform .25s ease;z-index:0}.settings-segmented-btn{border:none;background:transparent;padding:12px 10px;border-radius:15px;font-weight:800;color:#52606f;font-size:14px;letter-spacing:-.01em;position:relative;z-index:1;cursor:pointer;transition:color .2s ease}.settings-segmented-btn.active{color:#172033}.settings-segmented-btn:focus-visible,.settings-account-edit:focus-visible,.settings-link-row:focus-visible,.settings-photo-actions .action-row-btn:focus-visible{outline:2px solid rgba(121,165,117,.58);outline-offset:2px}.settings-link-list,.settings-advanced{display:flex;flex-direction:column;gap:12px}.settings-link-list--grouped{gap:0;padding:0;overflow:hidden}.settings-link-row{width:100%;border:0px solid rgba(206,199,184,.72)!important;background:radial-gradient(120% 180% at 100% 0%,rgba(164,193,162,.12),transparent 48%),linear-gradient(180deg,#fffffffa,#ffffffed);color:inherit;border-radius:15px;padding:10px!important;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;text-align:left;cursor:pointer}.settings-link-list--grouped .settings-link-row{border:none;border-radius:0;background:transparent;box-shadow:none;padding:18px 16px;gap:12px}.settings-link-list--grouped .settings-link-row:first-child{border-top-left-radius:0;border-top-right-radius:0}.settings-link-list--grouped .settings-link-row:last-child{border-bottom-left-radius:15px;border-bottom-right-radius:15px}.settings-link-list--grouped .settings-link-row+.settings-link-row{border-top:1px solid rgba(206,199,184,.52)}.settings-link-row:hover{transform:translateY(-1px);box-shadow:0 16px 34px #0f172a17,inset 0 1px #ffffffd9}.settings-link-list--grouped .settings-link-row:hover{transform:none;box-shadow:none;background:#ffffff6b}.settings-link-row--compact{border:none;padding:0;background:transparent;box-shadow:none}.settings-link-row--compact:hover{transform:none;box-shadow:none}.settings-link-icon{width:44px;height:44px;border-radius:15px;background:transparent;border:none;display:grid;place-items:center;color:#213245;flex:0 0 auto}.settings-link-list--grouped .settings-link-icon{width:38px;height:38px;border-radius:15px}.settings-link-list--grouped .settings-link-title{font-size:16px}.settings-link-list--grouped .settings-link-subtitle{margin-top:2px;font-size:12px;line-height:1.35}.settings-link-icon svg,.settings-link-chevron svg{width:20px;height:20px}.settings-link-list--grouped .settings-link-icon svg,.settings-link-list--grouped .settings-link-chevron svg{width:18px;height:18px}.settings-link-chevron{color:#6b7280}.settings-advanced-label{color:#617185;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:2px 2px 0}.settings-meta-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.settings-account-editor-card{display:flex;flex-direction:column;gap:18px}.settings-editor-hero{display:flex;align-items:center;gap:14px}.settings-editor-group{display:flex;flex-direction:column;gap:8px;padding-top:2px}.settings-editor-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.settings-field{display:flex;flex-direction:column;gap:8px}.settings-photo-actions{display:flex;flex-direction:column;gap:6px}.settings-photo-input{display:none}.settings-editor-actions{display:flex;flex-direction:column;gap:10px}.settings-editor-actions--split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.settings-primary-cta,.settings-danger-cta{width:100%}.settings-editor-actions--split .settings-primary-cta,.settings-editor-actions--split .settings-danger-cta{width:100%;min-width:0;padding:11px 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.settings-button-icon{display:inline-flex;align-items:center;justify-content:center}.settings-button-icon svg{width:16px;height:16px}.settings-danger-cta{background:#fde7e7;border:1px solid #f3b4b4;color:#9f1f1f;box-shadow:0 8px 18px #b91c1c14;border-radius:18px;padding:13px 16px;font-weight:800;line-height:1.1}.settings-danger-cta:hover{filter:brightness(.98)}.settings-account-delete-wrap{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.settings-delete-account-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:#9f1f1f;padding:6px 2px;display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;cursor:pointer}.settings-delete-account-btn:hover{color:#7f1d1d}.settings-delete-account-btn:disabled{opacity:.56;cursor:default}.settings-account-delete-note{margin:0;color:#7b8797;font-size:12px;line-height:1.4}.delete-account-confirm-btn{color:#7f1d1d}.delete-account-danger-btn{background:#b91c1c;border-color:#b91c1c}.settings-placeholder-card{display:flex;flex-direction:column;gap:10px;min-height:220px;justify-content:center}.settings-placeholder-badge{align-self:flex-start;border-radius:999px;padding:7px 12px;background:#a4c1a238;border:1px solid rgba(164,193,162,.42);color:#284234;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}html.dark .settings-shell-card,html.dark .settings-link-row{background:radial-gradient(140% 120% at 100% 0%,rgba(72,111,82,.22),transparent 52%),linear-gradient(180deg,#16243a,#111d31);border-color:var(--border-dark-subtle);box-shadow:0 18px 36px #00000057,inset 0 1px #94a3b814}html.dark .settings-link-list--grouped .settings-link-row{background:transparent;box-shadow:none}html.dark .settings-main-panel-links{border-top-color:transparent}html.dark .settings-link-list--grouped .settings-link-row+.settings-link-row{border-top-color:#314b70b8}html.dark .settings-link-list--grouped .settings-link-row:hover{background:#17274194}html.dark .settings-account-name,html.dark .settings-link-title,html.dark .settings-section-title,html.dark .settings-section-sub{color:var(--text-dark-primary)}html.dark .settings-account-email,html.dark .settings-link-subtitle,html.dark .settings-advanced-label{color:#9eb1cb}html.dark .settings-link-icon,html.dark .settings-account-edit,html.dark .settings-segmented,html.dark .sync-inline,html.dark .input,html.dark .action-row-btn{background:#172741;border-color:#314b70;color:var(--text-dark-primary)}html.dark .settings-segmented{box-shadow:inset 0 1px #94a3b814}html.dark .settings-link-icon{background:transparent;border-color:transparent}html.dark .settings-account-avatar{background:linear-gradient(135deg,#5f8a67,#8cb497);color:#eff7f0}html.dark .settings-account-avatar-upload{background:#172741;border-color:#314b70;color:var(--text-dark-primary)}html.dark .settings-segmented:before{background:linear-gradient(135deg,#80b07ef2,#609768c7)}html.dark .settings-danger-cta{background:#7f1d1d3d;border-color:#fca5a557;color:#fecaca;box-shadow:0 10px 22px #0003}html.dark .settings-delete-account-btn{color:#fca5a5}html.dark .settings-delete-account-btn:hover{color:#fecaca}html.dark .settings-account-delete-note{color:#94a3b8}html.dark .settings-segmented-btn{color:#8ea4c5}html.dark .settings-segmented-btn.active,html.dark .settings-link-chevron,html.dark .settings-account-edit{color:var(--text-dark-primary)}html.dark .settings-placeholder-badge{background:#80b07e29;border-color:#80b07e57;color:#d0e5d1}@media (max-width: 640px){.settings-account-card{padding:13px 14px}.settings-main-panel-section{padding:16px 14px}.settings-link-row{padding:14px;border-radius:15px}.settings-link-list--grouped{padding:0}.settings-link-list--grouped .settings-link-row{padding:16px 14px}.settings-editor-fields{grid-template-columns:1fr}.settings-editor-actions--split{flex-direction:column;align-items:stretch}.settings-editor-actions--split .settings-primary-cta,.settings-editor-actions--split .settings-danger-cta{width:100%}.settings-meta-row{flex-direction:column;align-items:stretch}.settings-photo-actions .action-row-btn,.settings-meta-row .paste-button{width:100%}}.subscription-current-card,.subscription-selection-card{display:flex;flex-direction:column;gap:10px}.subscription-status-grid{display:grid;gap:10px}.subscription-status-item{display:grid;gap:6px}.subscription-status-label{color:#6a7787;font-size:.76rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.subscription-current-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.subscription-current-title{display:inline-flex;align-items:center;gap:8px;min-width:0;color:#172033;font-size:1.03rem;font-weight:800}.subscription-current-price{color:#274f36;font-size:.95rem;font-weight:800;white-space:nowrap}.subscription-premium-pill{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:4px 8px;background:linear-gradient(135deg,#f6df9f,#e7c171);color:#5e430c;border:1px solid rgba(195,155,77,.58);font-size:.7rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;line-height:1}.subscription-usage-block{display:grid;gap:8px;padding:12px 14px;border-radius:14px;border:1px solid rgba(206,199,184,.82);background:radial-gradient(120% 180% at 100% 0%,rgba(164,193,162,.12),transparent 48%),#ffffffdb}.subscription-usage-heading{color:#6a7787;font-size:.76rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.subscription-usage-list{display:grid;gap:0}.subscription-usage-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid rgba(206,199,184,.62)}.subscription-usage-row:first-child{padding-top:0;border-top:0}.subscription-usage-row:last-child{padding-bottom:0}.subscription-usage-label{color:#27364d;font-size:.88rem;font-weight:700;line-height:1.3}.subscription-usage-value{color:#274f36;font-size:.88rem;font-weight:800;text-align:right;white-space:nowrap}.subscription-usage-value--unlimited{color:#5e430c}.subscription-plan-grid{display:grid;gap:10px}.subscription-plan-card{border:1px solid rgba(206,199,184,.78);background:radial-gradient(120% 180% at 100% 0%,rgba(164,193,162,.14),transparent 48%),linear-gradient(180deg,#fffffff5,#ffffffe6);color:inherit;border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:8px;text-align:left;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;position:relative;overflow:hidden}.subscription-plan-card:hover{border-color:#7a9c77b3}.subscription-plan-card:active{transform:scale(.992)}.subscription-plan-card.is-disabled{cursor:not-allowed;opacity:.72;box-shadow:none}.subscription-plan-card.is-disabled:hover{border-color:#cec7b8c7}.subscription-plan-card:after{content:"";position:absolute;top:12px;right:12px;width:12px;height:12px;border-radius:999px;background:transparent;box-shadow:0 0 0 2px #7a9c7770;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease;z-index:2}.subscription-plan-card.is-active{border-color:#538a64f5;background:radial-gradient(130% 170% at 100% 0%,rgba(156,196,151,.3),transparent 48%),linear-gradient(180deg,#fffffffa,#ffffffed);box-shadow:0 14px 28px #0f172a24,0 0 0 2px #79a5753d,0 1px #ffffffe0 inset;transform:translateY(-2px) scale(1.01);animation:plan-card-select-pop .22s cubic-bezier(.22,.8,.2,1)}.subscription-plan-card.is-active:after{transform:scale(1.12);background:#79a575;box-shadow:0 0 0 2px #fffffff2,0 0 0 6px #79a57547}.subscription-plan-card.is-premium{background:radial-gradient(130% 170% at 100% 0%,rgba(244,205,120,.22),transparent 48%),linear-gradient(180deg,#fffffff5,#ffffffe6)}.subscription-plan-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.subscription-plan-title-row{display:inline-flex;align-items:center;gap:8px}.subscription-plan-title{color:#172033;font-size:1rem;font-weight:800}.subscription-plan-price{color:#274f36;font-size:.92rem;font-weight:800;padding-right:34px}.subscription-plan-summary{margin:0;color:#556273;font-size:.86rem;line-height:1.35}.subscription-plan-features{margin:0;padding:0;list-style:none;display:grid;gap:4px}.subscription-plan-features li{position:relative;padding-left:15px;color:#27364d;font-size:.83rem;line-height:1.34}.subscription-plan-features li:before{content:"";position:absolute;left:0;top:.5em;width:6px;height:6px;border-radius:999px;background:#7a9c77e6;transform:translateY(-50%)}.subscription-save-btn{width:100%;margin-top:4px}.subscription-trial-banner{display:grid;gap:6px;padding:12px 14px;border-radius:14px;border:1px solid rgba(206,199,184,.82);background:radial-gradient(120% 180% at 100% 0%,rgba(164,193,162,.18),transparent 48%),#ffffffe6}.subscription-trial-banner-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.subscription-trial-badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 10px;background:#79a57529;color:#2e5a3e;font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.subscription-trial-countdown{color:#274f36;font-size:.84rem;font-weight:800}.subscription-trial-date{color:#556273;font-size:.83rem;font-weight:700}.subscription-trial-copy{margin:0;color:#334155;font-size:.86rem;line-height:1.4}.subscription-plan-callout{padding:10px 12px;border-radius:12px;background:linear-gradient(135deg,#f6df9f47,#e7c17124);border:1px solid rgba(195,155,77,.4);color:#5e430c;font-size:.82rem;font-weight:700;line-height:1.35}html.dark .subscription-current-title,html.dark .subscription-plan-title,html.dark .subscription-status-label,html.dark .subscription-usage-heading{color:var(--text-dark-primary)}html.dark .subscription-current-price,html.dark .subscription-plan-price,html.dark .subscription-trial-countdown,html.dark .subscription-usage-value{color:#a9d9a8}html.dark .subscription-usage-block{background:radial-gradient(120% 180% at 100% 0%,rgba(72,111,82,.2),transparent 48%),#11213a;border-color:#304865}html.dark .subscription-usage-row{border-top-color:#385071b8}html.dark .subscription-usage-label{color:color-mix(in srgb,var(--text-dark-primary) 84%,var(--text-dark-secondary) 16%)}html.dark .subscription-usage-value--unlimited{color:#ffe8bf}html.dark .subscription-plan-card{background:radial-gradient(130% 160% at 100% 0%,rgba(58,93,70,.26),transparent 52%),#11213a;border-color:#304865}html.dark .subscription-plan-card.is-active{border-color:#79a575;background:radial-gradient(130% 170% at 100% 0%,rgba(102,156,110,.34),transparent 52%),#13243d;box-shadow:0 14px 24px #0000006b,0 0 0 2px #79a57547,0 1px #ffffff0f inset}html.dark .subscription-plan-card.is-premium{background:radial-gradient(130% 160% at 100% 0%,rgba(177,129,42,.26),transparent 52%),#11213a}html.dark .subscription-plan-card.is-disabled:hover{border-color:#304865}html.dark .subscription-premium-pill{background:linear-gradient(135deg,#845b1d,#6e4b14);border-color:#eecf8c66;color:#ffe8bf}html.dark .subscription-plan-card:after{box-shadow:0 0 0 2px #79a57594}html.dark .subscription-plan-card.is-active:after{background:#8ac285;box-shadow:0 0 0 2px #13243d,0 0 0 6px #8ac28552}html.dark .subscription-plan-summary,html.dark .subscription-plan-features li,html.dark .subscription-trial-date,html.dark .subscription-trial-copy{color:color-mix(in srgb,var(--text-dark-primary) 78%,var(--text-dark-secondary) 22%)}html.dark .subscription-trial-banner{background:radial-gradient(120% 180% at 100% 0%,rgba(72,111,82,.24),transparent 48%),#11213a;border-color:#304865}html.dark .subscription-trial-badge{background:#79a5752e;color:#d7edd4}html.dark .subscription-plan-callout{background:linear-gradient(135deg,#845b1d57,#6e4b142e);border-color:#eecf8c47;color:#ffe8bf}html.dark .settings-reminders-status-label,html.dark .settings-reminders-time-label{color:var(--text-dark-primary)}html.dark .settings-reminders-status-meta,html.dark .settings-reminders-footnote,html.dark .settings-reminders-inline-note{color:var(--text-dark-secondary)}html.dark .settings-reminders-time-field{border-color:#485c76d9;background:radial-gradient(130% 140% at 100% 0%,rgba(129,166,123,.12),transparent 58%),linear-gradient(180deg,#121f33f5,#101c2ff0);box-shadow:0 16px 26px #00000038,inset 0 1px #94a3b814}html.dark .settings-reminders-time-field.is-filled{border-color:#79a57585;background:radial-gradient(140% 140% at 100% 0%,rgba(121,165,117,.18),transparent 58%),linear-gradient(180deg,#142631fa,#12212cf5)}html.dark .settings-reminders-time-field input,html.dark .settings-reminders-time-field select{background:#0d1828e0;border-color:#566884c2;color:var(--text-dark-primary);box-shadow:inset 0 1px #94a3b814}html.dark .settings-reminders-toggle{border-color:#65807242;background:radial-gradient(130% 150% at 100% 0%,rgba(121,165,117,.14),transparent 56%),linear-gradient(180deg,#142631f5,#111f2bf0);color:var(--text-dark-primary)}html.dark .settings-reminders-toggle.is-selected{background:radial-gradient(130% 150% at 100% 0%,rgba(121,165,117,.2),transparent 56%),linear-gradient(180deg,#193029fa,#162a25f0);border-color:#79a57570}html.dark .settings-reminders-toggle .planner-generator-toggle-label{color:var(--text-dark-primary)}html.dark .settings-reminders-toggle .planner-generator-toggle-meta{color:var(--text-dark-secondary)}html.dark .settings-reminders-toggle .planner-generator-toggle-switch{background:#42526b}html.dark .settings-reminders-toggle.is-selected .planner-generator-toggle-switch{background:#79a575}@media (max-width: 640px){.settings-reminders-permission-row{flex-direction:column;align-items:stretch}}@media (max-width: 380px){.settings-reminders-weekly-row,.settings-reminders-time-grid{grid-template-columns:1fr}}.settings-overview{max-width:1100px;margin:auto;padding:clamp(18px,3vw,32px);gap:16px;background:var(--redesign-paper, #fbf8ef);color:var(--redesign-card-title, #35261b)}.settings-overview .settings-header h1{color:var(--redesign-card-title, #35261b);font:700 clamp(2rem,5vw,2.8rem)/1.1 var(--redesign-heading, Georgia, serif)}.settings-overview .settings-subtitle,.settings-overview .settings-link-subtitle,.settings-overview .settings-theme-card .settings-subtext{display:none}.settings-overview .settings-account-card,.settings-overview>.settings-main-panel-section{border:0;border-radius:20px;box-shadow:none;background:var(--redesign-sage, #e8efdf);color:var(--redesign-ink, #2c482b)}.settings-overview .settings-account-card{padding:18px;margin-bottom:-16px;border-radius:20px 20px 0 0}.settings-overview>.settings-main-panel-section{padding:4px 18px 18px;border-radius:0 0 20px 20px}.settings-overview .settings-account-avatar{border-radius:15px;background:var(--redesign-action, #ccdfbd);color:var(--redesign-action-ink, #2c482b);box-shadow:none}.settings-overview .settings-account-name,.settings-overview .settings-account-email,.settings-overview .settings-account-edit,.settings-overview>.settings-main-panel-section .settings-subtext{color:var(--redesign-ink, #2c482b)}.settings-overview .settings-account-edit{background:var(--redesign-cream, #fffdf6);border:0;border-radius:12px;box-shadow:none}.settings-overview .settings-main-panel{border:0;box-shadow:none;padding:0;background:transparent;overflow:visible}.settings-overview .settings-theme-card{padding:10px 0 18px;border:0}.settings-overview .settings-section-title,.settings-group-heading{color:var(--redesign-card-title, #35261b);font:700 1.4rem/1.2 var(--redesign-heading, Georgia, serif)}.settings-overview .settings-segmented{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0;margin-top:12px;background:transparent;border:0}.settings-overview .settings-segmented:before{display:none}.settings-overview .settings-segmented-btn{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:86px;padding:10px;border:1px solid transparent;border-radius:14px;background:var(--redesign-oat, #f2eee3);color:var(--redesign-card-title, #35261b)}.settings-overview .settings-segmented-btn.active{background:var(--redesign-sage, #e8efdf);border-color:var(--redesign-muted, #526849);color:var(--redesign-ink, #2c482b)}.settings-theme-swatch{display:grid;gap:3px;width:45px;height:31px;padding:5px;border-radius:6px;background:#fffdf6}.settings-theme-swatch i{display:block;width:70%;height:3px;border-radius:5px;background:#99ad8e}.settings-theme-swatch i:nth-child(2){width:90%;height:6px;background:#ccdfbd}.settings-theme-swatch--dark{background:#243127}.settings-theme-swatch--system{background:linear-gradient(110deg,#fffdf6 50%,#243127 50%)}.settings-theme-check{color:var(--redesign-muted, #526849);font-weight:800}.settings-overview .settings-main-panel-links{display:grid;gap:5px;padding:0;border:0;background:transparent}.settings-group-heading{margin:18px 0 4px}.settings-overview .settings-link-row{min-height:56px;padding:8px 10px;border:0;border-radius:14px;background:var(--redesign-oat, #f2eee3);color:var(--redesign-card-title, #35261b);box-shadow:none}.settings-overview .settings-link-row:hover{background:var(--redesign-sage, #e8efdf)}.settings-overview .settings-link-icon,.settings-overview .settings-link-chevron{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:var(--redesign-sage, #e8efdf);color:var(--redesign-ink, #2c482b)}.settings-overview .settings-link-chevron{width:30px;height:30px;background:var(--redesign-cream, #fffdf6)}.settings-overview .settings-link-chevron svg{stroke-width:2.5}.settings-overview .settings-link-title{color:var(--redesign-card-title, #35261b)}@media (min-width: 900px) and (orientation: landscape){.settings-overview .settings-main-panel{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);gap:32px;align-items:start}.settings-overview .settings-main-panel-links .settings-group-heading:first-child{margin-top:10px}}.app-root:has(.settings-overview){max-width:none;border:0;border-radius:0;background:var(--redesign-paper, #fbf8ef)}html.dark .settings-overview .settings-main-panel{background:transparent}html.dark .settings-overview .settings-account-card,html.dark .settings-overview>.settings-main-panel-section{background:var(--redesign-sage)}html.dark .settings-overview .settings-link-row{background:var(--redesign-oat)}html.dark .settings-overview .settings-link-icon{background:var(--redesign-sage);color:var(--redesign-ink)}.settings-overview .settings-account-card{margin-bottom:0;border-radius:20px}.settings-overview .settings-account-card:has(+.settings-main-panel-section){margin-bottom:-16px;border-radius:20px 20px 0 0}.app-root:has(.settings-subpage:is(.preferences-standalone-page,.settings-reminders-page,.settings-tips-page)){max-width:none;border:0;border-radius:0;background:var(--redesign-paper, #fbf8ef)}:is(html,html.dark) .settings-subpage:is(.preferences-standalone-page,.settings-reminders-page,.settings-tips-page){width:min(100%,1000px);margin-inline:auto;padding:clamp(18px,3vw,32px);background:var(--redesign-paper, #fbf8ef);color:var(--redesign-card-title, #35261b)}:is(html,html.dark) .settings-subpage:is(.preferences-standalone-page,.settings-reminders-page,.settings-tips-page) :is(.settings-header-row,.page-header){display:flex;align-items:center;justify-content:flex-start;gap:12px;margin-bottom:8px}:is(html,html.dark) .settings-subpage:is(.preferences-standalone-page,.settings-reminders-page,.settings-tips-page) :is(.settings-header h1,.page-title){flex:initial;margin:0;text-align:left;color:var(--redesign-card-title, #35261b);font:700 clamp(1.8rem,4vw,2.5rem)/1.1 var(--redesign-heading, Georgia, serif)}:is(html,html.dark) .settings-subpage:is(.preferences-standalone-page,.settings-reminders-page,.settings-tips-page) .back-button{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border:0;border-radius:50%;background:var(--redesign-sage, #e8efdf);color:var(--redesign-ink, #2c482b);box-shadow:none}:is(html,html.dark) .settings-subpage:is(.preferences-standalone-page,.settings-reminders-page,.settings-tips-page) :is(.back-icon,.back-icon svg){background:transparent;color:inherit;border:0;box-shadow:none}:is(html,html.dark) .settings-subpage:is(.preferences-standalone-page,.settings-reminders-page,.settings-tips-page) :is(.preferences-card,.settings-reminders-card,.today-tips-center){border:0;border-radius:20px;box-shadow:none;background:var(--redesign-oat, #f2eee3);color:var(--redesign-card-title, #35261b);padding:clamp(16px,3vw,24px)}:is(html,html.dark) .settings-subpage:is(.preferences-standalone-page,.settings-reminders-page,.settings-tips-page) :is(.preferences-card-title,.settings-section-title){color:var(--redesign-card-title, #35261b);font-family:var(--redesign-heading, Georgia, serif)}:is(html,html.dark) .settings-subpage:is(.preferences-standalone-page,.settings-reminders-page,.settings-tips-page) :is(.preferences-card-copy,.settings-subtext,.settings-subtitle,.preference-option-meta,.settings-reminders-status-meta,.goal-toggle-helper){color:var(--redesign-card-muted, #695f51)}:is(html,html.dark) .settings-subpage :is(.preference-option,.settings-reminders-toggle,.settings-reminders-time-field,.goals-field-card){border:1px solid transparent;border-radius:14px;box-shadow:none;background:var(--redesign-cream, #fffdf6);color:var(--redesign-card-title, #35261b)}:is(html,html.dark) .settings-subpage :is(.preference-option.active,.settings-reminders-toggle.is-selected){background:var(--redesign-sage, #e8efdf);border-color:var(--redesign-action, #ccdfbd)}:is(html,html.dark) .settings-subpage :is(.preference-option-title,.goal-label,.goal-toggle-label,.settings-reminders-time-label,.planner-generator-toggle-label){color:var(--redesign-card-title, #35261b)}:is(html,html.dark) .settings-subpage :is(.preferences-goal-input,.settings-reminders-time-field input,.settings-reminders-time-field select){background:var(--redesign-cream, #fffdf6);color:var(--redesign-card-title, #35261b);border-color:var(--color-border-light);border-radius:12px;box-shadow:none}:is(html,html.dark) .settings-subpage :is(.btn-primary,.preference-save-btn,.settings-reminders-save){background:var(--redesign-action, #ccdfbd);color:var(--redesign-action-ink, #2c482b);border:0;border-radius:12px;box-shadow:none}:is(html,html.dark) .settings-tips-page .today-tips-center{background:var(--redesign-oat, #f2eee3)}:is(html,html.dark) .settings-tips-page :is(.today-tips-card,.today-tip-card){background:var(--redesign-cream, #fffdf6);border:0;border-radius:14px;color:var(--redesign-card-title, #35261b);box-shadow:none}:is(html,html.dark) .settings-subpage:is(.preferences-standalone-page,.settings-reminders-page,.settings-tips-page) :is(.preferences-card,.settings-reminders-card,.today-tips-center,.settings-section-title,.settings-subtext,.settings-reminders-inline-note){text-align:left}:is(html,html.dark) .preferences-standalone-page .back-button{flex-shrink:0;min-width:44px;min-height:44px;padding:0}:is(html,html.dark) .preferences-standalone-page .back-button .back-icon{display:grid;place-items:center;width:100%;height:100%}:is(html,html.dark) .preferences-standalone-page .preference-option{min-height:58px;padding:8px 12px;box-shadow:none;transform:none;border-radius:11px}:is(html,html.dark) .preferences-standalone-page .preference-option-icon{box-shadow:none}:is(html,html.dark) .preferences-standalone-page .preference-actions button{box-shadow:none}:is(html,html.dark) .preferences-standalone-page .goals-panel{background:var(--redesign-sage)}:is(html,html.dark) .preferences-standalone-page .goals-field-card{padding:10px;background:var(--redesign-paper);border-radius:12px}:is(html,html.dark) .preferences-standalone-page .goals-field-card input{background:transparent;border:0;border-radius:0;padding:4px 0;min-height:38px}:is(html,html.dark) .preferences-standalone-page .goal-actions button{box-shadow:none;border-radius:12px}:is(html,html.dark) .preferences-recipe-view{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;background:transparent;padding:0}:is(html,html.dark) .preferences-recipe-view button{display:grid;justify-items:center;gap:7px;padding:10px;min-height:90px;border-radius:12px;box-shadow:none}.recipe-layout-preview{display:grid;gap:3px;width:76px;height:46px;padding:4px;border-radius:6px;background:var(--redesign-paper)}.recipe-layout-preview i{display:block;border-radius:3px;background:var(--redesign-action)}.recipe-layout-preview--compact{grid-template-columns:repeat(3,1fr)}.recipe-layout-preview--cover{grid-template-columns:repeat(2,1fr)}:is(html,html.dark) .settings-reminders-page .settings-reminders-time-field{padding:10px 12px;border:0;background:var(--redesign-cream);box-shadow:none}:is(html,html.dark) .settings-reminders-page .settings-reminders-time-field input,:is(html,html.dark) .settings-reminders-page .settings-reminders-time-field select{min-height:44px;padding:0 8px;border:0;background:var(--redesign-oat);font-family:inherit;font-size:1rem;box-shadow:none}.settings-reminders-time-icon{display:flex;color:var(--redesign-muted)}.settings-tips-icon{display:none}.settings-tips-page .settings-tips-icon{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:12px;background:var(--redesign-sage);color:var(--redesign-ink)}.settings-tips-page .settings-tips-icon svg{width:22px;height:22px}:is(html,html.dark) .settings-tips-page .today-tips-tab{background:var(--redesign-cream);color:var(--redesign-ink);border:0;box-shadow:none}:is(html,html.dark) .settings-tips-page .today-tips-tab.is-active,:is(html,html.dark) .settings-tips-page .today-tip-card-action{background:var(--redesign-action);color:var(--redesign-action-ink);border:0;box-shadow:none}:is(html,html.dark) .settings-tips-page .today-tip-card-title{color:var(--redesign-card-title)}:is(html,html.dark) .settings-tips-page .today-tip-card-body{color:var(--redesign-card-muted)}.recipe-layout-preview--compact{grid-template-columns:1fr;grid-template-rows:repeat(3,1fr)}:is(html,html.dark) .preferences-standalone-page .preference-secondary-btn{background:var(--redesign-cream, #fffdf6);color:var(--redesign-ink, #2c482b);border:0;border-radius:12px;box-shadow:none}:is(html,html.dark) .preferences-standalone-page .goals-actions button{min-height:46px;border:0;border-radius:12px;box-shadow:none;background:var(--redesign-cream, #fffdf6);color:var(--redesign-ink, #2c482b)}:is(html,html.dark) .preferences-standalone-page .goals-actions .preference-save-btn{background:var(--redesign-action, #ccdfbd);color:var(--redesign-action-ink, #2c482b)}:is(html,html.dark) .preferences-standalone-page .goals-actions .preference-danger-btn{background:#f6e8e3;color:#91443a}html.dark .preferences-standalone-page .goals-actions .preference-danger-btn{background:#49302e;color:#ffd7cc}.app-root:has(.settings-image-tools-page){max-width:none;border:0;border-radius:0;background:var(--redesign-paper, #fbf8ef)}:is(html,html.dark) .settings-image-tools-page{width:min(100%,1000px);margin:auto;padding:clamp(18px,3vw,32px);background:var(--redesign-paper, #fbf8ef);color:var(--redesign-card-title, #35261b)}:is(html,html.dark) .settings-image-tools-page .settings-header-row{justify-content:flex-start;gap:12px}:is(html,html.dark) .settings-image-tools-page .settings-header h1{flex:initial;text-align:left;color:var(--redesign-card-title);font:700 clamp(1.8rem,4vw,2.5rem)/1.1 var(--redesign-heading, Georgia, serif)}:is(html,html.dark) .settings-image-tools-page .back-button{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border:0;border-radius:50%;background:var(--redesign-sage);color:var(--redesign-ink);box-shadow:none}:is(html,html.dark) .settings-image-tools-page .back-icon{display:grid;place-items:center;width:100%;height:100%;background:transparent;border:0;box-shadow:none}:is(html,html.dark) .settings-image-tools-page .settings-image-tools-card{border:0;border-radius:20px;background:var(--redesign-oat);box-shadow:none;text-align:left}:is(html,html.dark) .settings-image-tools-page :is(.settings-section-sub,.goal-toggle-label,.dev-seeder-label){color:var(--redesign-card-title)}:is(html,html.dark) .settings-image-tools-page :is(.settings-subtitle,.settings-subtext,.dev-seeder-help,.dev-seeder-upload-filename){color:var(--redesign-card-muted)}:is(html,html.dark) .settings-image-tools-page :is(.goal-toggle-row,.dev-seeder-shell){border:0;border-radius:14px;background:var(--redesign-cream);box-shadow:none}:is(html,html.dark) .settings-image-tools-page :is(.dev-seeder-input,.dev-seeder-upload-field){border:1px solid var(--color-border-light);border-radius:12px;background:var(--redesign-paper);color:var(--redesign-card-title);box-shadow:none}:is(html,html.dark) .settings-image-tools-page :is(.sync-button,.dev-seeder-submit,.dev-seeder-upload-button){border:0;border-radius:12px;background:var(--redesign-action);color:var(--redesign-action-ink);box-shadow:none}.app-content.app-content--auth{--app-content-pad-top: 0px;--app-content-pad-x: 0px;--app-content-pad-bottom: 0px;padding:0;display:flex;flex-direction:column;min-height:100%}.auth-page{--keyboard-scroll-base-padding: 0px;--keyboard-scroll-extra-offset: 28px;--keyboard-scroll-top-margin: 18px;position:relative;width:100%;flex:1;min-height:0;overflow:hidden;padding:0;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-end;background:radial-gradient(820px 440px at -12% -18%,rgba(164,193,162,.28),transparent 66%),radial-gradient(720px 420px at 110% 112%,rgba(242,180,135,.14),transparent 67%),linear-gradient(180deg,#ffffff8c,#fff0 34%),var(--color-bg, #f0efe5)}.native-ios-shell.keyboard-open .auth-page.keyboard-scroll-container{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}.native-ios-shell.keyboard-open .auth-page.keyboard-scroll-container .auth-shell{min-height:calc(100% + var(--keyboard-height, 0px))}.auth-shell{position:relative;z-index:2;width:100%;min-height:100%;display:flex;flex-direction:column;justify-content:flex-end}.auth-shell--background{filter:saturate(.96)}.auth-cover{position:absolute;top:0;left:0;right:0;width:100%;height:clamp(272px,46vh,410px);overflow:hidden;border-radius:24px 24px 0 0;z-index:1}.auth-cover-image{width:100%;height:100%;object-fit:cover;object-position:center 18%;display:block;transform:scale(1.08) translateY(-10px);transform-origin:center top}.auth-cover-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(255,255,255,.2) 0%,rgba(255,255,255,.03) 40%,transparent 70%);pointer-events:none}.auth-cover-title{position:absolute;top:max(18px,env(safe-area-inset-top));left:50%;transform:translate(-50%);z-index:2;margin:0;width:calc(100% - 28px);text-align:center;color:#2f6548;font-family:var(--font-display);font-size:clamp(1.95rem,9vw,2.85rem);font-weight:700;line-height:1.02;letter-spacing:-.02em;text-shadow:0 2px 8px rgba(255,255,255,.55);pointer-events:none}@supports (-webkit-touch-callout: none){@media (max-width: 720px){.auth-cover-title{top:max(0px,calc(env(safe-area-inset-top) - 2px))}}}.auth-panel{width:100%;position:relative;z-index:2;margin-top:auto;background:linear-gradient(180deg,#fffffffa,#fff 38%);border-top:1px solid rgba(225,217,204,.95);border-right:0;border-bottom:0;border-left:0;border-radius:24px 24px 0 0;box-shadow:0 14px 34px #0f172a14,0 1px #ffffffd1 inset;padding:20px;transition:transform .22s ease,opacity .22s ease,box-shadow .22s ease}.auth-panel-header{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}.auth-panel-header h1{margin:0;max-width:20ch;color:var(--color-text-main);font-family:var(--font-display);font-size:clamp(2rem,8vw,2.25rem);font-weight:700;line-height:1.02;letter-spacing:-.02em}.auth-panel-header p{margin:0;max-width:42ch;color:color-mix(in srgb,var(--color-text-main) 68%,var(--color-text-muted) 32%);font-size:.98rem;line-height:1.45;letter-spacing:-.005em}.auth-panel-body{display:flex;flex-direction:column;gap:5px}.auth-mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:6px;border:1px solid rgba(225,217,204,.95);border-radius:14px;padding:5px;background:#ffffffe0}.auth-mode-btn{border:1px solid transparent;border-radius:10px;min-height:48px;padding:10px 12px;background:transparent;color:color-mix(in srgb,var(--color-text-main) 82%,var(--color-text-muted) 18%);font-family:var(--font-body);font-size:1rem;font-weight:700;letter-spacing:-.01em;cursor:pointer;transition:background-color .14s ease,border-color .14s ease,box-shadow .14s ease}.auth-mode-btn.is-active{background:linear-gradient(135deg,#e7f3e4,#dbeed7);border-color:#5d8e6ad1;color:#183326;box-shadow:0 6px 14px #0f172a1f,0 1px #ffffffe6 inset}.auth-form{display:flex;flex-direction:column;gap:12px}.auth-signup-extra{display:grid;gap:12px;max-height:0;opacity:0;transform:translateY(-8px);overflow:hidden;transition:max-height .32s cubic-bezier(.22,1,.36,1),opacity .22s ease,transform .32s ease}.auth-signup-extra.is-open{max-height:176px;opacity:1;transform:translateY(0)}.auth-signup-extra--confirm.is-open{max-height:86px}.auth-field{display:flex;flex-direction:column;gap:7px}.auth-field span{color:var(--color-text-main);font-size:.9rem;font-weight:700;line-height:1.2;letter-spacing:.01em}.auth-field input{width:100%;min-height:48px;border-radius:13px;border:1px solid color-mix(in srgb,var(--color-border-light) 82%,var(--color-text-main) 18%);background:#fff;color:var(--color-text-main);padding:12px 13px;font-size:16px;line-height:1.25;box-shadow:0 1px #ffffffb8 inset;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.auth-field input::placeholder{color:color-mix(in srgb,var(--color-text-muted) 82%,white 18%)}.auth-field input:hover{border-color:color-mix(in srgb,var(--color-border-light) 56%,var(--color-text-main) 44%)}.auth-field input:focus{outline:none;border-color:#6f9f7bdb;box-shadow:0 0 0 3px #a4c1a23d,0 1px #fffc inset}.auth-field input:disabled{background:color-mix(in srgb,#ffffff 78%,var(--color-bg) 22%);opacity:.82}.auth-field input:-webkit-autofill,.auth-field input:-webkit-autofill:hover,.auth-field input:-webkit-autofill:focus{-webkit-text-fill-color:var(--color-text-main);-webkit-box-shadow:0 0 0px 1000px #ffffff inset;transition:background-color 600000s 0s}.auth-error,.auth-notice{border-radius:12px;border:1px solid;padding:11px 12px;font-size:.9rem;font-weight:600;line-height:1.35}.auth-error{color:#7f1d1d;background:#fef2f2;border-color:#fecaca}.auth-notice{color:#14532d;background:#ecfdf3;border-color:#bbf7d0}.auth-actions{margin-top:6px}.auth-submit{width:100%;border:1px solid rgba(122,156,119,.54);border-radius:999px;min-height:52px;padding:13px 16px;background:linear-gradient(135deg,#9fbc9c,#8db58a);color:#10213a;font-family:var(--font-body);font-size:1.03rem;font-weight:800;letter-spacing:.002em;cursor:pointer;box-shadow:0 8px 18px #3f5c4338,0 1px #ffffff4d inset;transition:transform .12s ease,filter .12s ease,box-shadow .12s ease}.auth-submit:hover{filter:brightness(.99);box-shadow:0 10px 20px #3f5c433d,0 1px #ffffff5c inset}.auth-submit:active{transform:translateY(1px)}.auth-submit:disabled{opacity:.74;cursor:not-allowed;box-shadow:none}.auth-plan-continue{display:inline-flex;align-items:center;justify-content:center;gap:8px}.auth-plan-continue-icon{display:inline-flex;align-items:center;justify-content:center;color:#5e430c;transition:color .15s ease;margin-left:2px}.auth-plan-continue--premium{border-color:#c39b4db8;background:linear-gradient(135deg,#f6df9f,#e7c171);color:#5e430c;box-shadow:0 10px 20px #8f69263d,0 1px #ffffff70 inset}.auth-plan-continue--premium:hover{box-shadow:0 12px 22px #8f692647,0 1px #ffffff7a inset}.auth-divider{display:flex;align-items:center;justify-content:center;margin-top:4px;color:color-mix(in srgb,var(--color-text-main) 52%,var(--color-text-muted) 48%);font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:color-mix(in srgb,var(--color-border-light) 78%,var(--color-text-main) 22%)}.auth-divider span{padding:0 10px}.auth-social-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.auth-social-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border-radius:12px;border:1px solid color-mix(in srgb,var(--color-border-light) 80%,var(--color-text-main) 20%);background:#fff;color:var(--color-text-main);font-family:var(--font-body);font-size:.92rem;font-weight:700;letter-spacing:-.01em;padding:10px 12px;cursor:pointer;transition:background-color .12s ease,border-color .12s ease,transform .12s ease}.auth-social-icon{width:18px;height:18px;flex:0 0 18px;display:block}.auth-social-icon--apple{object-fit:contain}.auth-social-btn:hover{border-color:color-mix(in srgb,var(--color-border-light) 48%,var(--color-text-main) 52%);background:color-mix(in srgb,#ffffff 88%,var(--color-bg) 12%)}.auth-social-btn:active{transform:translateY(1px)}.auth-social-btn:disabled{opacity:.72;cursor:not-allowed}.auth-footer{display:flex;justify-content:center}.auth-legal-copy{margin:4px 2px 0;color:color-mix(in srgb,var(--color-text-main) 62%,var(--color-text-muted) 38%);font-size:.83rem;line-height:1.45;text-align:center}.auth-legal-copy a{color:#2f6548;font-weight:700;text-decoration:none}.auth-legal-copy a:hover,.auth-legal-copy a:focus-visible{text-decoration:underline}.auth-reset{border:none;background:transparent;color:color-mix(in srgb,var(--color-text-main) 56%,var(--color-text-muted) 44%);font-family:var(--font-body);font-size:.98rem;font-weight:600;cursor:pointer;padding:4px 6px;text-decoration:none}.auth-reset:hover{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.4px}.auth-mode-btn:focus-visible,.auth-submit:focus-visible,.auth-social-btn:focus-visible,.auth-reset:focus-visible,.auth-field input:focus-visible{outline:2px solid rgba(111,159,123,.95);outline-offset:2px}.auth-plan-panel{display:flex;flex-direction:column;gap:14px}.auth-page--sheet-open{overflow:hidden}.auth-page--sheet-open .auth-shell--background .auth-panel{transform:scale(.985);opacity:.9}.auth-page--sheet-open .auth-shell--background .auth-panel-body,.auth-page--sheet-open .auth-shell--background .auth-panel-header{pointer-events:none}.auth-plan-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:7;display:flex;align-items:flex-end;justify-content:stretch;pointer-events:none;opacity:0;transition:opacity .5s ease}.auth-plan-overlay-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0f172a14,#0f172a33);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);pointer-events:auto;opacity:0;transition:opacity .5s ease}.auth-plan-sheet{position:relative;width:100%;min-height:min(72dvh,760px);max-height:min(88dvh,820px);pointer-events:auto;transform:translateY(100%);transition:transform .5s cubic-bezier(.22,1,.36,1)}.auth-plan-overlay.is-active,.auth-plan-overlay.is-active .auth-plan-overlay-backdrop{opacity:1}.auth-plan-overlay.is-active .auth-plan-sheet{transform:translateY(0)}.auth-plan-overlay.is-closing .auth-plan-sheet{transition-duration:.5s}.auth-plan-panel--sheet{min-height:min(72dvh,760px);max-height:min(88dvh,820px);overflow-y:auto;overscroll-behavior:contain;border-top:1px solid rgba(225,217,204,.95);border-right:0;border-bottom:0;border-left:0;border-radius:26px 26px 0 0;box-shadow:0 -8px 24px #0f172a14,0 -1px #ffffffb3 inset}.auth-plan-topbar{display:flex;align-items:center;justify-content:flex-start}.auth-panel-header--sheet{gap:12px}.auth-plan-back{padding:0;color:var(--color-text-main)}.auth-plan-back:disabled{opacity:.64;cursor:not-allowed}.auth-plan-back-label{font-size:.88rem;font-weight:700;color:color-mix(in srgb,var(--color-text-main) 76%,var(--color-text-muted) 24%)}.auth-plan-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.auth-plan-header-row--sheet{align-items:center}.auth-plan-sheet-close{width:32px;height:32px;border:1px solid rgba(225,217,204,.95);border-radius:999px;background:#ffffffe6;color:var(--color-text-main);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:0 0 auto;box-shadow:0 4px 10px #0f172a14;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.auth-plan-sheet-close:hover{border-color:#7a9c778f;box-shadow:0 10px 18px #0f172a1a}.auth-plan-sheet-close:active{transform:translateY(1px)}.auth-plan-sheet-close:disabled{opacity:.64;cursor:not-allowed;box-shadow:none}.auth-plan-grid{display:grid;gap:10px}.auth-plan-card{border:1px solid rgba(225,217,204,.95);background:#ffffffe6;border-radius:14px;padding:14px;text-align:left;color:var(--color-text-main);display:flex;flex-direction:column;gap:8px;cursor:pointer;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease;position:relative;overflow:hidden}.auth-plan-card:hover{border-color:#7a9c779e;box-shadow:0 8px 18px #0f172a14}.auth-plan-card:active{transform:scale(.992)}.auth-plan-card:after{content:"";position:absolute;top:12px;right:12px;width:12px;height:12px;border-radius:999px;background:transparent;box-shadow:0 0 0 2px #7a9c7770;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease;z-index:2}.auth-plan-card.is-active{border-color:#538a64f5;background:radial-gradient(130% 160% at 100% 0%,rgba(156,196,151,.3),transparent 48%),#fffffff5;box-shadow:0 14px 28px #0f172a24,0 0 0 2px #79a5753d,0 1px #ffffffeb inset;transform:translateY(-2px) scale(1.01);animation:plan-card-select-pop .22s cubic-bezier(.22,.8,.2,1)}.auth-plan-card.is-active:after{transform:scale(1.12);background:#79a575;box-shadow:0 0 0 2px #fffffff2,0 0 0 6px #79a57547}.auth-plan-card.is-premium{background:radial-gradient(130% 170% at 100% 0%,rgba(244,205,120,.2),transparent 48%),#ffffffeb}.auth-plan-card-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.auth-plan-card-title-row{display:inline-flex;align-items:center;gap:8px;min-width:0}.auth-plan-card-title{font-size:1rem;font-weight:800;letter-spacing:-.01em}.auth-plan-card-price{font-size:.94rem;font-weight:800;color:#274f36;padding-right:20px}.auth-plan-card-summary{margin:0;font-size:.88rem;color:color-mix(in srgb,var(--color-text-main) 72%,var(--color-text-muted) 28%);line-height:1.35}.auth-plan-feature-list{margin:0;padding:0;list-style:none;display:grid;gap:4px}.auth-plan-feature-list li{position:relative;padding-left:15px;font-size:.84rem;line-height:1.35;color:color-mix(in srgb,var(--color-text-main) 84%,var(--color-text-muted) 16%)}.auth-plan-feature-list li:before{content:"";position:absolute;left:0;top:.5em;width:6px;height:6px;border-radius:999px;background:#7a9c77e6;transform:translateY(-50%)}.auth-plan-badge{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:3px 8px;background:linear-gradient(135deg,#f6df9f,#e7c171);color:#5e430c;border:1px solid rgba(195,155,77,.58);font-size:.7rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;line-height:1}.auth-plan-note{margin:-4px 0 0;text-align:center;font-size:.82rem;color:color-mix(in srgb,var(--color-text-main) 58%,var(--color-text-muted) 42%)}@keyframes plan-card-select-pop{0%{transform:translateY(0) scale(.985)}60%{transform:translateY(-2px) scale(1.014)}to{transform:translateY(-2px) scale(1.01)}}@media (min-width: 420px){.auth-page{padding-top:0}.auth-cover{height:clamp(300px,46vh,450px)}.auth-cover-title{width:calc(100% - 36px)}.auth-panel{padding:22px}}@media (min-width: 900px){.auth-page{padding:20px 24px 36px;align-items:center;justify-content:center}.auth-shell{width:min(100%,580px)}.auth-cover{border-radius:28px 28px 0 0;height:368px}.auth-cover-title{top:16px;width:calc(100% - 44px)}.auth-panel{border:1px solid rgba(225,217,204,.95);border-radius:0 0 28px 28px;padding:28px}}@media (prefers-reduced-motion: reduce){.auth-mode-btn,.auth-field input,.auth-submit,.auth-plan-card,.auth-signup-extra{transition-duration:1ms}.auth-plan-card.is-active{animation-duration:1ms}.auth-plan-sheet,.auth-plan-overlay-backdrop{transition-duration:1ms}}html.dark .auth-page{background:radial-gradient(900px 460px at -12% -18%,rgba(121,165,117,.2),transparent 68%),radial-gradient(760px 450px at 112% 112%,rgba(84,106,138,.2),transparent 70%),linear-gradient(180deg,#1521379e,#15213700 36%),var(--bg-dark-page)}html.dark .auth-cover-scrim{background:linear-gradient(180deg,rgba(4,9,16,.46) 0%,rgba(4,9,16,.16) 44%,transparent 74%)}html.dark .auth-cover-title{color:#e9f6ee;text-shadow:0 6px 14px rgba(0,0,0,.44)}html.dark .auth-panel{background:linear-gradient(180deg,#111d32,#0f1a2c 52%);border-color:color-mix(in srgb,var(--border-dark-subtle) 84%,#40608a 16%);box-shadow:0 18px 42px #00000080,0 1px #ffffff0a inset}html.dark .auth-legal-copy{color:var(--text-dark-secondary)}html.dark .auth-legal-copy a{color:#9dd2a9}html.dark .auth-panel-header h1,html.dark .auth-field span,html.dark .auth-mode-btn{color:var(--text-dark-primary)}html.dark .auth-panel-header p,html.dark .auth-reset{color:color-mix(in srgb,var(--text-dark-primary) 42%,var(--text-dark-secondary) 58%)}html.dark .auth-mode-switch{background:#11213a;border-color:#2b3f5b}html.dark .auth-mode-btn.is-active{background:linear-gradient(135deg,#1f3b2e,#254635);border-color:#90cca0d9;color:#f1fff3;box-shadow:0 7px 16px #0000006b}html.dark .auth-plan-card{background:#11213a;border-color:#304865;color:var(--text-dark-primary)}html.dark .auth-plan-back{color:var(--text-dark-primary)}html.dark .auth-plan-overlay-backdrop{background:linear-gradient(180deg,#0409103d,#0409106b)}html.dark .auth-plan-back-label{color:color-mix(in srgb,var(--text-dark-primary) 74%,var(--text-dark-secondary) 26%)}html.dark .auth-plan-sheet-close{background:#13253f;border-color:#385171;color:var(--text-dark-primary);box-shadow:0 8px 18px #00000047}html.dark .auth-plan-card.is-active{border-color:#79a575;background:radial-gradient(130% 170% at 100% 0%,rgba(102,156,110,.34),transparent 48%),#13243d;box-shadow:0 14px 24px #0000006b,0 0 0 2px #79a57547,0 1px #ffffff0f inset}html.dark .auth-plan-card.is-premium{background:radial-gradient(130% 170% at 100% 0%,rgba(177,129,42,.26),transparent 48%),#11213a}html.dark .auth-plan-card-price{color:#a9d9a8}html.dark .auth-plan-card-summary{color:color-mix(in srgb,var(--text-dark-primary) 52%,var(--text-dark-secondary) 48%)}html.dark .auth-plan-feature-list li{color:color-mix(in srgb,var(--text-dark-primary) 84%,var(--text-dark-secondary) 16%)}html.dark .auth-plan-feature-list li:before{background:#79a575}html.dark .auth-plan-badge{background:linear-gradient(135deg,#845b1d,#6e4b14);border-color:#eecf8c66;color:#ffe8bf}html.dark .auth-plan-card:after{box-shadow:0 0 0 2px #79a57594}html.dark .auth-plan-card.is-active:after{background:#8ac285;box-shadow:0 0 0 2px #13243d,0 0 0 6px #8ac28552}html.dark .auth-plan-note{color:color-mix(in srgb,var(--text-dark-primary) 40%,var(--text-dark-secondary) 60%)}html.dark .auth-divider{color:color-mix(in srgb,var(--text-dark-primary) 34%,var(--text-dark-secondary) 66%)}html.dark .auth-divider:before,html.dark .auth-divider:after{background:color-mix(in srgb,var(--border-dark-subtle) 68%,var(--text-dark-secondary) 32%)}html.dark .auth-social-btn{background:#13253f;border-color:#385171;color:var(--text-dark-primary)}html.dark .auth-social-btn:hover{background:#162c4b;border-color:#4a6488}html.dark .auth-social-btn--apple .auth-social-icon--apple{filter:invert(1)}html.dark .auth-field input{color:var(--text-dark-primary);background:#12233b;border-color:#385071;box-shadow:0 1px #ffffff08 inset}html.dark .auth-field input::placeholder{color:color-mix(in srgb,var(--text-dark-secondary) 82%,#d6e2f2 18%)}html.dark .auth-field input:hover{border-color:#4a6488}html.dark .auth-field input:focus{border-color:#79a575;box-shadow:0 0 0 3px #79a5753d,0 1px #ffffff0d inset}html.dark .auth-submit{color:#081526;border-color:#84b87e9e;background:linear-gradient(135deg,#7dab79,#6e976a);box-shadow:0 8px 18px #08122261,0 1px #ffffff1a inset}html.dark .auth-submit:hover{box-shadow:0 10px 20px #0812226b,0 1px #ffffff1f inset}html.dark .auth-plan-continue-icon{color:#ffe8bf}html.dark .auth-plan-continue--premium{border-color:#eecf8c80;background:linear-gradient(135deg,#b17f2a,#94681f);color:#ffe8bf;box-shadow:0 12px 24px #0006,0 1px #ffffff1f inset}html.dark .auth-error{color:#fecaca;background:#7f1d1d57;border-color:#f8717180}html.dark .auth-notice{color:#bbf7d0;background:#14532d59;border-color:#4ade8070}.shared-recipe-page{min-height:100dvh;background:linear-gradient(180deg,#f8f1e5fa,#f2eadcfa);padding:0}.shared-recipe-page--native{min-height:100dvh;padding-top:calc(env(safe-area-inset-top,0px) + 25px);padding-right:8px;padding-bottom:8px;padding-left:8px}.shared-recipe-shell{width:min(100%,1120px);margin:0 auto;display:flex;flex-direction:column;gap:24px;padding:34px 30px 36px;background:transparent;box-shadow:none}.shared-recipe-shell--native{width:100%;max-width:none;gap:14px;padding:0}.shared-recipe-promo{display:grid;grid-template-columns:minmax(0,258px) minmax(0,1fr);align-items:center;gap:34px;padding:15px 40px 8px 14px}.shared-recipe-promo-brand-card{width:100%;aspect-ratio:1 / 1;max-width:258px;border-radius:30px;background:linear-gradient(180deg,#fbf7f0,#f8f2e8);box-shadow:0 14px 26px #10182814,inset 0 1px #ffffffd6;overflow:hidden}.shared-recipe-promo-brand-card__image{width:100%;height:100%;display:block;object-fit:cover}.shared-recipe-promo-copy{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding-top:2px}.shared-recipe-promo-copy h1{margin:0;color:#050505;font-family:var(--font-body);font-size:clamp(32px,3.7vw,56px);line-height:1.02;letter-spacing:-.04em;font-weight:700}.shared-recipe-promo-copy p{margin:0;color:#6f6f6f;font-size:clamp(20px,2.1vw,34px);line-height:1.08;font-weight:500}.shared-recipe-download-app-btn,.shared-recipe-open-app-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:42px;padding:0 16px;border-radius:999px;border:0;background:#ffffffe0;color:#244127;font-size:14px;font-weight:800;line-height:1;white-space:nowrap;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease}.shared-recipe-download-app-btn{width:min(100%,360px);min-height:80px;border-radius:999px;background:linear-gradient(180deg,#1085ff,#0b7cf0);color:#fff;box-shadow:0 12px 24px #1085ff42,inset 0 1px #ffffff2e}.shared-recipe-download-app-btn:hover,.shared-recipe-open-app-btn:hover{transform:translateY(-1px)}.shared-recipe-sheet{border:1px solid rgba(207,199,184,.76);border-radius:32px;background:linear-gradient(180deg,#fcfaf5fa,#f5f1e8fa);box-shadow:0 26px 56px #0f172a24,inset 0 1px #ffffffd1;padding:24px;display:flex;flex-direction:column;gap:20px}.shared-recipe-shell--native .shared-recipe-sheet{border-radius:28px;padding:14px 10px 18px;gap:16px}.shared-recipe-status,.shared-recipe-status-block,.shared-recipe-footer{display:flex;flex-direction:column;gap:12px}.shared-recipe-action-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:12px}.shared-recipe-footer:last-child{margin-bottom:0}.shared-recipe-status,.shared-recipe-status--compact,.shared-recipe-empty{color:#5a6777}.shared-recipe-status-block h1,.shared-recipe-copy h1{margin:0;color:#172033;font-family:var(--font-display);line-height:.98;letter-spacing:-.03em}.shared-recipe-status-block h1{font-size:34px}.shared-recipe-status-block p{margin:0;color:#5a6777;line-height:1.5}.shared-recipe-hero{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:18px;align-items:stretch}.shared-recipe-shell--native .shared-recipe-hero{grid-template-columns:1fr;gap:16px}.shared-recipe-cover,.shared-recipe-emoji,.shared-recipe-cover-fallback{width:100%;min-height:260px;border-radius:24px;border:1px solid rgba(207,199,184,.72);background:linear-gradient(180deg,#e4ddcc9e,#efe7d8eb)}.shared-recipe-shell--native .shared-recipe-cover,.shared-recipe-shell--native .shared-recipe-emoji,.shared-recipe-shell--native .shared-recipe-cover-fallback{min-height:300px}.shared-recipe-cover{object-fit:cover;display:block}.shared-recipe-emoji{display:grid;place-items:center;font-size:96px}.shared-recipe-cover-fallback .recipe-cover-fallback__emoji{font-size:96px;color:#243142}.shared-recipe-copy{display:flex;flex-direction:column;justify-content:center;gap:14px}.shared-recipe-shell--native .shared-recipe-copy{gap:12px}.shared-recipe-copy h1{font-size:clamp(34px,6vw,56px)}.shared-recipe-shell--native .shared-recipe-copy h1{font-size:clamp(28px,7.6vw,44px)}.shared-recipe-eyebrow,.shared-recipe-section-title,.shared-recipe-timing-item span{text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:800}.shared-recipe-eyebrow,.shared-recipe-timing-item span{color:#6b7a54}.shared-recipe-timing{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px}.shared-recipe-timing-item{padding:12px 14px;border-radius:18px;border:1px solid rgba(207,199,184,.72);background:#ffffffb8;display:flex;flex-direction:column;gap:6px}.shared-recipe-timing-item strong{color:#172033;font-size:16px}.shared-recipe-card{border-radius:24px;border:1px solid rgba(207,199,184,.68);background:#ffffffb8;padding:18px;display:flex;flex-direction:column;gap:14px}.shared-recipe-shell--native .shared-recipe-card{padding:16px;border-radius:22px}.shared-recipe-section-title{color:#607287}.shared-recipe-list{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:10px;color:#243142;line-height:1.6}.shared-recipe-list--ordered{padding-left:24px}.shared-recipe-cta{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 20px;border:0;border-radius:18px;background:linear-gradient(135deg,#355f39,#4f7a44);color:#fff;font-weight:800;text-decoration:none;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease;box-shadow:0 18px 36px #355f3938}.shared-recipe-cta--store{justify-content:center;padding:10px 18px;border:0;background:linear-gradient(180deg,#1085ff,#0b7cf0);color:#fff;box-shadow:0 12px 24px #1085ff42,inset 0 1px #ffffff2e}.shared-recipe-app-cta-text{display:inline-flex;align-items:center;justify-content:center;width:100%;font-size:22px;font-weight:700}.shared-recipe-cta:hover{transform:translateY(-1px)}.shared-recipe-cta:disabled{cursor:default;opacity:.7;transform:none}.shared-recipe-cta--ghost{background:#ffffffc2;color:#244127;border:1px solid rgba(79,122,68,.24);box-shadow:0 12px 24px #355f3914}.shared-recipe-error{color:#9f1d1d;font-size:14px;line-height:1.5}html.dark .shared-recipe-page{color-scheme:light;background:linear-gradient(180deg,#f8f1e5fa,#f2eadcfa)}html.dark .shared-recipe-promo-copy h1,html.dark .shared-recipe-promo-copy p,html.dark .shared-recipe-brand,html.dark .shared-recipe-copy h1,html.dark .shared-recipe-status-block h1,html.dark .shared-recipe-timing-item strong,html.dark .shared-recipe-list,html.dark .shared-recipe-section-title{color:#172033}html.dark .shared-recipe-status,html.dark .shared-recipe-status--compact,html.dark .shared-recipe-empty,html.dark .shared-recipe-status-block p{color:#5a6777}html.dark .shared-recipe-eyebrow,html.dark .shared-recipe-timing-item span{color:#6b7a54}html.dark .shared-recipe-sheet{border-color:#cfc7b8c2;background:linear-gradient(180deg,#fcfaf5fa,#f5f1e8fa),#fffffff2;box-shadow:0 26px 56px #0f172a24,inset 0 1px #ffffffd1}html.dark .shared-recipe-promo-brand-card{background:linear-gradient(180deg,#fbf7f0,#f8f2e8)}html.dark .shared-recipe-download-app-btn,html.dark .shared-recipe-cta--store{background:linear-gradient(180deg,#1085ff,#0b7cf0);color:#fff}html.dark .shared-recipe-card,html.dark .shared-recipe-timing-item{border-color:#cfc7b8b8;background:#ffffffb8}html.dark .shared-recipe-cover,html.dark .shared-recipe-emoji,html.dark .shared-recipe-cover-fallback{border-color:#cfc7b8b8;background:linear-gradient(180deg,#e4ddcc9e,#efe7d8eb)}@media (max-width: 720px){.shared-recipe-page{min-height:auto;padding:0}.shared-recipe-page--native{min-height:100dvh;padding-top:calc(env(safe-area-inset-top,0px) + 15px);padding-right:8px;padding-bottom:8px;padding-left:8px}.shared-recipe-shell{gap:12px;padding:12px 10px 14px}.shared-recipe-shell--native{gap:12px;padding:0}.shared-recipe-promo{grid-template-columns:102px minmax(0,1fr);align-items:center;gap:12px;padding:0 2px}.shared-recipe-promo-brand-card{max-width:102px;aspect-ratio:1 / 1;border-radius:18px}.shared-recipe-promo-brand-card__image{max-width:none}.shared-recipe-download-app-btn,.shared-recipe-open-app-btn{min-height:46px;padding:0 14px;font-size:12px}.shared-recipe-download-app-btn{width:120px;min-height:30px}.shared-recipe-sheet{padding:12px 12px 14px;border-radius:22px;gap:10px}.shared-recipe-shell--native .shared-recipe-sheet{padding:12px 8px 16px;border-radius:22px;gap:12px}.shared-recipe-hero{grid-template-columns:1fr;gap:12px}.shared-recipe-cover,.shared-recipe-emoji,.shared-recipe-cover-fallback{min-height:180px}.shared-recipe-shell--native .shared-recipe-cover,.shared-recipe-shell--native .shared-recipe-emoji,.shared-recipe-shell--native .shared-recipe-cover-fallback{min-height:240px}.shared-recipe-card{padding:13px}.shared-recipe-footer{gap:8px;padding-top:0}.shared-recipe-action-row{grid-template-columns:1fr;gap:8px}.shared-recipe-cta--store{padding:10px 14px}.shared-recipe-store-badge{gap:8px}.shared-recipe-store-badge__apple{width:20px;height:24px}.shared-recipe-store-badge__eyebrow{font-size:8px}.shared-recipe-store-badge__title{font-size:18px}.shared-recipe-promo-copy{gap:8px}.shared-recipe-promo-copy h1{font-size:18px;line-height:1.02;letter-spacing:-.03em}.shared-recipe-promo-copy p{font-size:11px;line-height:1.12}.shared-recipe-app-cta-text{font-size:14px}}@supports (-webkit-touch-callout: none){@media (max-width: 720px){.shared-recipe-page{-webkit-text-size-adjust:100%;text-size-adjust:100%;padding:0}.shared-recipe-shell{width:100%;padding:15px 8px 8px}.shared-recipe-sheet{padding:10px 6px 14px;border-radius:20px}.shared-recipe-cover,.shared-recipe-emoji,.shared-recipe-cover-fallback{border-radius:20px}.shared-recipe-copy h1{font-size:clamp(30px,8vw,34px)}.shared-recipe-card{padding:13px 12px}}}.recipe-card{width:100%;height:104px;min-height:104px;background:#fff;border-radius:18px;border:none;padding:12px;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:0;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease;position:relative;overflow:hidden;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.recipe-card:hover{transform:translateY(-2px);box-shadow:0 8px 18px #00000014}.recipe-card:active{transform:scale(.99)}.recipe-card.recipe-card--context-open{transform:translateY(-2px);box-shadow:0 22px 40px #1f2a362e,0 0 0 1px #a4c1a275}html.dark .recipe-card{background:var(--bg-dark-surface);box-shadow:0 18px 36px #00000073}html.dark .recipe-card.recipe-card--context-open{box-shadow:0 26px 48px #00000080,0 0 0 1px #81b58e7a}html.dark .recipe-title{color:var(--text-dark-primary)}html.dark .recipe-sub,html.dark .recipe-time-icon{color:var(--text-dark-secondary)}html.dark .recipe-tag{background:#2ec77d2e;color:var(--text-dark-primary)}.recipe-card-main{display:flex;flex-direction:row;align-items:center;column-gap:12px;flex:1;height:100%}.recipe-card--with-image .recipe-card-main{flex:1;min-width:0}.recipe-thumb{width:80px;height:80px;min-width:80px;aspect-ratio:1 / 1;flex-shrink:0;border-radius:12px;overflow:hidden;border:none;background:var(--color-bg-elevated)}.recipe-thumb-image{width:100%;height:100%;object-fit:cover;display:block;opacity:0;transition:opacity .35s ease;border-radius:inherit;user-select:none;-webkit-user-select:none;-webkit-user-drag:none}.recipe-thumb-image.is-loaded{opacity:1}.recipe-thumb-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#94a3b81f;border-radius:inherit}.recipe-thumb-emoji{font-size:32px}.recipe-card .recipe-emoji{width:80px;height:80px;min-width:80px;aspect-ratio:1 / 1;border-radius:12px;font-size:36px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ffffffe6,#f2b48740)}.recipe-card .recipe-icon-wrap{width:80px;height:80px;min-width:80px;aspect-ratio:1 / 1;border-radius:12px;padding:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ffffffe6,#f2b48740)}.recipe-card .recipe-icon-image{width:100%;height:100%;object-fit:cover;border-radius:12px}.recipe-text{display:flex;flex-direction:column;gap:6px;padding:0 28px 0 0;justify-content:center;overflow:hidden;min-width:0}.recipe-card--with-image .recipe-text{min-width:0}.recipe-title{font-weight:700;color:#1e293b;font-size:16px;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.recipe-sub{color:var(--color-text-muted);font-size:12px;font-weight:600;display:flex;align-items:center;gap:6px;white-space:nowrap}.recipe-time-icon{display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;color:var(--color-text-muted)}.recipe-time-icon svg{width:12px;height:12px}.recipe-type-badge{display:inline-flex;align-items:center;margin-left:8px;padding:2px 8px;border-radius:999px;background:#fde68a;color:#1f2937;font-size:11px;font-weight:800;letter-spacing:.2px;text-transform:uppercase}.recipe-card--with-image .recipe-title{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;line-height:1.2}.recipe-title-emoji{margin-right:6px}.recipe-serves{font-size:.85rem;color:var(--color-text-muted);font-weight:600}.recipe-image-status{font-size:.75rem;color:var(--color-text-muted)}.recipe-meta{margin-top:4px;font-size:.8rem;display:flex;align-items:center;gap:4px;color:#64748b}.recipe-meta-item{white-space:nowrap}.recipe-meta-separator{opacity:.7}.recipe-meta-quick{font-weight:700;color:#6b7280}.recipe-time{color:#475569;font-size:13px}.recipe-last-cooked{font-size:.8rem;color:#64748b}.recipe-tags{display:flex;gap:6px;flex-wrap:wrap;row-gap:6px;max-height:32px;overflow:hidden}.recipe-tag{background:#a5c1a32e;color:#2a3a2f;border-radius:999px;padding:4px 10px;font-weight:700;font-size:12px;border:none;box-shadow:none;white-space:nowrap}.recipe-tag.extra{background:#e2e8f0e6;color:#1f2937;border:none}.recipe-chevron{font-size:20px;color:#94a3b8;display:none}.fav-btn{display:none}.fav-btn .fav-icon svg{width:20px;height:20px;display:block}.fav-btn--active{color:#fbbf24;transform:scale(1.1)}.fade-in{animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.categories-page{min-height:100%;padding:18px 16px calc(26px + env(safe-area-inset-bottom));background:var(--color-bg);display:flex;flex-direction:column;gap:14px}.categories-top{display:flex;align-items:center;gap:12px;justify-content:space-between}.categories-heading{display:flex;flex-direction:column;gap:4px}.categories-heading h1{margin:0;font-size:24px;letter-spacing:-.02em;color:#1e293b}.categories-heading p{margin:0;color:#475569;font-size:14px}.back-chip{border:none;background:transparent;color:#1e293b;border-radius:999px;padding:0;display:inline-flex;align-items:center;cursor:pointer;box-shadow:none;transition:transform .14s ease}.back-chip:hover{transform:translateY(-1px)}.back-chip:active{transform:translateY(0);background:transparent}.category-list{display:flex;flex-direction:column;gap:12px;margin-top:8px}.category-card,.subcategory-card{width:100%;border:1px solid #dbe7dc;border-left:6px solid var(--color-primary);border-radius:18px;background:#fff;padding:14px 14px 14px 16px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 12px 28px #0f172a0f;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background-color .16s ease}.subcategory-card{padding:12px 14px}.category-card:hover,.subcategory-card:hover{transform:translateY(-2px);box-shadow:0 18px 36px #0f172a14;border-color:var(--color-primary)}.category-card:active,.subcategory-card:active{transform:translateY(0);background:#ffeedab3}.category-card-left{display:flex;align-items:center;gap:12px}.category-icon,.subcategory-icon{width:40px;height:40px;border-radius:12px;background:#f3fbf6;border:1px solid #cdecd7;display:inline-flex;align-items:center;justify-content:center;font-size:18px}.subcategory-icon{width:34px;height:34px}.category-label{font-size:16px;font-weight:700;color:#1e293b}.subcategory-label{font-size:15px;font-weight:600;color:#1e293b}.category-chevron{color:#94a3b8;font-size:18px;font-weight:700}.categories-page .subheader{font-size:15px;color:#475569;margin:0}.recipes-placeholder{display:flex;flex-direction:column;gap:12px}.recipe-list{display:flex;flex-direction:column;gap:10px}.empty-note{padding:16px;border-radius:16px;background:#f5f1e8;border:1px dashed #e2e8f0;color:#475569;text-align:center;line-height:1.4}.recipe-placeholder-card{width:100%;background:var(--color-secondary);border:1px solid #e2e8f0;border-left:6px solid var(--color-primary);border-radius:18px;padding:14px;display:flex;align-items:center;justify-content:space-between;gap:10px;box-shadow:0 12px 28px #0f172a0d}.recipe-placeholder-main{display:flex;align-items:center;gap:12px}.recipe-placeholder-emoji{font-size:34px}.recipe-placeholder-text{display:flex;flex-direction:column;gap:6px}.recipe-placeholder-title{font-weight:700;font-size:16px;color:#1e293b}.recipe-placeholder-time{font-size:13px;color:#475569}.recipe-placeholder-tags{display:flex;flex-wrap:wrap;gap:6px}.recipe-placeholder-tag{background:#c084fc;color:#1f2937;border-radius:12px;padding:4px 9px;font-size:12px;font-weight:700;box-shadow:0 6px 14px #c084fc38}.recipe-placeholder-chevron{color:#c084fc;font-size:18px;font-weight:700}.card-grid{display:grid;grid-template-columns:1fr;gap:12px}@media (min-width: 640px){.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.view-shell{background:#ffffffbf;border:1px solid #e2e8f0;border-radius:20px;padding:14px 12px;box-shadow:inset 0 1px #fff9,0 8px 22px #0f172a0d}.categories-page .fade-in{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}.folder-page{background:#faf8f3;padding:16px;display:flex;flex-direction:column;gap:12px}.folder-header{display:flex;align-items:center;justify-content:space-between}.folder-title{font-weight:700;font-size:20px;color:#1e293b}.folder-card{background:#fff;border:1px solid #e2e8f0;border-radius:20px;box-shadow:0 12px 30px #0f172a14;padding:14px}.folder-list{display:flex;flex-direction:column;gap:10px}.folder-row{width:100%;border:1px solid #e2e8f0;background:#faf8f3;border-radius:16px;padding:12px;display:flex;align-items:center;justify-content:space-between;text-align:left;cursor:pointer;gap:10px;transition:transform .1s ease,box-shadow .1s ease}.folder-row:hover{transform:translateY(-1px);box-shadow:0 10px 22px #0f172a14}.folder-row-main{display:flex;flex-direction:column;gap:4px}.folder-row-name{font-weight:700;color:#1e293b}.folder-row-sub{color:#475569;font-size:13px}.folder-row-delete{border:none;background:#fff1f2;color:#b91c1c;border-radius:12px;padding:8px 10px;cursor:pointer;box-shadow:0 6px 14px #b91c1c26}.form-stack{display:flex;flex-direction:column;gap:12px;margin-top:6px}.form-label{display:flex;flex-direction:column;gap:6px;font-weight:600;color:#1e293b;font-size:14px}.input.select{background:#fff}.folder-actions{display:flex;flex-direction:column;gap:8px;margin-top:12px}.btn.danger{color:#b91c1c;border-color:#fecdd3;background:#fff1f2;box-shadow:none}.empty-note{text-align:center;color:#475569;padding:16px 10px;border-radius:14px;background:#f5f1e8;border:1px dashed #e2e8f0}.import-recipe-page{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;padding:0;background:transparent;display:flex;align-items:flex-end;justify-content:center}.import-content{--keyboard-scroll-base-padding: 0px;--keyboard-scroll-extra-offset: 28px;--keyboard-scroll-top-margin: 18px;position:relative;z-index:1;width:100%;display:flex;flex-direction:column;gap:0;min-height:100%;justify-content:flex-end}.native-ios-shell.keyboard-open .import-content.keyboard-scroll-container{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;padding-bottom:max(0px,calc(var(--keyboard-height, 0px) - 8px))}.native-ios-shell.keyboard-open .import-content.keyboard-scroll-container .import-shell{min-height:auto;margin-bottom:0;touch-action:pan-y}.import-back-btn{align-self:flex-start}html.import-open,body.import-open,.app-root.import-open{overflow:hidden}.import-shell{padding:16px;border-radius:28px 28px 0 0;background:linear-gradient(180deg,#fffffffa,#ffffffe6);border:1px solid var(--color-border-light);border-bottom:none;box-shadow:0 20px 42px #1f2a361f;display:flex;flex-direction:column;gap:14px;width:100%;max-height:calc(var(--vv-height, 100vh) - env(safe-area-inset-top,0px));overflow:hidden;touch-action:none;will-change:transform;height:auto}.import-shell-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.import-title{font-family:var(--font-display);font-size:1.6rem;margin:0;color:var(--color-text-main);letter-spacing:-.02em;font-weight:600}.import-header{display:flex;flex-direction:column;align-items:flex-start;gap:12px;width:100%}.import-header-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;width:100%}.import-toggle{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;background:#f4efe5e6;border:1px solid var(--color-border-light);border-radius:14px;padding:8px;box-shadow:inset 0 1px #fffc;position:relative;overflow:hidden;--toggle-count: 3;--toggle-index: 0}.import-toggle:before{content:"";position:absolute;top:4px;bottom:4px;left:4px;width:calc((100% - 8px) / var(--toggle-count, 3));border-radius:10px;background:linear-gradient(135deg,#a4c1a2f2,#a4c1a2bf);box-shadow:0 8px 18px #1f2a361f;transform:translate(calc(var(--toggle-index, 0) * 100%));transition:transform .25s ease;z-index:0}.import-toggle-btn{border:none;background:transparent;padding:10px 12px;border-radius:10px;font-weight:700;cursor:pointer;color:#4b5563;font-size:.85rem;letter-spacing:-.01em;text-align:center;position:relative;z-index:1;transition:color .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:6px}.import-toggle-btn.active{color:#1f2937}.import-toggle-icon{display:inline-flex;align-items:center;justify-content:center}.import-toggle-btn:focus-visible{outline:2px solid rgba(164,193,162,.6);outline-offset:2px}.import-textarea,.import-url-input{width:100%;padding:14px 16px;border-radius:16px;border:1px solid var(--color-border-light);font-size:1rem;background:#fff;resize:vertical;color:var(--color-text-main);box-shadow:inset 0 1px #ffffffb3;transition:border-color .2s ease,box-shadow .2s ease}.import-textarea{height:260px;min-height:300px}.import-textarea:focus,.import-url-input:focus{outline:none;border-color:#a4c1a2e6;box-shadow:0 0 0 3px #a4c1a240}.import-helper{margin-top:0;color:var(--color-text-muted);font-size:.9rem;background:#a4c1a21f;border:1px dashed rgba(164,193,162,.4);border-radius:12px;padding:10px 12px}.import-paste-btn{align-self:flex-end;margin-top:6px;padding:8px 12px;border-radius:10px;border:1px solid var(--color-border-light);background:#fff;color:#1f2937;font-weight:700;cursor:pointer;box-shadow:0 8px 18px #1f2a3614;transition:transform .15s ease,box-shadow .15s ease}.import-paste-btn{display:inline-flex;align-items:center;gap:8px}.import-paste-icon{display:inline-flex;align-items:center;justify-content:center}.import-sheet-handle{width:80px;height:10px;border-radius:999px;background:#0000001f;align-self:center;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;margin-top:3px}.import-shell.slide-up{animation:slideUpImport .7s cubic-bezier(.22,.7,.2,1) both}.import-shell.slide-down{animation:slideDownImport .7s cubic-bezier(.22,.7,.2,1) both}.import-paste-btn:hover{transform:translateY(-1px);box-shadow:0 12px 24px #1f2a361f}.import-paste-btn:active{transform:translateY(1px)}.import-paste-btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.import-btn{margin-top:2px;padding:12px 14px;width:100%;background:linear-gradient(135deg,var(--color-primary),rgba(164,193,162,.8));color:#0f172a;border-radius:14px;font-weight:700;border:none;cursor:pointer;box-shadow:0 14px 26px #6f9f7b40;transition:transform .15s ease,box-shadow .15s ease}.import-btn:hover{transform:translateY(-1px);box-shadow:0 18px 34px #6f9f7b47}.import-btn:active{transform:translateY(1px)}.import-btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.import-image-shell{display:flex;flex-direction:column;gap:12px;padding:12px;border-radius:16px;border:1px dashed var(--color-border-light);background:#ffffffb3}.import-cover-placeholder{width:100%;min-height:140px;border-radius:16px;border:1px dashed #cbd5f5;background:#e2e8f0;color:#64748b;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:700;text-align:center;padding:12px;cursor:pointer}.import-cover-placeholder svg{width:24px;height:24px}.import-cover-placeholder:disabled{opacity:.6;cursor:not-allowed}.import-cover-preview{width:100%;max-width:320px;height:150px;object-fit:cover;border-radius:16px;border:1px solid #e2e8f0;display:block}.import-image-btn{border:1px solid var(--color-border-light);background:#fff;color:#1f2937;border-radius:12px;padding:10px 12px;font-weight:700;cursor:pointer;width:100%;text-align:center;transition:transform .15s ease,box-shadow .15s ease}.import-image-btn:hover{transform:translateY(-1px);box-shadow:0 12px 24px #1f2a361f}.import-image-btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.import-image-preview{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.import-image-preview img{width:96px;height:96px;border-radius:12px;object-fit:cover;border:1px solid var(--color-border-light);background:#fff}.import-image-remove{border:1px solid var(--color-border-light);background:#fff;color:#1f2937;border-radius:12px;padding:8px 12px;font-weight:700;cursor:pointer}.error-box{margin-top:0;padding:10px 12px;background:#fee2e2;color:#991b1b;border-radius:10px;border:1px solid #fca5a5}html.dark .import-recipe-page{background:#00000059;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}html.dark .import-shell{background:linear-gradient(180deg,#16243cf2,#10192dfa);border-color:var(--border-dark-subtle);box-shadow:var(--shadow-dark-elevated)}html.dark .import-toggle{background:#10192de6;border-color:var(--border-dark-strong);box-shadow:inset 0 1px #ffffff14}html.dark .import-toggle:before{background:linear-gradient(135deg,#9fc4a0f2,#9fc4a0cc);box-shadow:0 10px 24px #0006}html.dark .import-toggle-btn{color:var(--text-dark-secondary)}html.dark .import-toggle-btn.active{color:var(--text-dark-primary)}html.dark .import-textarea,html.dark .import-url-input{background:var(--bg-dark-surface);border-color:var(--border-dark-subtle);color:var(--text-dark-primary);box-shadow:none}html.dark .import-helper{color:var(--text-dark-secondary);background:#10192da6;border-color:var(--border-dark-subtle)}html.dark .import-paste-btn{background:var(--bg-dark-surface);border-color:var(--border-dark-subtle);color:var(--text-dark-primary);box-shadow:0 10px 22px #00000059}@media (max-width: 520px){.import-header-actions{flex-direction:column;align-items:flex-start;width:100%}}html.dark .import-btn{color:#0b1221}html.dark .import-image-shell{background:#10192d99;border-color:var(--border-dark-subtle)}html.dark .import-image-btn,html.dark .import-image-remove{background:var(--bg-dark-surface);border-color:var(--border-dark-subtle);color:var(--text-dark-primary)}html.dark .import-cover-placeholder{background:#10192db3;border-color:var(--border-dark-subtle);color:var(--text-dark-secondary)}html.dark .import-cover-preview,html.dark .import-image-preview img{background:var(--bg-dark-surface);border-color:var(--border-dark-subtle)}@keyframes slideUpImport{0%{transform:translateY(100%);opacity:.96}to{transform:translateY(0);opacity:1}}@keyframes slideDownImport{0%{transform:translateY(0);opacity:1}to{transform:translateY(100%);opacity:.96}}@media (min-width: 720px){.import-toggle{max-width:420px}}@media (max-width: 520px){.import-shell{padding:14px}.import-title{font-size:1.45rem}.import-toggle-btn{flex:1 1 100px;padding:9px 8px}}.import-recipe-page{background:#1f271a52;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.import-shell{width:100%;max-width:540px;margin-inline:auto;padding:13px 22px max(22px,env(safe-area-inset-bottom));gap:16px;background:var(--redesign-paper, #fbf8ef);border:0;border-radius:26px 26px 0 0;box-shadow:0 -12px 35px #222a1c26;overflow-y:auto;touch-action:pan-y}.import-sheet-handle{width:40px;height:4px;margin:0 auto 3px;background:var(--redesign-action, #ccdfbd);flex-shrink:0}.import-shell-top{gap:8px}.import-title{font-family:var(--font-display);font-size:1.8rem;color:var(--redesign-card-title, #35261b)}.import-top-actions{display:flex;align-items:center;gap:8px}.import-paste-btn{margin:0;min-height:42px;background:var(--redesign-oat, #f2eee3);color:var(--redesign-ink, #2c482b);border:0;box-shadow:none}.import-close-btn{display:grid;place-items:center;width:42px;height:42px;flex:none;padding:0;border:0;border-radius:50%;background:var(--redesign-oat, #f2eee3);color:var(--redesign-ink, #2c482b);font-size:1.4rem;cursor:pointer}.import-toggle{max-width:none;padding:4px;border:0;background:var(--redesign-oat, #f2eee3);box-shadow:none}.import-toggle:before{background:var(--redesign-leaf, #dbe8d1);box-shadow:none}.import-toggle-btn{min-height:44px;padding:8px 3px;color:var(--redesign-card-muted, #695f51);font-size:.8rem}.import-toggle-btn.active{color:var(--redesign-ink, #2c482b)}.import-toggle-icon{order:-1}.import-toggle-icon svg{width:17px;height:17px}.import-url-input,.import-textarea{background:var(--redesign-cream, #fffdf6);border-radius:13px;box-shadow:none}.import-textarea{min-height:155px;height:170px;max-height:30dvh}.import-helper{background:var(--redesign-sage, #e8efdf);color:var(--redesign-muted, #526849);border:0;line-height:1.5;padding:13px}.import-btn{min-height:48px;border-radius:13px;background:var(--redesign-action, #ccdfbd);color:var(--redesign-action-ink, #2c482b);box-shadow:none}.import-image-shell,.import-cover-placeholder{background:var(--redesign-sage, #e8efdf);border-radius:15px}html.dark .import-shell{background:var(--bg-dark-page)}html.dark .import-toggle,html.dark .import-paste-btn,html.dark .import-close-btn{background:var(--bg-dark-surface-elevated);color:var(--text-dark-primary)}html.dark .import-toggle:before{background:#a4c1a2}html.dark .import-toggle-btn.active{color:#1d3020}html.dark .import-helper{background:var(--bg-dark-surface-elevated);color:var(--text-dark-primary)}@media (min-width: 760px) and (orientation: landscape){.import-content{align-items:center;justify-content:center;padding-inline:16px}.import-shell{width:min(100%,540px);max-height:calc(var(--vv-height, 100dvh) - 32px);border-radius:24px;box-shadow:0 16px 42px #222a1c26}.import-sheet-handle{display:none}}@media (prefers-reduced-motion: reduce){.import-toggle:before{transition:none}}.import-url-input,.import-textarea{font-family:var(--font-body)}.shared-import-page{min-height:100dvh;display:grid;place-items:center;padding:36px 20px;background:radial-gradient(circle at 20% 0%,rgba(164,193,162,.2),transparent 34%),radial-gradient(circle at 92% 8%,rgba(215,181,117,.14),transparent 24%),linear-gradient(180deg,#f8f5effa,#fffcf8)}.shared-import-card{width:min(100%,560px);padding:28px;display:grid;gap:18px;text-align:left;border:1px solid rgba(107,114,128,.08);border-radius:32px;background:linear-gradient(180deg,#fffffffa,#fbf9f4fa);box-shadow:0 30px 80px #18241e1c,0 2px 12px #18241e0d}.shared-import-card h1{margin:0;font-family:var(--font-display);font-size:clamp(2rem,3vw,2.6rem);letter-spacing:-.03em;line-height:1.04}.shared-import-card p{margin:0;color:var(--color-text-muted);line-height:1.62;max-width:52ch}.shared-import-header{display:grid;gap:18px}.shared-import-header__meta{display:flex;flex-wrap:wrap;gap:10px}.shared-import-hero{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center}.shared-import-hero__icon-wrap{position:relative}.shared-import-hero__icon-wrap:after{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px;border-radius:28px;background:radial-gradient(circle,rgba(164,193,162,.16),transparent 70%);z-index:0}.shared-import-hero__icon-wrap .shared-import-status-icon{position:relative;z-index:1}.shared-import-hero__copy{display:grid;gap:10px}.shared-import-eyebrow{display:inline-flex;align-items:center;width:fit-content;padding:6px 10px;border-radius:999px;background:#a4c1a224;color:var(--color-text-main);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.shared-import-source-pill{display:inline-flex;align-items:center;gap:10px;width:fit-content;padding:9px 14px;border-radius:999px;background:#0f172a0b;color:#0f172ab8;font-size:.9rem;font-weight:600}.shared-import-source-pill__icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:#0f172a0f}.shared-import-source-pill__icon svg{width:13px;height:13px}.shared-import-status-icon{display:inline-flex;align-items:center;justify-content:center;width:76px;height:76px;border-radius:26px;box-shadow:inset 0 1px #ffffff59}.shared-import-status-icon.is-loading{background:linear-gradient(180deg,#a4c1a22e,#a4c1a21f)}.shared-import-status-icon.is-success{background:linear-gradient(180deg,#22c55e29,#22c55e1a);color:#15803d}.shared-import-status-icon.is-error{background:linear-gradient(180deg,#f59e0b2e,#f59e0b1a);color:#b45309}.shared-import-status-icon svg{width:28px;height:28px}.shared-import-stage{display:inline-flex;align-items:center;gap:8px;width:fit-content;padding:8px 12px;border-radius:999px;background:#0f172a0d;color:#0f172ab8;font-size:.82rem;font-weight:700}.shared-import-stage__dot{width:8px;height:8px;border-radius:999px;background:currentColor;opacity:.75}.shared-import-stage.is-success{background:#22c55e1f;color:#15803d}.shared-import-stage.is-error{background:#f59e0b1f;color:#b45309}.shared-import-panel{display:grid;gap:12px;padding:16px;border-radius:24px;background:linear-gradient(180deg,#f6f3edeb,#ffffffc7);border:1px solid rgba(15,23,42,.05)}.shared-import-step{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:10px 2px}.shared-import-step+.shared-import-step{border-top:1px solid rgba(15,23,42,.05)}.shared-import-step__icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:14px;background:#0f172a0d;color:#0f172ab8}.shared-import-step__icon svg{width:18px;height:18px}.shared-import-step__copy{display:grid;gap:3px}.shared-import-step__copy strong{font-size:.97rem;color:var(--color-text-main)}.shared-import-step__copy span{font-size:.88rem;line-height:1.45;color:var(--color-text-muted)}.shared-import-step__state{display:inline-flex;align-items:center;justify-content:center;min-width:24px;min-height:24px;color:#0f172a52}.shared-import-step.is-complete .shared-import-step__icon{background:#22c55e1f;color:#15803d}.shared-import-step.is-complete .shared-import-step__state{color:#15803d}.shared-import-step.is-active .shared-import-step__icon{background:#a4c1a22e;color:#4b6f57}.shared-import-step.is-error .shared-import-step__icon{background:#f59e0b24;color:#b45309}.shared-import-step.is-error .shared-import-step__state{color:#b45309}.shared-import-step__state svg{width:18px;height:18px}.shared-import-step__pulse{width:10px;height:10px;border-radius:999px;background:#6b8f73;box-shadow:0 0 #6b8f735c;animation:shared-import-pulse 1.8s infinite}.shared-import-actions{display:flex;flex-wrap:wrap;gap:12px}.shared-import-button{display:inline-flex;align-items:center;gap:10px;border-radius:999px;padding-inline:18px}.shared-import-button.is-ghost{background:#fffc}.shared-import-button__icon{display:inline-flex;align-items:center;justify-content:center}.shared-import-button__icon svg{width:16px;height:16px}@keyframes shared-import-pulse{0%{box-shadow:0 0 #6b8f7357}70%{box-shadow:0 0 0 12px #6b8f7300}to{box-shadow:0 0 #6b8f7300}}html.dark .shared-import-page{background:radial-gradient(circle at 18% 0%,rgba(164,193,162,.18),transparent 34%),radial-gradient(circle at 100% 10%,rgba(215,181,117,.08),transparent 28%),linear-gradient(180deg,#1c211ff5,#131614fa)}html.dark .shared-import-card{border-color:#ffffff0d;background:linear-gradient(180deg,#1f2422f5,#151817fa);box-shadow:0 24px 60px #00000047,0 2px 10px #0000002e}html.dark .shared-import-source-pill,html.dark .shared-import-stage{background:#ffffff0f;color:#ffffffc7}html.dark .shared-import-source-pill__icon,html.dark .shared-import-step__icon{background:#ffffff14}html.dark .shared-import-panel{background:linear-gradient(180deg,#ffffff08,#ffffff05);border-color:#ffffff0f}html.dark .shared-import-step+.shared-import-step{border-color:#ffffff0f}html.dark .shared-import-step__copy strong{color:#ffffffeb}html.dark .shared-import-step__copy span{color:#ffffffa8}@media (max-width: 640px){.shared-import-card{padding:22px 18px}.shared-import-hero{grid-template-columns:1fr}.shared-import-hero__copy{gap:8px}.shared-import-step{grid-template-columns:auto 1fr}.shared-import-step__state{grid-column:2;justify-content:flex-start}}.legal-page{min-height:100%;padding:16px;display:flex;flex-direction:column;gap:16px;background:radial-gradient(820px 440px at -12% -18%,rgba(164,193,162,.2),transparent 66%),radial-gradient(720px 420px at 110% 112%,rgba(242,180,135,.12),transparent 67%),var(--color-bg, #f0efe5)}.legal-header{display:flex;flex-direction:column;gap:14px}.legal-back{width:fit-content;display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border-radius:999px;border:1px solid var(--color-border-light);background:#ffffffe0;color:var(--color-text-main);font-weight:700}.legal-header-copy{display:flex;flex-direction:column;gap:6px}.legal-eyebrow{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#4c7b60;font-weight:800}.legal-header-copy h1{margin:0;font-family:var(--font-display);font-size:clamp(2rem,7vw,2.6rem);line-height:1.02;letter-spacing:-.03em;color:var(--color-text-main)}.legal-header-copy p{margin:0;color:var(--color-text-muted)}.legal-card{background:linear-gradient(180deg,#fffffffa,#fff 40%);border:1px solid var(--color-border-light);border-radius:24px;box-shadow:0 14px 34px #0f172a14,0 1px #fffc inset;padding:20px;display:flex;flex-direction:column;gap:22px}.legal-intro p,.legal-section p,.legal-section li,.legal-footer{color:var(--color-text-main);line-height:1.65;font-size:.98rem}.legal-section{display:flex;flex-direction:column;gap:10px}.legal-section h2{margin:0;font-size:1.05rem;font-weight:800;color:#1c3b2b}.legal-section p,.legal-section ul{margin:0}.legal-section ul{padding-left:20px;display:grid;gap:8px}.legal-footer{padding-top:8px;border-top:1px solid var(--color-border-light);display:flex;flex-wrap:wrap;gap:12px}.legal-footer a{color:#2f6548;font-weight:700}html.dark .legal-page{background:radial-gradient(820px 440px at -12% -18%,rgba(106,154,118,.18),transparent 66%),radial-gradient(720px 420px at 110% 112%,rgba(196,141,106,.18),transparent 67%),#0f1b2d}html.dark .legal-back,html.dark .legal-card{background:linear-gradient(180deg,#16243a,#111d31 42%);border-color:var(--border-dark-subtle);color:var(--text-dark-primary)}html.dark .legal-header-copy h1,html.dark .legal-intro p,html.dark .legal-section h2,html.dark .legal-section p,html.dark .legal-section li,html.dark .legal-footer{color:var(--text-dark-primary)}html.dark .legal-header-copy p{color:var(--text-dark-secondary)}html.dark .legal-footer{border-top-color:var(--border-dark-subtle)}html.dark .legal-footer a{color:#9dd2a9}.grocery-page{height:100%;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:0 16px 32px;--grocery-check-fill: #8fbe9a;--grocery-check-bg: rgba(169, 204, 153, .25);--grocery-check-border: #9aa3af;--grocery-check-focus: rgba(106, 150, 123, .35);--grocery-mode-pill-bg: rgba(143, 190, 154, .18);--grocery-mode-pill-text: #2f4f3a;--grocery-mode-toggle-bg: #ffffff;--grocery-mode-toggle-border: #e2e8f0}.grocery-page h1{margin-top:0;font-family:var(--font-display)}.grocery-loading-shell{display:flex;flex-direction:column;gap:12px;margin:4px 0 18px}.grocery-loading-label{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border-radius:999px;border:1px solid rgba(143,190,154,.28);background:linear-gradient(135deg,#8fbe9a24,#ffffffe6);color:var(--color-text-main);font-weight:600;width:fit-content;box-shadow:0 10px 22px #0f172a0f}.grocery-loading-dot{width:10px;height:10px;border-radius:999px;background:#7baa85;box-shadow:0 0 #7baa8573;animation:groceryLoadingPulse 1.35s ease-out infinite}.grocery-loading-sections{display:flex;flex-direction:column;gap:12px}.grocery-loading-card{border:1px solid #e2e8f0;border-radius:18px;overflow:hidden;background:var(--color-bg-elevated)}.grocery-loading-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:var(--section-accent-soft, #f1f5f9)}.grocery-loading-card-title,.grocery-loading-card-count,.grocery-loading-item-line,.grocery-loading-item-check{position:relative;overflow:hidden;background:#ffffff9e}.grocery-loading-card-title:after,.grocery-loading-card-count:after,.grocery-loading-item-line:after,.grocery-loading-item-check:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent);animation:grocerySkeletonShimmer 1.5s ease-in-out infinite}.grocery-loading-card-title{width:128px;max-width:46%;height:18px;border-radius:999px}.grocery-loading-card-count{width:28px;height:18px;border-radius:999px}.grocery-loading-card-body{display:flex;flex-direction:column;gap:8px;padding:10px 12px 12px}.grocery-loading-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:999px;background:#f8fafce0}.grocery-loading-item-check{width:20px;height:20px;border-radius:999px;flex-shrink:0;background:#dce4ecf2}.grocery-loading-item-line{height:15px;border-radius:999px;background:#e4eaf1f0}.grocery-page::-webkit-scrollbar{width:0;height:0}.grocery-actions-sticky{pointer-events:none;position:sticky;top:45px;z-index:20;display:flex;justify-content:flex-end;padding-bottom:8px}.grocery-grab-zone{display:flex;justify-content:center;align-items:center;touch-action:none;position:absolute;left:50%;top:-20px;transform:translate(-50%)}.grocery-grab-zone:before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}.grocery-grab-bar{width:80px;height:8px;border-radius:999px;background:#94a3b899}.grocery-grab-zone:hover .grocery-grab-bar{background:#94a3b8d9}.grocery-page.is-minimizing{transform-origin:bottom left;animation:groceryMinimize .65s cubic-bezier(.3,.75,.4,1) forwards}.grocery-page.is-opening{transform-origin:bottom left;animation:groceryOpen .65s cubic-bezier(.3,.75,.4,1)}.grocery-top-row{display:flex;align-items:center;justify-content:center;gap:0px;position:relative}.grocery-header-actions{pointer-events:auto;display:inline-flex;align-items:center;gap:8px}.grocery-icon-btn{width:32px;height:32px;border-radius:10px;border:1px solid var(--color-border-light);background:var(--color-bg-elevated);color:var(--color-text-main);display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.grocery-icon-btn svg{width:16px;height:16px;display:block}.grocery-icon-btn:hover{transform:translateY(-1px);box-shadow:0 10px 24px #0f172a1f}.grocery-category{margin-top:20px;font-weight:700;font-size:1.1rem;color:var(--text-dark)}.grocery-section-card{border:1px solid #e2e8f0;border-radius:18px;padding:0;overflow:hidden;margin-bottom:12px;background:var(--color-bg-elevated)}.grocery-section-header{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--section-accent-soft, #f1f5f9);border:none;padding:12px 14px;cursor:pointer;border-top-left-radius:18px;border-top-right-radius:18px}.grocery-section-header.is-completed{opacity:.85}.grocery-section-icon{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;color:var(--section-accent-icon, #64748b);flex-shrink:0}.grocery-section-icon svg{width:20px;height:20px;display:block}.grocery-section-title{font-weight:700;font-size:1rem;color:var(--color-text-main)}.grocery-section-count{font-size:.85rem;color:var(--color-text-muted)}.grocery-section-status{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);background:#fff9;padding:3px 8px;border-radius:999px}.grocery-section-toggle{transition:transform .7s ease}.grocery-section-toggle.is-collapsed{transform:rotate(-90deg)}.grocery-section-body{overflow:hidden;transition:max-height .7s ease;max-height:10000px;padding:8px 12px}.grocery-sections-unhydrated .grocery-section-body{transition:none}.grocery-section-body.is-collapsed{max-height:0}.grocery-item{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;gap:8px;border-radius:999px;transition:opacity .2s ease,transform .2s ease,background .2s ease}.grocery-item-label{display:inline-flex;align-items:center;gap:8px;flex:1;position:relative;width:100%}.grocery-item-text{transition:color .2s ease}.grocery-item-actions{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.grocery-item.is-checked{opacity:.85;transform:scale(.995);background:var(--grocery-check-bg, rgba(169, 204, 153, .25));margin:4px 0}.grocery-checkbox-input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.grocery-check{width:20px;height:20px;border-radius:50%;border:2px solid var(--grocery-check-border, #9aa3af);display:inline-flex;align-items:center;justify-content:center;background:transparent;transition:background .2s ease,border-color .2s ease,transform .2s ease;flex-shrink:0}.grocery-check-icon{width:8px;height:4px;border-left:2px solid #ffffff;border-bottom:2px solid #ffffff;transform:rotate(-45deg) scale(.9);opacity:0;transition:opacity .2s ease,transform .2s ease}.grocery-checkbox-input:focus-visible+.grocery-check{box-shadow:0 0 0 3px var(--grocery-check-focus, rgba(106, 150, 123, .35))}.grocery-item.is-checked .grocery-check{background:var(--grocery-check-fill, #8fbe9a);border-color:var(--grocery-check-fill, #8fbe9a);transform:scale(1.05)}.grocery-item.is-checked .grocery-check-icon{opacity:1;transform:rotate(-45deg) scale(1)}.grocery-shopping-mode .grocery-item{padding:10px 12px}.grocery-shopping-mode .grocery-check{width:24px;height:24px}.grocery-shopping-mode .grocery-item.is-checked{opacity:.6;padding:6px 10px;margin:2px 0}.grocery-shopping-mode .grocery-edit-btn{padding:8px 12px;font-size:.8rem}.grocery-edit-btn{border:1px solid #e2e8f0;background:#fff;color:#1e293b;padding:6px 10px;border-radius:999px;font-weight:600;font-size:.75rem;cursor:pointer}.grocery-edit-btn:hover{background:#f3f4f6}.grocery-source-btn{border:1px solid #cbd5e1;background:#f8fafc;color:#1e3a5f;padding:6px 10px;border-radius:999px;font-weight:600;font-size:.75rem;cursor:pointer}.grocery-source-btn:hover{background:#eff6ff;border-color:#bfdbfe}.bottom-actions{margin-top:32px;display:flex;flex-direction:column;gap:12px}.native-ios-shell .grocery-page{padding-bottom:calc(env(safe-area-inset-bottom,0px) + 72px)}.native-ios-shell .grocery-page .bottom-actions{padding-bottom:0}button.grocery-btn{padding:12px;border-radius:8px;background:#a9cc99;color:#ffffffc9;font-weight:600;border:none;cursor:pointer}button.grocery-btn.secondary{background:#e5e7eb;color:#111}.grocery-edit-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:200;padding:16px}.grocery-source-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:210;padding:16px;animation:grocerySourceOverlayIn .2s ease}.grocery-source-modal{width:100%;max-width:380px;background:#fff;border-radius:18px;border:1px solid #e2e8f0;padding:16px;box-shadow:0 18px 40px #0f172a33;display:flex;flex-direction:column;gap:12px;animation:grocerySourceModalIn .22s ease}.grocery-source-title{font-weight:700;font-size:1rem;color:#1e293b}.grocery-source-subtitle{color:#475569;font-size:.86rem;margin-top:-2px}.grocery-source-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.grocery-source-item{margin:0}.grocery-source-item-btn{width:100%;text-align:left;border:1px solid #e2e8f0;background:#fff;color:#0f172a;padding:10px 12px;border-radius:12px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:space-between;gap:10px}.grocery-source-item-btn:hover{background:#f8fafc}.grocery-source-item-btn.is-open{border-color:#bfdbfe;background:#eff6ff}.grocery-source-item-chevron{transition:transform .2s ease}.grocery-source-item-chevron.is-open{transform:rotate(180deg)}.grocery-source-ingredients{margin-top:0;border:1px solid transparent;border-radius:12px;background:#f8fafc;padding:0 12px;max-height:0;opacity:0;transform:scale(.985) translateY(-4px);overflow:hidden;transition:max-height .26s ease,opacity .2s ease,transform .2s ease,margin-top .2s ease,padding .2s ease,border-color .2s ease}.grocery-source-ingredients.is-open{margin-top:8px;border-color:#e2e8f0;padding:10px 12px;max-height:380px;opacity:1;transform:scale(1) translateY(0)}.grocery-source-ingredients-title{font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#475569;margin-bottom:8px}.grocery-source-ingredients-list{margin:0;padding:0 0 0 18px;display:flex;flex-direction:column;gap:6px;color:#0f172a;font-size:.88rem}.grocery-source-ingredients-empty{color:#64748b;font-size:.86rem}.grocery-source-item-unavailable{display:block;border:1px dashed #cbd5e1;color:#64748b;padding:10px 12px;border-radius:12px;font-weight:600}.grocery-source-empty{color:#64748b;font-size:.9rem}.grocery-source-actions{display:flex;justify-content:flex-end}.grocery-edit-modal{width:100%;max-width:360px;background:#fff;border-radius:18px;border:1px solid #e2e8f0;padding:16px;box-shadow:0 18px 40px #0f172a33;display:flex;flex-direction:column;gap:12px}.grocery-edit-title{font-weight:700;font-size:1rem;color:#1e293b}.grocery-edit-field{display:flex;flex-direction:column;gap:6px;font-size:.85rem;color:#1e293b}.grocery-edit-field input{border:1px solid #e2e8f0;border-radius:12px;padding:10px;background:#f8fafc;font-size:.9rem}.grocery-edit-actions{display:flex;flex-wrap:wrap;gap:10px}.grocery-edit-error{color:#b91c1c;font-weight:600;font-size:.85rem}.grocery-mode-row{display:flex;align-items:center;gap:12px;margin:6px 0 16px}.grocery-mode-toggle{display:inline-flex;align-items:center;gap:10px;padding:8px 12px;border-radius:999px;border:1px solid var(--grocery-mode-toggle-border, #e2e8f0);background:var(--grocery-mode-toggle-bg, #ffffff);color:var(--color-text-main);font-weight:600;cursor:pointer}.grocery-mode-toggle.is-active{border-color:#9fc5a6}.grocery-mode-switch{width:36px;height:20px;border-radius:999px;background:#d1d5db;display:inline-flex;align-items:center;padding:2px;transition:background .2s ease}.grocery-mode-toggle.is-active .grocery-mode-switch{background:#8fbe9a}.grocery-mode-knob{width:16px;height:16px;border-radius:50%;background:#fff;transform:translate(0);transition:transform .2s ease}.grocery-mode-toggle.is-active .grocery-mode-knob{transform:translate(16px)}.grocery-mode-pill{background:var(--grocery-mode-pill-bg, rgba(143, 190, 154, .18));color:var(--grocery-mode-pill-text, #2f4f3a);padding:6px 10px;border-radius:999px;font-size:.8rem;font-weight:600;letter-spacing:.02em}html.dark .grocery-edit-modal,html.dark .grocery-source-modal{background:var(--bg-dark-surface-elevated);border-color:var(--border-dark-subtle);color:var(--text-dark-primary)}html.dark .grocery-source-title{color:var(--text-dark-primary)}html.dark .grocery-source-subtitle{color:var(--text-dark-secondary)}html.dark .grocery-source-btn{background:#172033;border-color:#2a3a55;color:#c8d8ef}html.dark .grocery-source-btn:hover{background:#1c2b42;border-color:#375174}html.dark .grocery-source-item-btn{background:var(--bg-dark-surface);border-color:var(--border-dark-subtle);color:var(--text-dark-primary)}html.dark .grocery-source-item-btn:hover{background:#18253b}html.dark .grocery-source-item-btn.is-open{background:#1f3251;border-color:#3d5f8a}html.dark .grocery-source-ingredients{background:#162338}html.dark .grocery-source-ingredients.is-open{border-color:#304865}html.dark .grocery-source-ingredients-title{color:#9fb3cf}html.dark .grocery-source-ingredients-list{color:#dbe8f8}html.dark .grocery-source-item-unavailable{border-color:#324761;color:#8fa6c5}html.dark .grocery-source-empty{color:var(--text-dark-secondary)}html.dark .grocery-edit-field input,html.dark .grocery-edit-btn{background:var(--bg-dark-surface);border-color:var(--border-dark-subtle);color:var(--text-dark-primary)}html.dark .grocery-section-card{border-color:var(--border-dark-subtle)}html.dark .grocery-section-header{background:var(--section-accent-soft-dark, #1f2c43)}html.dark .grocery-section-icon{color:var(--section-accent-icon-dark, #b4c2d7)}html.dark .grocery-section-status{background:#0b122166;color:var(--text-dark-secondary)}html.dark .grocery-loading-label{border-color:#79a57538;background:linear-gradient(135deg,#56806238,#0b1221eb);color:var(--text-dark-primary);box-shadow:0 14px 28px #0206173d}html.dark .grocery-loading-dot{background:#b4d7bc;box-shadow:0 0 #b4d7bc61}html.dark .grocery-loading-card{border-color:var(--border-dark-subtle);background:var(--bg-dark-surface)}html.dark .grocery-loading-card-header{background:var(--section-accent-soft-dark, #1f2c43)}html.dark .grocery-loading-card-title,html.dark .grocery-loading-card-count,html.dark .grocery-loading-item-line,html.dark .grocery-loading-item-check{background:#c4d2e329}html.dark .grocery-loading-card-title:after,html.dark .grocery-loading-card-count:after,html.dark .grocery-loading-item-line:after,html.dark .grocery-loading-item-check:after{background:linear-gradient(90deg,transparent,rgba(209,220,233,.18),transparent)}html.dark .grocery-loading-item{background:#0a12216b}html.dark .grocery-mode-toggle,html.dark .grocery-icon-btn{background:var(--bg-dark-surface);border-color:var(--border-dark-subtle);color:var(--text-dark-primary)}html.dark .grocery-mode-switch{background:#2a3a55}html.dark .grocery-mode-toggle.is-active .grocery-mode-switch{background:#4aa37e}html.dark .grocery-mode-pill{background:#4aa37e2e;color:#cfe6d7}@keyframes groceryMinimize{0%{transform:translate(0)}to{transform:translateY(100%)}}@keyframes groceryOpen{0%{transform:translateY(100%)}to{transform:translate(0)}}@keyframes groceryLoadingPulse{0%{box-shadow:0 0 #7baa856b;transform:scale(.96)}70%{box-shadow:0 0 0 12px #7baa8500;transform:scale(1)}to{box-shadow:0 0 #7baa8500;transform:scale(.96)}}@keyframes grocerySkeletonShimmer{to{transform:translate(100%)}}@keyframes grocerySourceOverlayIn{0%{opacity:0}to{opacity:1}}@keyframes grocerySourceModalIn{0%{opacity:0;transform:scale(.97) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}.grocery-page .grocery-list-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:24px}.grocery-list-actions button.grocery-btn{min-height:50px;padding:14px 16px;border-radius:16px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:14px;line-height:1.35;color:#193424;background:#b8d2ad;border:1px solid #8fac85;box-shadow:0 2px 4px #1428190f}.grocery-list-actions button.grocery-btn:first-child{grid-column:1 / -1}.grocery-list-actions button.grocery-btn.secondary{color:var(--color-text-main, #263328);background:var(--color-bg, #f5f5ed);border-color:var(--color-border-dark, #b9c3b7);box-shadow:none}.grocery-list-actions button.grocery-btn:disabled{opacity:.45;cursor:default}.grocery-list-actions button.grocery-btn:focus-visible{outline:3px solid #719e70;outline-offset:3px}.grocery-list-actions>[role=status]{grid-column:1 / -1;text-align:center}html.dark .grocery-list-actions button.grocery-btn.secondary{background:#152332;border-color:#354759;color:#dfe9df}.grocery-list-actions button.grocery-btn.secondary{padding:12px 10px;font-size:13px}.grocery-title-row{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:16px}.grocery-title-row h1{margin:0}.grocery-sections-toggle{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:32px;padding:5px 9px;border-radius:10px;border:1px solid var(--color-border-light, #bdc9b8);background:var(--color-bg-elevated, #edf2e8);color:var(--color-text-main, #24362a);font:inherit;font-size:12px;font-weight:600;cursor:pointer}.grocery-sections-toggle svg{width:15px;height:15px}.grocery-sections-toggle:disabled{opacity:.45;cursor:default}.grocery-sections-toggle:focus-visible{outline:3px solid #719e70;outline-offset:2px}.grocery-list-actions .shopping-ready-wide{grid-column:1 / -1}.shopping-ready h1{margin:18px 0 8px}.shopping-ready>p{line-height:1.5}.shopping-ready-include{display:flex;align-items:center;gap:10px;padding:12px 0}.shopping-ready input[type=checkbox]{width:20px;height:20px;accent-color:#719e70}.shopping-ready-group h2{font-size:1.15rem;margin:24px 0 12px}.shopping-ready-item{padding:16px;margin-bottom:12px;border:1px solid var(--color-border-light, #d4ded1);border-radius:18px;background:var(--color-bg-elevated);color:var(--color-text-main)}.shopping-ready-item-heading{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}.shopping-ready-item-heading strong{text-transform:capitalize;overflow-wrap:anywhere}.shopping-ready .shopping-ready-purchase{font-size:1.12rem;font-weight:700;margin:14px 0 6px;color:var(--color-text-main)}.shopping-ready-item p{margin:6px 0;line-height:1.45;overflow-wrap:anywhere}.shopping-ready-note{font-size:.85rem}.shopping-ready-controls{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px}.shopping-ready-controls label{flex:1;min-width:100px}.shopping-ready-controls label,.shopping-ready-custom{display:flex;flex-direction:column;gap:6px;font-size:.85rem}.shopping-ready-custom{margin-top:12px}.shopping-ready input:not([type=checkbox]),.shopping-ready select{box-sizing:border-box;min-height:44px;max-width:100%;border:1px solid var(--color-border-light, #a8b8a4);border-radius:10px;padding:9px 10px;background:var(--color-bg, #fff);color:var(--color-text-main);font:inherit}.shopping-ready input:not([type=checkbox]){width:100%;font-size:16px}.shopping-ready input:focus-visible,.shopping-ready select:focus-visible{outline:3px solid #719e70;outline-offset:2px}.shopping-ready h1:focus{outline:none}.shopping-ready .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.grocery-header-actions>[hidden]{display:none}.shopping-ready-edit{margin-top:12px}.shopping-ready-edit summary{cursor:pointer;font-size:.85rem;padding:8px 0}.shopping-ready .shopping-ready-warning{color:#a44c0e;font-size:.9rem}html.dark .shopping-ready .shopping-ready-warning{color:#f6c787}.shopping-ready-have{border-style:dashed}.shopping-ready-have .shopping-ready-purchase{text-decoration:line-through}.shopping-ready-item .shopping-ready-include{font-size:.85rem;line-height:1.4}.grocery-sheet{background:var(--redesign-paper, #fbf8ef)}.grocery-page{padding:0 24px max(24px,env(safe-area-inset-bottom));background:var(--redesign-paper, #fbf8ef);color:var(--redesign-card-title, #35261b);--grocery-check-fill: #688756;--grocery-check-border: #9aaa90}.grocery-page h1{margin:0 0 18px;padding-right:148px;font:700 clamp(1.7rem,5vw,2rem)/1.15 var(--redesign-heading, Georgia, serif)}.grocery-actions-sticky{top:30px;padding:0}.grocery-grab-zone{top:-18px;min-width:60px;min-height:32px}.grocery-grab-bar{width:39px;height:4px;background:#c8d2bf}.grocery-icon-btn{width:40px;height:40px;border:0;border-radius:50%;background:var(--redesign-oat, #f2eee3);color:var(--redesign-ink, #2c482b)}.grocery-sections-toggle{border:0;background:var(--redesign-sage, #e8efdf);color:var(--redesign-ink, #2c482b);min-height:40px}.grocery-progress-summary{color:var(--redesign-muted, #526849);font-size:.8rem;margin:4px 0 12px}.grocery-progress-track{height:5px;margin-top:10px;border-radius:99px;overflow:hidden;background:var(--redesign-oat, #f2eee3)}.grocery-progress-track span{display:block;height:100%;background:#8aa474;border-radius:inherit;transition:width .25s ease}.grocery-page .grocery-section-card{border:0;border-bottom:1px solid var(--color-border-light);border-radius:0;background:transparent;margin:0}.grocery-page .grocery-section-header{min-height:64px;padding:10px 0;border:0;border-radius:0;background:transparent;gap:12px;text-align:left}.grocery-page .grocery-section-icon{width:36px;height:36px;border-radius:11px;background:var(--section-accent-soft)}.grocery-page .grocery-section-title{flex:1;color:var(--redesign-card-title, #35261b);font-size:.95rem}.grocery-page .grocery-section-count{color:var(--redesign-muted, #526849)}.grocery-page .grocery-section-toggle{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--redesign-oat, #f2eee3);color:var(--redesign-muted, #526849);transition:transform .2s ease}.grocery-page .grocery-section-body{padding:0 0 10px}.grocery-page .grocery-section-body.is-collapsed{padding:0}.grocery-page .grocery-item,.grocery-page .grocery-item.is-checked{min-height:48px;margin:0;padding:8px 0;background:transparent;transform:none}.grocery-page .grocery-item-label{gap:12px;min-height:40px}.grocery-page .grocery-item-text{line-height:1.45;background:linear-gradient(currentColor,currentColor) left center / 0 1px no-repeat;transition:background-size .3s,opacity .2s}.grocery-page .grocery-item.is-checked .grocery-item-text{background-size:100% 1px;opacity:.6}.grocery-page .grocery-list-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:22px}.grocery-page .grocery-list-actions button.grocery-btn,.grocery-page .grocery-list-actions button.grocery-btn.secondary{grid-column:auto;min-height:54px;padding:8px;border:1px solid var(--color-border-light);border-radius:12px;background:var(--redesign-oat, #f2eee3);box-shadow:none;color:var(--redesign-ink, #2c482b);font-size:.75rem;flex-direction:column;gap:3px}.grocery-page .grocery-list-actions .shopping-ready-wide:not(:first-child),.grocery-page .grocery-list-actions button.shopping-ready-wide:first-child:not(:nth-last-child(3)){grid-column:auto}.grocery-page .grocery-list-actions button.shopping-ready-wide:first-child:nth-last-child(4){grid-column:1 / -1}@media (min-width: 900px) and (orientation: landscape){.bottom-sheet-overlay:has(.grocery-sheet){justify-content:flex-end;align-items:center;padding:16px}.bottom-sheet.grocery-sheet{width:min(550px,55vw);max-width:550px;height:calc(var(--vv-height, 100dvh) - 32px);max-height:calc(var(--vv-height, 100dvh) - 32px);border-radius:25px}}@media (prefers-reduced-motion: reduce){.grocery-page .grocery-progress-track span,.grocery-page .grocery-item-text,.grocery-page .grocery-section-toggle{transition:none}}html.dark .grocery-page .grocery-section-card,html.dark .grocery-page .grocery-section-header{background:transparent}html.dark .grocery-page .grocery-section-icon{background:var(--bg-dark-surface-elevated);color:var(--section-accent-icon-dark)}.grocery-page .grocery-sections-toggle{width:40px;height:40px;padding:0;border-radius:50%}.grocery-page .grocery-sections-toggle svg{width:18px;height:18px}.grocery-page h1{padding-right:132px}.grocery-page .grocery-source-btn{min-height:36px;padding:6px 12px;border:0;border-radius:11px;background:var(--redesign-sage, #e8efdf);color:var(--redesign-ink, #2c482b);font:inherit;font-size:.75rem;font-weight:700;box-shadow:none}.grocery-page .grocery-source-btn:hover{background:var(--redesign-leaf, #dbe8d1)}.grocery-page .grocery-source-btn:focus-visible{outline:2px solid var(--redesign-muted, #526849);outline-offset:2px}.grocery-page h1{display:flex;align-items:center;gap:10px}.grocery-title-icon{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:12px;background:var(--redesign-sage, #e8efdf);color:var(--redesign-ink, #2c482b)}.grocery-title-icon svg{width:21px;height:21px}.grocery-page .grocery-source-overlay{background:#20271c66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}html .grocery-page .grocery-source-modal{background:var(--redesign-paper, #fbf8ef);border:0;border-radius:24px;box-shadow:0 16px 48px #202c2433;padding:22px}html .grocery-page .grocery-source-title{color:var(--redesign-card-title, #35261b);font:700 1.65rem/1.1 var(--redesign-heading, Georgia, serif)}html .grocery-page .grocery-source-subtitle{color:var(--redesign-muted, #526849);margin:8px 0 16px}html .grocery-page .grocery-source-item-btn{min-height:48px;border:0;border-radius:13px;background:var(--redesign-oat, #f2eee3);color:var(--redesign-ink, #2c482b)}html .grocery-page .grocery-source-item-btn.is-open{background:var(--redesign-sage, #e8efdf)}html .grocery-page .grocery-source-ingredients.is-open{border:0;background:transparent;color:var(--redesign-card-title, #35261b)}html .grocery-page .grocery-source-ingredients-title{color:var(--redesign-muted, #526849)}html .grocery-page .grocery-source-ingredients-list{color:var(--redesign-card-title, #35261b);line-height:1.55}.grocery-page .grocery-source-actions .grocery-btn{min-height:44px;padding:8px 20px;border:0;border-radius:12px;background:var(--redesign-action, #ccdfbd);color:var(--redesign-action-ink, #2c482b);font-weight:700;box-shadow:none}.chat-container{--chat-composer-bottom: 0px;display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden;padding:0 12px;background:var(--color-bg);color:#0f172a;position:relative}.chat-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;justify-content:center;min-height:0;padding:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;z-index:1200;opacity:0;transition:opacity .5s ease;pointer-events:none}.chat-overlay.is-open{opacity:1;pointer-events:auto}.chat-drawer{width:100%;max-width:var(--app-root-width);height:90vh;max-height:90vh;background:var(--color-bg);border-radius:26px 26px 0 0;box-shadow:0 -24px 50px #0f172a33;transform:translateY(100%);transition:transform .5s cubic-bezier(.3,.75,.4,1);overflow:hidden;display:flex;flex-direction:column;min-height:0}.chat-drawer.is-open{transform:translateY(0)}.chat-grab-zone{display:flex;justify-content:center;align-items:center;padding:12px 0 0;touch-action:none;position:relative}.chat-grab-zone:before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}.chat-grab-bar{width:80px;height:8px;border-radius:999px;background:#94a3b899}.chat-grab-zone:hover .chat-grab-bar{background:#94a3b8d9}.chat-header{padding:0 0 2px;background:transparent;position:relative;z-index:2;display:flex;flex-direction:column;flex-shrink:0;gap:0}.chat-header-row{width:100%;display:flex;align-items:center;justify-content:space-between;padding:0 12px 2px}.chat-header-icon{width:34px;height:34px;display:block;margin-top:-4px}.chat-header h1{margin:0;font-size:20px;letter-spacing:-.02em}.chat-header p{margin:4px 0 0;color:#475569;font-size:14px}.chat-container .chat-input-bar{position:absolute;bottom:var(--chat-composer-bottom);left:0;right:0;transform:none;max-width:none;max-height:none;overflow:visible;flex-shrink:0;padding:0 12px;background:transparent;z-index:8;pointer-events:none}.chat-quick-actions{padding-bottom:12px}.chat-container .chat-messages{flex:1;min-height:0;overflow-y:auto;padding:2px 0 16px;margin-bottom:calc(var(--chat-composer-height, 112px) + var(--chat-composer-bottom, 0px) + 12px);scroll-behavior:smooth;display:flex;flex-direction:column;gap:12px;scrollbar-width:thin;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}.chat-messages>*{flex-shrink:0}.chat-sheet-content{padding-bottom:0}.chat-row{display:block;width:100%;margin-bottom:16px;animation:bubbleIn .28s ease forwards;opacity:0;transform:translateY(8px)}.assistant-markdown{font-size:15px;line-height:1.65;word-wrap:break-word;overflow-wrap:break-word}.assistant-markdown h1,.assistant-markdown h2,.assistant-markdown h3{margin:10px 0 6px;font-weight:800}.assistant-markdown p{margin:10px 0}.assistant-markdown ul,.assistant-markdown ol{margin:10px 0 10px 18px;padding-left:16px}.assistant-markdown li{margin:6px 0}.message{width:100%;box-sizing:border-box;word-break:break-word}.message.assistant{background:#fff;border:1px solid #e2e8f0;padding:1rem;border-radius:.75rem;color:#1e293b}.message.user{background:#f1f5f9;padding:1rem;border-radius:.75rem;color:#0f172a}.chat-user-message-body{display:flex;flex-direction:column;gap:8px}.chat-user-message-image{width:min(220px,72vw);max-height:260px;object-fit:cover;border-radius:12px;border:1px solid #dbe2ec;background:#fff}.chat-user-message-text{white-space:pre-wrap}.typing-indicator{display:inline-block;font-size:1.5rem;letter-spacing:.2rem}.chat-streaming-reply{min-width:0;width:100%}.chat-streaming-status{display:flex;align-items:center;gap:.5rem;font-size:.85rem;opacity:.75}.typing-indicator span{animation:blink 1s infinite;opacity:.3}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes blink{0%{opacity:.2}50%{opacity:1}to{opacity:.2}}.message.assistant h1,.message.assistant h2,.message.assistant h3{font-weight:600;margin:12px 0 6px}.message.assistant ul,.message.assistant ol{padding-left:20px;margin:8px 0}.message.assistant li{margin-bottom:4px}.existing-recipes{display:flex;flex-direction:column;gap:10px}.existing-recipes-message{font-weight:600}.existing-recipes-list{display:flex;flex-direction:column;gap:8px}.existing-recipes-item{border:none;text-align:left;cursor:pointer;font:inherit;display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:10px;border:1px solid #e2e8f0;background:#f8fafc}.existing-recipes-thumb{width:48px;height:48px;border-radius:10px;overflow:hidden;background:#e2e8f0;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.existing-recipes-thumb-image{width:100%;height:100%;display:block;object-fit:cover}.existing-recipes-emoji{font-size:22px}.existing-recipes-text{display:flex;flex-direction:column;gap:2px}.existing-recipes-title{font-weight:600}.existing-recipes-item:hover{border-color:#cbd5f5;background:#eef2ff}.existing-recipes-item:focus-visible{outline:2px solid #94a3ff;outline-offset:2px}html.dark .assistant-markdown,html.dark .message.assistant{color:#e2e8f0}.message.assistant p{margin:6px 0;line-height:1.45}.message.assistant code{background:#f3f4f6;padding:2px 4px;border-radius:4px;font-size:.9rem}.message.assistant pre{background:#f5f7fb;color:#0f172a;padding:12px;border:1px solid #e2e8f0;border-radius:12px;overflow:auto;margin:12px 0;max-height:260px;font-size:.9rem}html.dark .chat-container{background:#050814;color:#e2e8f0}html.dark .message.assistant{background:#111b2a;border-color:#1e293b;color:#f1f5f9}html.dark .assistant-markdown ul,html.dark .assistant-markdown ol,html.dark .message.assistant ul,html.dark .message.assistant ol,html.dark .assistant-markdown li,html.dark .message.assistant li{color:#e2e8f0}html.dark .existing-recipes-item{background:#0b1324;border-color:#1e293b}html.dark .existing-recipes-item:hover{border-color:#334155;background:#101b2f}html.dark .existing-recipes-thumb{background:#1e293b}.chat-quick-actions{display:flex;gap:8px;padding:8px 0;margin-top:4px;overflow-x:auto;-webkit-overflow-scrolling:touch;transition:opacity .2s ease,transform .2s ease,max-height .2s ease,margin .2s ease,padding .2s ease;max-height:200px}.chat-quick-actions-header{font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-subtle, #94a3b8);margin-top:8px;transition:opacity .2s ease,transform .2s ease,max-height .2s ease,margin .2s ease,padding .2s ease;max-height:200px}.chat-quick-action-btn{flex:0 0 auto;border:1px solid var(--color-border-light);background:var(--color-bg-elevated);color:var(--color-text-main);padding:8px 10px;border-radius:999px;font-size:.85rem;font-weight:600;white-space:nowrap;cursor:pointer}html.dark .chat-quick-action-btn{border-color:var(--color-border-dark);background:var(--color-bg);color:var(--color-text-main)}.chat-placeholder-suggestions{display:flex;flex-wrap:wrap;gap:8px;padding:4px 0 8px;transition:opacity .2s ease,transform .2s ease,max-height .2s ease,margin .2s ease,padding .2s ease;max-height:200px}.chat-placeholder-btn{border:1px solid var(--color-border-light);background:#fff;color:#0f172a;padding:8px 14px;border-radius:999px;font-weight:600;cursor:pointer}html.dark .chat-placeholder-btn{border-color:var(--color-border-dark);background:var(--bg-dark-surface);color:var(--text-dark-primary)}.chat-suggested-actions{display:flex;flex-wrap:wrap;gap:8px;padding:8px 0 4px;transition:opacity .2s ease,transform .2s ease,max-height .2s ease,margin .2s ease,padding .2s ease;max-height:200px}.chat-container.is-input-focused .chat-quick-actions,.chat-container.is-input-focused .chat-quick-actions-header,.chat-container.is-input-focused .chat-placeholder-suggestions,.chat-container.is-input-focused .chat-suggested-actions{opacity:0;transform:translateY(6px);max-height:0;margin:0;padding:0;overflow:hidden;pointer-events:none}.chat-toast{background:#d9f2e0;border:1px solid var(--color-primary);color:#2f5b3c;border-radius:14px;padding:10px 12px;font-weight:700;box-shadow:0 8px 18px #0000000f;margin:6px 0 4px;display:flex;align-items:center;justify-content:space-between;gap:12px}.chat-toast-text{flex:1}.chat-toast-btn{border:1px solid rgba(47,91,60,.35);background:transparent;color:inherit;border-radius:999px;padding:6px 12px;font-weight:700;cursor:pointer}.chat-swap-actions{display:flex;flex-wrap:wrap;gap:8px;padding:6px 0 2px}.chat-swap-btn{border:1px solid var(--color-border-light);background:var(--color-bg-elevated);color:var(--color-text-main);padding:8px 12px;border-radius:12px;font-size:.9rem;font-weight:700;cursor:pointer}.chat-swap-btn-secondary{background:transparent}.chat-suggested-action-btn{border:1px solid var(--color-border-light);background:var(--color-bg-elevated);color:var(--color-text-main);padding:8px 12px;border-radius:12px;font-size:.9rem;font-weight:700;cursor:pointer}html.dark .chat-suggested-action-btn{border-color:var(--color-border-dark);background:var(--color-bg);color:var(--color-text-main)}html.dark .chat-toast{background:#193124;border-color:#2a5b3d;color:#d3f0da}html.dark .chat-toast-btn{border-color:#d3f0da59}html.dark .chat-swap-btn{border-color:var(--color-border-dark);background:var(--color-bg);color:var(--color-text-main)}html.dark .add-to-planner-btn{background:#f8e6d5;color:#0f172a}html.dark .meal-plan-preview{background:var(--bg-dark-surface);border-color:var(--border-dark-subtle);box-shadow:var(--shadow-dark-elevated)}.chat-input-bar{display:block;padding:0;background:transparent;position:relative;pointer-events:none}.chat-input-stack{display:flex;flex-direction:column;gap:8px;pointer-events:none}.native-ios-shell .chat-container{--chat-composer-bottom: max(env(safe-area-inset-bottom, 0px), 12px)}.native-ios-shell.keyboard-open .chat-container{--chat-composer-bottom: var(--keyboard-height, 0px)}.chat-input-bar:before{content:none}.native-ios-shell.keyboard-open .chat-input-bar:before{content:none}.chat-input-shell{display:flex;align-items:center;gap:6px;border:1px solid rgba(148,163,184,.32);background:#fffffff2;border-radius:24px;padding:6px 8px;box-shadow:0 18px 34px #1f2a361f,0 2px #ffffffb8 inset;pointer-events:auto}.chat-input-shell:focus-within{border-color:#94a3b87a;box-shadow:none}.chat-input-action-wrap{position:relative;flex:0 0 auto}.chat-plus-btn{border:1px solid transparent;background:transparent;color:#334155;border-radius:18px;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-weight:700;line-height:1;box-shadow:none;transition:background-color .14s ease,border-color .14s ease,color .14s ease}.chat-plus-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round}.chat-plus-btn:hover:not(:disabled){background:transparent;border-color:transparent;color:#334155}.chat-plus-btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.chat-plus-btn:focus-visible,.dictate-btn:focus-visible,.chat-input-action-item:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.chat-input-actions-menu{position:absolute;left:0;bottom:calc(100% + 10px);width:clamp(200px,44.8vw,237px);max-width:calc(100vw - 32px);max-height:300px;overflow-y:auto;border:1px solid var(--glass-chrome-border);border-radius:16px;background:var(--glass-chrome-bg-strong);backdrop-filter:var(--glass-chrome-blur);-webkit-backdrop-filter:var(--glass-chrome-blur);box-shadow:var(--glass-chrome-shadow),var(--glass-chrome-highlight);padding:8px;z-index:20;animation:chatInputMenuIn .18s ease}@supports not (backdrop-filter: blur(2px)){.chat-input-actions-menu{background:#fff}}.chat-input-actions-section+.chat-input-actions-section{margin-top:6px;padding-top:6px;border-top:1px solid #e2e8f0}.chat-input-actions-title{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#64748b;padding:0 6px 4px}.chat-input-action-item{width:100%;border:1px solid rgba(255,255,255,.12);background:#ffffff29;color:#0f172a;display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;text-align:left;font-size:.93rem;font-weight:650;cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease}.chat-input-action-item:hover:not(:disabled){background:#ffffff4d;border-color:#fff3}.chat-input-action-item:disabled{opacity:.58;cursor:not-allowed}.chat-input-action-item-icon{width:20px;height:20px;color:#334155;flex:0 0 auto}.chat-input-action-item-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.chat-image-preview{display:flex;align-items:flex-start;margin:0 0 8px;pointer-events:auto}.chat-image-preview-thumb{position:relative;width:64px;height:64px}.chat-image-preview img{width:64px;height:64px;border-radius:12px;object-fit:cover;border:1px solid #e2e8f0;background:#fff}.chat-image-remove{position:absolute;top:6px;right:6px;width:20px;height:20px;border:1px solid #d6dce6;background:#fff;color:#334155;border-radius:999px;padding:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 1px 4px #0f172a2e}.chat-image-remove svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round}.chat-image-remove:hover{border-color:#c2ccd9;color:#1e293b}.chat-image-remove:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.chat-input-bar textarea{flex:1;border:none;border-radius:16px;padding:9px 8px 9px 2px;min-height:24px;max-height:180px;resize:none;font-family:var(--font-body);font-size:15px;line-height:1.35;background:transparent;outline:none;box-shadow:none;align-self:center}.chat-input-bar textarea::placeholder{color:#94a3b8}.dictate-btn{border:1px solid transparent;background:transparent;color:#64748b;border-radius:16px;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer;transition:background-color .14s ease,border-color .14s ease,color .14s ease;position:relative;overflow:hidden}.dictate-btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.dictate-btn:hover:not(:disabled){background:transparent;border-color:transparent;color:#64748b}.dictate-btn.is-active{background:linear-gradient(180deg,#a4c1a257,#a4c1a238);border-color:#85a584c7;color:#2f5b3c;box-shadow:0 0 0 1px #85a5841f inset,0 8px 18px #85a5842e}.dictate-btn.is-active:after{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border-radius:999px;border:1px solid rgba(133,165,132,.45);animation:dictatePulse 1.25s ease-out infinite;pointer-events:none}.dictate-btn.is-active svg{animation:dictateMicBob .8s ease-in-out infinite}.dictate-btn.is-unavailable{color:#94a3b8}.dictate-btn:disabled{opacity:.45;cursor:not-allowed}.send-btn{border:1px solid rgba(133,165,132,.55);background:var(--color-primary);color:#193020;border-radius:999px;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer;box-shadow:0 8px 20px #a4c1a28c;transition:transform .12s ease,box-shadow .12s ease}.send-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.send-btn:active:not(:disabled){transform:translateY(1px) scale(.98);box-shadow:0 6px 16px #a4c1a280}.send-btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.save-recipe-btn{margin-top:8px;padding:8px 12px;background:var(--color-primary);border:none;border-radius:8px;color:#0f172a;font-weight:600;cursor:pointer}.save-recipe-btn:hover{opacity:.9}.add-to-planner-btn{margin-top:8px;padding:8px 12px;background:#f8e6d5;border:none;border-radius:8px;color:#0f172a;font-weight:600;cursor:pointer;box-shadow:none}.add-to-planner-btn:hover{opacity:.9;box-shadow:none}.add-to-planner-btn+.save-recipe-btn,.save-recipe-btn+.add-to-planner-btn{margin-left:8px}.apply-plan-btn{margin-top:6px;padding:8px 12px;background:var(--color-primary);border:none;border-radius:8px;font-weight:600;cursor:pointer;color:#0f172a}.apply-plan-btn:hover{opacity:.9}.meal-plan-preview{margin-top:10px;background:var(--color-bg-elevated);border:1px solid var(--color-border-light);border-radius:18px;padding:8px 0;box-shadow:0 10px 24px #0000000f}.meal-plan-day+.meal-plan-day{border-top:1px solid color-mix(in srgb,var(--color-border-light) 88%,transparent)}.meal-plan-day{display:grid;grid-template-columns:minmax(108px,128px) minmax(0,1fr);gap:14px;align-items:start;padding:14px 16px}.meal-plan-day-heading{display:flex;flex-direction:column;gap:3px}.meal-plan-day-title{font-weight:700;color:var(--color-text-main);font-size:.98rem;line-height:1.1}.meal-plan-day-date{font-weight:600;font-size:12px;color:var(--color-text-muted);line-height:1.1}.meal-plan-meals{display:flex;flex-direction:column;gap:8px}.meal-plan-item{display:grid;grid-template-columns:minmax(92px,112px) minmax(0,1fr);gap:12px;align-items:start;color:var(--color-text-main)}.meal-plan-item-label{font-weight:700;color:var(--color-text-muted);font-size:.84rem;line-height:1.35;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.meal-plan-item-title{font-weight:600;line-height:1.35;min-width:0}@media (max-width: 560px){.meal-plan-day{grid-template-columns:1fr;gap:10px}.meal-plan-day-heading{flex-direction:row;align-items:baseline;flex-wrap:wrap;gap:8px}.meal-plan-item{grid-template-columns:minmax(84px,96px) minmax(0,1fr);gap:10px}}.apply-meal-plan-modal{max-width:430px;padding:18px;border-radius:28px;background:radial-gradient(120% 120% at 100% 0%,rgba(164,193,162,.2),transparent 42%),linear-gradient(180deg,#fffffffc,#faf7f1fa);border:1px solid rgba(206,199,184,.78);box-shadow:0 22px 54px #0f172a2e,inset 0 1px #fffc}.modal-backdrop.modal-backdrop--chat-over{z-index:2600}.modal-backdrop.apply-confirm-backdrop{z-index:2700}.apply-meal-plan-modal .modal-header{align-items:flex-start;padding-bottom:2px}.apply-meal-plan-modal .modal-title{font-size:20px;letter-spacing:-.02em}.apply-meal-plan-modal .modal-body{margin-top:8px}.apply-meal-plan-intro{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:18px;background:#ffffffd1;border:1px solid rgba(225,217,204,.84);box-shadow:0 10px 24px #0f172a0f}.apply-meal-plan-intro-icon{width:44px;height:44px;border-radius:14px;background:var(--color-primary);color:#0f172a;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 10px 18px #1f2a361f}.apply-meal-plan-intro-icon svg{width:22px;height:22px}.apply-meal-plan-intro-copy{min-width:0;display:flex;flex-direction:column;gap:4px}.apply-meal-plan-intro-copy p{margin:0;font-size:15px;font-weight:700;color:var(--color-text-main)}.apply-meal-plan-intro-copy span{font-size:13px;line-height:1.45;color:var(--color-text-muted)}.apply-meal-plan-options{display:flex;flex-direction:column;gap:10px;margin-top:14px}.apply-meal-plan-option{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;padding:14px 16px;border-radius:18px;border:1px solid var(--color-border-light);background:var(--color-bg-elevated);color:var(--color-text-main);box-shadow:0 12px 28px #0f172a0f;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background .15s ease}.apply-meal-plan-option:hover:not(:disabled){transform:translateY(-1px);border-color:#a4c1a2eb;box-shadow:0 16px 34px #0f172a14}.apply-meal-plan-option:active:not(:disabled){transform:translateY(1px)}.apply-meal-plan-option:disabled{cursor:not-allowed;opacity:.9}.apply-meal-plan-option--current{background:radial-gradient(120% 120% at 100% 0%,rgba(164,193,162,.18),transparent 44%),linear-gradient(180deg,#f7fbf6fa,#f2f8f0fa)}.apply-meal-plan-option--next{background:radial-gradient(120% 120% at 100% 0%,rgba(217,234,243,.16),transparent 44%),linear-gradient(180deg,#fffffffa,#f9fbfcfa)}.apply-meal-plan-option-copy{min-width:0;display:flex;flex-direction:column;gap:4px}.apply-meal-plan-option-title{font-size:16px;font-weight:800;letter-spacing:-.01em}.apply-meal-plan-option-subtitle{font-size:13px;line-height:1.45;color:var(--color-text-muted)}.apply-meal-plan-option-meta{flex:0 0 auto;width:34px;height:34px;border-radius:999px;background:#0f172a0f;display:inline-flex;align-items:center;justify-content:center;color:var(--color-text-main)}.apply-meal-plan-option--current .apply-meal-plan-option-meta{background:#a4c1a24d}.apply-meal-plan-option-arrow-icon{width:18px;height:18px;stroke-width:2.4}.apply-meal-plan-footer{display:flex;justify-content:flex-end;margin-top:14px}.apply-meal-plan-cancel{min-width:112px}.apply-confirm-modal{max-width:420px;padding:18px;border-radius:26px;background:radial-gradient(120% 120% at 100% 0%,rgba(245,192,126,.18),transparent 40%),linear-gradient(180deg,#fffffffc,#fbf7f1fa)}.apply-confirm-copy{display:flex;flex-direction:column;gap:14px}.apply-confirm-warning{display:flex;align-items:flex-start;gap:12px;padding:14px;border-radius:18px;border:1px solid rgba(214,180,104,.42);background:#fff8ebeb}.apply-confirm-warning-icon{width:32px;height:32px;border-radius:999px;flex:0 0 auto;background:#f4b63f;color:#0f172a;display:inline-flex;align-items:center;justify-content:center;font-weight:900;box-shadow:0 8px 16px #7a5d232e}.apply-confirm-warning-title{font-size:15px;font-weight:800;color:var(--color-text-main)}.apply-confirm-warning-subtitle{margin-top:4px;font-size:13px;line-height:1.45;color:var(--color-text-muted)}.apply-confirm-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:14px}.apply-confirm-continue{min-width:168px}.meal-plan-toast{position:fixed;top:calc(env(safe-area-inset-top,0px) + 88px);left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;z-index:2850;width:min(92vw,420px);padding:14px 16px;border-radius:18px;background:radial-gradient(120% 120% at 100% 0%,rgba(164,193,162,.22),transparent 40%),linear-gradient(180deg,#fffffffc,#f8fcf6fa);border:1px solid rgba(164,193,162,.58);box-shadow:0 20px 50px #0f172a29,inset 0 1px #ffffffd6;animation:mealPlanToastIn .18s cubic-bezier(.22,1,.36,1);pointer-events:none}.meal-plan-toast-icon{width:40px;height:40px;flex:0 0 auto;border-radius:14px;background:var(--color-primary);color:#0f172a;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 10px 18px #1f2a361f}.meal-plan-toast-icon svg{width:22px;height:22px}.meal-plan-toast-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.meal-plan-toast-title{font-size:15px;font-weight:800;color:var(--color-text-main)}.meal-plan-toast-details{font-size:13px;color:var(--color-text-muted)}@keyframes mealPlanToastIn{0%{opacity:0;transform:translate(-50%) translateY(-8px) scale(.98)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}html.dark .apply-meal-plan-modal{background:radial-gradient(120% 120% at 100% 0%,rgba(68,121,86,.24),transparent 42%),linear-gradient(180deg,#0e1d30fa,#091527fa);border-color:#647e9b5c;box-shadow:0 30px 62px #00000085,inset 0 1px #ffffff08}html.dark .apply-meal-plan-intro,html.dark .apply-meal-plan-option{background:var(--bg-dark-surface);border-color:var(--border-dark-subtle);box-shadow:var(--shadow-dark-elevated)}html.dark .apply-meal-plan-intro-copy p,html.dark .apply-meal-plan-option-title,html.dark .apply-meal-plan-modal .modal-title{color:var(--text-dark-primary)}html.dark .apply-meal-plan-intro-copy span,html.dark .apply-meal-plan-option-subtitle{color:var(--text-dark-secondary)}html.dark .apply-meal-plan-intro-icon{color:#0f172a}html.dark .apply-meal-plan-option-meta{background:#ffffff0f;color:var(--text-dark-primary)}html.dark .apply-meal-plan-option--current{background:radial-gradient(120% 120% at 100% 0%,rgba(80,117,83,.24),transparent 44%),linear-gradient(180deg,#132331fa,#0f1d2afa)}html.dark .apply-meal-plan-option--next{background:radial-gradient(120% 120% at 100% 0%,rgba(84,109,134,.18),transparent 44%),linear-gradient(180deg,#121f2efa,#0d1927fa)}html.dark .apply-meal-plan-option--current .apply-meal-plan-option-meta{background:#a4c1a22e}html.dark .apply-confirm-modal{background:radial-gradient(120% 120% at 100% 0%,rgba(245,192,126,.16),transparent 40%),linear-gradient(180deg,#0e1d30fa,#091527fa);border:1px solid rgba(100,126,155,.36)}html.dark .apply-confirm-warning{background:#182232eb;border-color:#f5c07e33}html.dark .apply-confirm-warning-title,html.dark .meal-plan-toast-title{color:var(--text-dark-primary)}html.dark .apply-confirm-warning-subtitle,html.dark .meal-plan-toast-details{color:var(--text-dark-secondary)}html.dark .apply-confirm-warning-icon,html.dark .meal-plan-toast-icon{color:#0f172a}html.dark .meal-plan-toast{background:radial-gradient(120% 120% at 100% 0%,rgba(68,121,86,.22),transparent 40%),linear-gradient(180deg,#0e1d30fc,#091527fa);border-color:#647e9b5c;box-shadow:0 24px 56px #00000080,inset 0 1px #ffffff0a}@media (max-width: 420px){.apply-confirm-modal{padding:16px}.apply-confirm-actions{flex-direction:column-reverse}.apply-confirm-continue{min-width:0}.meal-plan-toast{width:min(94vw,420px);top:calc(env(safe-area-inset-top,0px) + 76px)}}@media (max-width: 420px){.apply-meal-plan-modal{padding:16px}.apply-meal-plan-option{padding:13px 14px}.apply-meal-plan-option-title{font-size:15px}}.new-chat-btn{position:static;height:36px;border:none;border-radius:12px;background:#a5c1a3;cursor:pointer;color:#0f172a;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 10px;font-size:.84rem;font-weight:700;line-height:1;white-space:nowrap}.new-chat-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}.new-chat-btn:hover{background:#f8fafc}html.dark .chat-container{background:var(--bg-dark-page);color:var(--text-dark-primary)}html.dark .chat-header p{color:var(--text-dark-secondary)}html.dark .chat-messages{gap:10px}html.dark .chat-row{margin-bottom:10px}html.dark .message{max-width:86%}html.dark .message.assistant{background:var(--bg-dark-surface);border:1px solid var(--border-dark-subtle);color:var(--text-dark-primary);margin-right:auto}html.dark .message.user{background:var(--bg-dark-surface-elevated);border:1px solid var(--border-dark-subtle);color:var(--text-dark-primary);margin-left:auto}html.dark .chat-user-message-image{border-color:var(--border-dark-subtle);background:var(--bg-dark-surface)}html.dark .message.system,html.dark .message.welcome{background:var(--bg-dark-surface);border:1px dashed var(--border-dark-subtle);color:var(--text-dark-secondary);margin-right:auto}html.dark .assistant-markdown code,html.dark .message.assistant code{background:#ffffff0d;color:var(--text-dark-primary)}html.dark .message.assistant pre{background:var(--bg-dark-surface-elevated);border-color:var(--border-dark-subtle);color:var(--text-dark-primary)}html.dark .chat-messages:empty:before{content:"Ask me anything about your pantry or meals.";color:var(--text-dark-secondary);font-size:14px;padding:12px 0;display:block;text-align:center;background:linear-gradient(90deg,#ffffff05,#ffffff0a,#ffffff05);border-radius:12px}html.dark .chat-input-bar{background:transparent}html.dark .chat-input-bar:before{content:none}html.dark .chat-input-shell{border-color:#94a3b83d;background:#0f172aeb;box-shadow:0 22px 40px #0206176b,0 1px #ffffff0a inset}html.dark .chat-input-shell:focus-within{border-color:#94a3b85c;box-shadow:none}html.dark .chat-input-bar textarea{border-color:transparent;background:transparent;color:var(--text-dark-primary);box-shadow:none}html.dark .chat-input-bar textarea::placeholder{color:var(--text-dark-secondary)}html.dark .chat-input-bar textarea:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;box-shadow:0 0 0 2px #92be9740}html.dark .chat-plus-btn{background:transparent;border-color:transparent;color:var(--text-dark-primary);box-shadow:none}html.dark .chat-plus-btn:hover:not(:disabled){background:transparent;border-color:transparent;box-shadow:none;color:var(--text-dark-primary)}html.dark .chat-image-remove{background:#fff;border-color:#d6dce6;color:#334155;box-shadow:0 1px 4px #0f172a4d}html.dark .dictate-btn{color:var(--text-dark-secondary)}html.dark .dictate-btn:hover:not(:disabled){background:transparent;border-color:transparent;color:var(--text-dark-secondary)}html.dark .dictate-btn.is-active{background:#85a5843d;border-color:#85a5848c;color:#cde5cf}html.dark .dictate-btn.is-active:after{border-color:#85a58480}html.dark .chat-input-actions-menu{border-color:var(--glass-chrome-border);background:var(--glass-chrome-bg-strong);box-shadow:var(--glass-chrome-shadow),var(--glass-chrome-highlight)}@supports not (backdrop-filter: blur(2px)){html.dark .chat-input-actions-menu{background:#0f172a}}html.dark .chat-input-actions-section+.chat-input-actions-section{border-top-color:var(--border-dark-subtle)}html.dark .chat-input-actions-title{color:var(--text-dark-secondary)}html.dark .chat-input-action-item{color:var(--text-dark-primary)}html.dark .chat-input-action-item:hover:not(:disabled){background:#ffffff14;border-color:#ffffff1a}html.dark .chat-input-action-item-icon{color:var(--text-dark-secondary)}html.dark .chat-image-preview img{border-color:var(--border-dark-subtle);background:var(--bg-dark-surface)}html.dark .send-btn{border-color:#85a58473;box-shadow:0 10px 22px #00000059}html.dark .chat-quick-actions,html.dark .chat-suggested-actions{gap:6px}html.dark .chat-quick-action-btn,html.dark .chat-suggested-action-btn{background:var(--bg-dark-surface);border-color:var(--border-dark-subtle);color:var(--text-dark-secondary);box-shadow:none}html.dark .chat-quick-action-btn:hover,html.dark .chat-suggested-action-btn:hover{color:var(--text-dark-primary);border-color:var(--border-dark-strong)}html.dark .chat-quick-action-btn,html.dark .chat-suggested-action-btn{font-weight:600}@keyframes chatInputMenuIn{0%{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes dictatePulse{0%{opacity:.75;transform:scale(.88)}70%{opacity:0;transform:scale(1.22)}to{opacity:0;transform:scale(1.22)}}@keyframes dictateMicBob{0%{transform:translateY(0)}50%{transform:translateY(-1.5px)}to{transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.chat-input-actions-menu{animation:none}.dictate-btn.is-active:after,.dictate-btn.is-active svg{animation:none}}@keyframes bubbleIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.chat-recipe-edit{margin-top:12px;padding:12px;border:1px solid var(--border-color, #cdd5ca);border-radius:12px}.chat-recipe-edit details{margin-top:10px}.chat-recipe-edit summary{cursor:pointer}.chat-recipe-edit li{overflow-wrap:anywhere}.chat-recipe-edit [role=alert]{color:var(--error-color, #b33a30)}.chat-floating-close{display:none}.chat-streaming-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55;margin-bottom:10px}.chat-sheet-overlay{--chat-paper: var(--redesign-paper);--chat-cream: var(--redesign-cream);--chat-ink: var(--redesign-ink);--chat-muted: var(--redesign-muted);--chat-line: color-mix(in srgb, var(--chat-muted) 19%, transparent);--chat-pad: clamp(16px, 5vw, 24px)}.chat-sheet-overlay.has-backdrop .bottom-sheet-backdrop{background:#26342250;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.chat-sheet-overlay .chat-floating-sheet{width:min(100%,680px);max-width:none;height:min(860px,calc(var(--vv-height, 100dvh) * .91));max-height:none;border:1px solid var(--chat-line);border-bottom:0;border-radius:30px 30px 0 0;box-shadow:0 -12px 70px #26362624;background:var(--chat-paper);transition-timing-function:cubic-bezier(.2,.75,.2,1)}.chat-floating-sheet .chat-container{padding:0;background:linear-gradient(150deg,var(--chat-cream),var(--chat-paper));color:var(--redesign-card-title)}.chat-container .chat-grab-zone{min-height:23px;padding:8px 0;cursor:grab}.chat-container .chat-grab-bar{width:38px;height:4px;background:var(--chat-line)}.chat-container .chat-grab-zone:hover .chat-grab-bar{background:var(--chat-muted)}.chat-container .chat-header{padding:4px var(--chat-pad) 17px}.chat-container .chat-header-row{padding:0;gap:6px}.chat-identity{display:flex;align-items:center;gap:11px;min-width:0;margin-right:auto}.chat-avatar{display:grid;place-items:center;flex:none;background:linear-gradient(145deg,var(--redesign-leaf),var(--redesign-sage));color:var(--chat-muted);border-radius:15px}.chat-avatar{width:43px;height:43px}.chat-avatar img{width:24px;height:24px}.chat-identity h2{margin:0;font:700 clamp(1.13rem,4.9vw,1.5rem)/1.1 var(--redesign-heading);letter-spacing:-.035em}.chat-identity p,html.dark .chat-identity p{margin:4px 0 0;font-size:.69rem;color:var(--chat-muted)}.chat-container .new-chat-btn,.chat-container .chat-floating-close{display:inline-flex;align-items:center;justify-content:center;flex:none;min-height:42px;padding:0;color:var(--chat-ink);background:var(--redesign-sage);border:0;border-radius:999px;cursor:pointer}.chat-container .new-chat-btn{min-width:75px;padding-inline:11px;font-size:.78rem}.chat-container .new-chat-btn svg{stroke-width:1.9;stroke-linejoin:round}.chat-container .chat-floating-close{width:42px;background:var(--redesign-oat)}.chat-floating-close svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.chat-container .new-chat-btn:hover,.chat-container .chat-floating-close:hover{background:var(--redesign-leaf)}.chat-recipe-context{display:flex;align-items:center;flex-shrink:0;gap:11px;margin:0 var(--chat-pad);padding:8px 0;border-block:1px solid var(--chat-line)}.chat-recipe-context-photo{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:10px;object-fit:cover;overflow:hidden;background:var(--redesign-sage)}.chat-recipe-context>div{min-width:0}.chat-recipe-context>div>span{display:block;margin-bottom:3px;font-size:.68rem;color:var(--chat-muted)}.chat-recipe-context strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem}.chat-container .chat-messages{gap:17px;padding:16px var(--chat-pad);margin-bottom:calc(var(--chat-composer-height, 112px) + var(--chat-composer-bottom) + 12px)}.chat-container:has(.chat-welcome) .chat-header{padding-bottom:4px}.chat-container .chat-messages:has(>.chat-welcome){padding-top:8px}.chat-welcome{display:grid;justify-items:start;gap:7px}.chat-welcome-kicker{color:var(--chat-muted);font-size:.63rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.chat-welcome h3{margin:0;color:var(--chat-ink);font:700 clamp(1.9rem,7vw,2.7rem)/1.08 var(--redesign-heading);letter-spacing:-.04em;text-wrap:balance}.chat-welcome p{max-width:36ch;margin:0;color:var(--chat-muted);font-size:.89rem;line-height:1.6}.chat-container .message.assistant,html.dark .chat-container .message.assistant{max-width:none;padding:0;border:0;background:transparent;color:inherit;font-size:.96rem;line-height:1.65}.chat-container .message.user,html.dark .chat-container .message.user{width:fit-content;max-width:86%;margin-left:auto;padding:12px 15px;background:var(--redesign-sage);color:var(--chat-ink);border:1px solid var(--chat-line);border-radius:19px 19px 5px}.chat-user-message-body .chat-user-message-image{max-width:100%;border:0;object-fit:contain}.chat-answer-label,.chat-copy-reply{display:flex;align-items:center;gap:7px;color:var(--chat-muted);font-size:.72rem;font-weight:700}.chat-answer-label img,.chat-copy-reply svg{width:16px;height:16px}.chat-container .chat-copy-reply{min-height:36px;padding:0 5px;border:0;border-radius:8px;background:transparent;cursor:pointer}.chat-container .chat-copy-reply:hover{background:var(--redesign-sage)}.chat-container .message.assistant blockquote{border-inline-start-color:var(--redesign-action)}.chat-container .chat-input-bar{padding-inline:max(12px,calc(var(--chat-pad) - 6px))}.chat-container .chat-input-stack{gap:9px}.chat-starter-prompts{display:flex;gap:7px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none;padding:2px 3px 3px;pointer-events:auto}.chat-starter-prompts button{display:inline-flex;align-items:center;flex:none;gap:7px;min-height:36px;padding:4px 11px;border:1px solid var(--chat-line);border-radius:20px;color:var(--chat-muted);background:color-mix(in srgb,var(--redesign-sage) 60%,var(--chat-cream));font:inherit;font-size:.73rem;cursor:pointer}.chat-starter-prompts button:hover{background:var(--redesign-leaf)}.chat-starter-prompts svg{width:12px;height:12px}.chat-container .chat-input-shell,html.dark .chat-container .chat-input-shell{display:block;padding:12px 10px 7px;border-radius:22px;border:1px solid var(--chat-line);background:var(--chat-cream);box-shadow:0 5px 20px #3a4d2610}.chat-container .chat-input-shell:focus-within,html.dark .chat-container .chat-input-shell:focus-within{border-color:var(--chat-muted)}.chat-container .chat-image-preview{align-items:center;gap:10px;padding:6px;border-radius:12px;color:var(--chat-ink);background:var(--redesign-sage);font-size:.78rem}.chat-container .chat-image-preview-thumb,.chat-container .chat-image-preview img{width:42px;height:42px;border:0;border-radius:8px}.chat-container .chat-image-preview .chat-image-remove{position:static;width:36px;height:36px;margin-left:auto;border:0;color:var(--chat-ink);background:var(--chat-cream);box-shadow:none}.chat-container .chat-input-shell textarea,html.dark .chat-container .chat-input-shell textarea{display:block;width:100%;min-height:46px;max-height:min(120px,20dvh);padding:2px 5px;color:var(--redesign-card-title);font-size:16px;background:transparent;border-radius:0;line-height:1.45}.chat-container .chat-input-shell textarea::placeholder,html.dark .chat-container .chat-input-shell textarea::placeholder{color:var(--chat-muted);opacity:.86}.chat-composer-tools{display:flex;align-items:center;gap:5px}.chat-composer-hint{flex:1;font-size:.65rem;color:var(--chat-muted)}.chat-container .chat-plus-btn,.chat-container .dictate-btn{border-radius:50%;color:var(--chat-muted)}.chat-container .chat-plus-btn:hover:not(:disabled),.chat-container .dictate-btn:hover:not(:disabled){background:var(--redesign-sage);color:var(--chat-ink)}.chat-container .send-btn,html.dark .chat-container .send-btn{background:var(--redesign-action);color:var(--redesign-action-ink);border:0;box-shadow:none}.chat-container .send-btn:disabled{background:var(--redesign-sage);color:var(--chat-muted);opacity:.66}.chat-container .chat-input-actions-menu,html.dark .chat-container .chat-input-actions-menu{background:var(--chat-cream);border-color:var(--chat-line);max-height:min(300px,55dvh);overscroll-behavior:contain}.chat-container .chat-input-action-item,html.dark .chat-container .chat-input-action-item{color:var(--chat-ink);border:0;background:transparent;min-height:42px}.chat-container .chat-input-action-item:hover:not(:disabled){background:var(--redesign-sage)}.chat-container .chat-input-actions-title,.chat-container .chat-input-action-item-icon{color:var(--chat-muted)}.chat-camera-modal .modal-body{display:grid;gap:12px}.chat-camera-preview{width:100%;max-height:min(42dvh,320px);aspect-ratio:4 / 3;object-fit:contain;border-radius:14px;background:var(--redesign-oat)}.chat-camera-preview[hidden]{display:none}.chat-camera-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.chat-voice-status{display:flex;align-items:center;gap:10px;border-radius:14px;background:var(--redesign-sage);color:var(--chat-ink);font-size:.77rem;font-weight:700;padding:4px 12px;pointer-events:auto}.chat-voice-status button{margin-left:auto;min-height:36px;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.chat-voice-wave{display:flex;align-items:center;gap:3px;height:24px}.chat-voice-wave i{width:2px;height:11px;border-radius:2px;background:currentColor;animation:chat-voice-wave .75s ease-in-out infinite alternate}.chat-voice-wave i:nth-child(3n){height:20px;animation-delay:-.3s}.chat-voice-wave i:nth-child(3n+1){height:15px;animation-delay:-.5s}@keyframes chat-voice-wave{to{transform:scaleY(.45)}}.chat-floating-sheet .chat-container{--chat-composer-bottom: max(12px, env(safe-area-inset-bottom, 0px))}.native-ios-shell.keyboard-open .chat-floating-sheet .chat-container{--chat-composer-bottom: var(--keyboard-height, 0px)}.chat-container :is(button,.chat-messages):focus-visible{outline:2px solid var(--chat-muted);outline-offset:-2px}.chat-floating-sheet:focus{outline:none}.chat-container .chat-messages>div:has(>.message.user){animation:bubbleIn .22s ease-out}@media (min-width: 800px) and (orientation: landscape){.chat-sheet-overlay{--chat-side-gap: clamp(14px, 2vw, 24px);justify-content:flex-end;padding:var(--chat-side-gap);padding-bottom:calc(var(--chat-side-gap) + var(--keyboard-inset, 0px))}.chat-sheet-overlay .chat-floating-sheet{width:min(540px,53vw);height:calc(var(--vv-height, 100dvh) - 2 * var(--chat-side-gap));border-bottom:1px solid var(--chat-line);border-radius:28px;transform:translate3d(calc(100% + var(--chat-side-gap)),var(--bottom-sheet-drag-offset),0)}.chat-sheet-overlay .chat-floating-sheet.is-open{transform:translate3d(0,var(--bottom-sheet-drag-offset),0)}}html.native-expanded-landscape .chat-sheet-overlay{--chat-side-gap: 16px;justify-content:flex-end;padding:var(--chat-side-gap);padding-bottom:calc(var(--chat-side-gap) + var(--keyboard-height, 0px) + var(--native-scroll-bottom-inset, 0px))}html.native-expanded-landscape .chat-floating-sheet{width:min(540px,53vw);height:calc(var(--native-content-height, 100dvh) - var(--keyboard-height, 0px) - var(--native-scroll-bottom-inset, 0px) - 2 * var(--chat-side-gap));border-bottom:1px solid var(--chat-line);border-radius:28px;transform:translate3d(calc(100% + var(--chat-side-gap)),var(--bottom-sheet-drag-offset),0)}html.native-expanded-landscape .chat-floating-sheet.is-open{transform:translate3d(0,var(--bottom-sheet-drag-offset),0)}html.native-expanded-landscape .chat-floating-sheet .chat-container,html.native-expanded-landscape.keyboard-open .chat-floating-sheet .chat-container{--chat-composer-bottom: 12px}@media (max-height: 550px) and (orientation: landscape){.chat-container .chat-header{padding-bottom:9px}.chat-container .chat-grab-zone{min-height:16px;padding:5px 0}.chat-avatar{width:36px;height:36px}.chat-container .chat-messages{padding-block:10px}.chat-welcome{gap:5px}.chat-welcome h3{font-size:1.7rem}.chat-container .chat-input-shell textarea{min-height:28px}}@media (prefers-reduced-motion: reduce){.chat-sheet-overlay .chat-floating-sheet,html.native-expanded-landscape .chat-floating-sheet,.chat-sheet-overlay .bottom-sheet-backdrop{transition:none}.chat-container .chat-messages{scroll-behavior:auto}.chat-container .chat-messages>div:has(>.message.user),.chat-voice-wave i,.chat-container .typing-indicator span{animation:none}}.onboarding-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2200;display:flex;align-items:flex-end;justify-content:center;padding:18px 18px calc(env(safe-area-inset-bottom) + 18px);background:#0f172a52;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.onboarding-sheet{width:min(100%,440px);border-radius:28px;border:1px solid rgba(207,199,184,.72);background:radial-gradient(120% 120% at 100% 0%,rgba(164,193,162,.28),transparent 42%),linear-gradient(180deg,#fcfaf5fa,#f5f1e8fa);box-shadow:0 28px 60px #0f172a2e,inset 0 1px #fffc;padding:18px;display:flex;flex-direction:column;gap:18px;animation:onboarding-sheet-in .32s cubic-bezier(.22,1,.36,1)}.onboarding-skip{margin-left:auto;border:none;background:transparent;color:#5b6878;font-size:13px;font-weight:700;cursor:pointer}.onboarding-progress{display:flex;align-items:center;gap:8px}.onboarding-progress-dot{width:8px;height:8px;border-radius:999px;background:#94a3b86b;transition:width .18s ease,background-color .18s ease}.onboarding-progress-dot.is-active{width:28px;background:#79a575f0}.onboarding-illustration{min-height:150px;border-radius:24px;border:1px solid rgba(207,199,184,.58);background:radial-gradient(120% 100% at 0% 0%,rgba(255,255,255,.92),transparent 46%),linear-gradient(135deg,#aac6a3e6,#e4ebe3eb);position:relative;overflow:hidden}.onboarding-illustration--welcome{display:grid;place-items:center}.onboarding-orb{width:118px;height:118px;border-radius:999px;background:#ffffffb3;box-shadow:0 20px 36px #3f5d4529}.onboarding-orb--small{position:absolute;right:28px;bottom:18px;width:48px;height:48px;background:#79a575db}.onboarding-illustration--recipes{padding:20px}.onboarding-mini-card{width:72%;height:84px;border-radius:22px;background:#fffc;box-shadow:0 16px 30px #0f172a14}.onboarding-mini-card--offset{position:absolute;right:20px;bottom:18px;width:56%;height:72px;background:#f5f8f0f2}.onboarding-illustration--planner{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:18px}.onboarding-illustration--planner span{border-radius:18px;background:#ffffffc2}.onboarding-illustration--grocery{padding:18px;display:flex;flex-direction:column;gap:12px}.onboarding-check-row{height:26px;border-radius:999px;background:#ffffffbd}.onboarding-copy{display:flex;flex-direction:column;gap:8px}.onboarding-eyebrow{color:#607287;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.onboarding-title{margin:0;color:#172033;font-family:var(--font-display);font-size:32px;line-height:.98;letter-spacing:-.03em}.onboarding-body{margin:0;color:#556273;font-size:15px;line-height:1.45}.onboarding-actions{display:flex;align-items:center;gap:10px}.onboarding-back,.onboarding-next{flex:1;min-height:48px}@keyframes onboarding-sheet-in{0%{opacity:0;transform:translateY(44px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.onboarding-sheet{animation:none}}html.dark .onboarding-overlay{background:#0206178a}html.dark .onboarding-sheet{border-color:#647e9b5c;background:radial-gradient(120% 120% at 100% 0%,rgba(68,121,86,.24),transparent 42%),linear-gradient(180deg,#0e1d30fa,#091527fa);box-shadow:0 30px 62px #00000085,inset 0 1px #ffffff08}html.dark .onboarding-skip,html.dark .onboarding-eyebrow,html.dark .onboarding-body{color:#d1dce9d1}html.dark .onboarding-title{color:#f4f7fb}html.dark .onboarding-progress-dot{background:#64748b85}html.dark .onboarding-progress-dot.is-active{background:#79a575f5}html.dark .onboarding-illustration{border-color:#647e9b4d;background:radial-gradient(120% 100% at 0% 0%,rgba(21,36,58,.92),transparent 46%),linear-gradient(135deg,#28453ae6,#18263aeb)}html.dark .onboarding-mini-card,html.dark .onboarding-check-row,html.dark .onboarding-illustration--planner span,html.dark .onboarding-orb{background:#f3f7fb1f}html.dark .onboarding-orb--small{background:#79a575e6}.bottom-nav-wrapper{position:fixed;bottom:0;left:0;right:0;z-index:50;display:flex;justify-content:center;pointer-events:none;padding:0;opacity:1;transform:translateZ(0);will-change:transform,opacity;transition:opacity 224ms ease,transform 224ms cubic-bezier(.22,1,.36,1)}.native-ios-shell .bottom-nav-wrapper,.native-ios-shell.keyboard-open .bottom-nav-wrapper{bottom:0;transform:translateZ(0)}html.recipe-editor-open .bottom-nav-wrapper,body.recipe-editor-open .bottom-nav-wrapper,.app-root.recipe-editor-open .bottom-nav-wrapper{opacity:0;transform:translate3d(0,18px,0);pointer-events:none}html.chat-open .bottom-nav-wrapper{z-index:50;opacity:1;transform:translateZ(0);pointer-events:none}.bottom-nav-bar{pointer-events:auto;position:relative;display:grid;grid-template-columns:repeat(5,1fr);align-items:center;padding:9px 16px;background:#fff;border:1px solid var(--color-border-light);border-radius:20px 20px 0 0;gap:12px;width:100%;max-width:none}.nav-item{display:flex;flex-direction:column;align-items:center;gap:1px;padding:7px 4px;justify-content:center;border-radius:50px;text-decoration:none;color:var(--nav-icon-inactive);font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;position:relative;z-index:1;transition:color .2s ease,transform .2s ease}.nav-item-button{border:none;background:transparent;cursor:pointer}.nav-item-chat .nav-icon{color:var(--color-primary)}.nav-item-active{color:var(--color-text-main)}.nav-icon{font-size:18px;line-height:1;width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:transparent;transition:transform .24s ease,background-color .24s ease,color .24s ease,box-shadow .24s ease}.nav-item-active .nav-icon{background:var(--color-primary);color:#fff;box-shadow:0 8px 18px #6f9f7b52;animation:navIconPop .36s cubic-bezier(.22,1,.36,1)}.nav-item-chat.nav-item-active .nav-icon{background:transparent;color:var(--color-primary);box-shadow:none}.nav-item-active .nav-label{animation:navLabelRise .3s ease}.nav-item:hover .nav-icon{transform:translateY(-1px)}.nav-item:active .nav-icon{transform:scale(.96)}.nav-date-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:8px;border:2px solid currentColor;font-size:13px;font-weight:800;letter-spacing:-.02em;font-family:var(--font-mono)}.nav-recipe-icon{width:22px;height:22px;display:block}.nav-recipe-icon svg{width:100%;height:100%;display:block}.nav-planner-icon{width:22px;height:22px;display:block}.nav-planner-icon svg{width:100%;height:100%;display:block}.nav-settings-icon{width:22px;height:22px;display:block}.nav-settings-icon svg{width:100%;height:100%;display:block}html.dark .bottom-nav-bar{background:linear-gradient(180deg,#10192deb,#10192dd1);border-color:var(--border-dark-strong);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 18px 46px #0009}html.dark .nav-item{color:#8ea3bf;transition:color .12s ease,transform .12s ease}html.dark .nav-item:hover,html.dark .nav-item-active{color:var(--text-dark-primary)}html.dark .nav-item-active .nav-icon{background:#9fc4a0;color:#0b1221;box-shadow:0 10px 22px #00000073}html.dark .nav-item-chat.nav-item-active .nav-icon{background:transparent;color:#9fc4a0;box-shadow:none}html.dark .nav-item:active{transform:translateY(1px)}@media (prefers-reduced-motion: reduce){.bottom-nav-wrapper{transition:none}.nav-item-active .nav-icon,.nav-item-active .nav-label{animation:none}}@keyframes navIconPop{0%{transform:scale(.84);opacity:.85}60%{transform:scale(1.08);opacity:1}to{transform:scale(1)}}@keyframes navLabelRise{0%{opacity:.72;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.recipe-reading-panes{display:contents}.recipe-content>.card+.recipe-reading-panes>.recipe-reading-pane:first-child{margin-top:12px}.recipe-reading-panes+.card{margin-top:12px}html.native-navigation-ready{--app-safe-top: 0px;--bottom-nav-clearance: var(--native-scroll-bottom-inset, 0px);-webkit-text-size-adjust:100%}html.native-navigation-ready .app-root{--app-root-width: 100vw;width:100%;max-width:none;padding-top:0;border:0;border-radius:0;box-shadow:none}html.native-navigation-ready .app-content{--app-content-pad-bottom: calc(16px + var(--native-scroll-bottom-inset, 0px))}html.native-navigation-ready .screen{padding-bottom:16px}html.native-navigation-ready .recipe-detail-page{--recipe-detail-header-top: 12px}html.native-navigation-ready .recipe-reading-pane,html.native-navigation-ready .cook-ingredient{font-size:calc(1rem * var(--native-text-scale, 1))}html.native-navigation-ready .cook-step-text{font-size:calc(20px * var(--native-text-scale, 1))}html.native-navigation-ready .cook-accordion{color:var(--color-text-main)}html.native-navigation-ready .bottom-sheet.cook-timer-sheet{height:calc(var(--vv-height, 100dvh) * var(--bottom-sheet-max-height-mult, .9))}html.native-navigation-ready .cook-timer-sheet-content{height:100%}html.native-navigation-ready .cook-timer-panel{overflow:hidden}html.native-navigation-ready .cook-timer-panel-header{flex-shrink:0}html.native-navigation-ready .cook-timer-panel>.cook-timer{flex:1 1 auto;min-height:0;overflow-y:auto}html.native-wide-window .bottom-sheet.cook-timer-sheet{height:calc(var(--vv-height, 100dvh) - 24px);max-height:calc(var(--vv-height, 100dvh) - 24px)}html.native-navigation-ready .cook-mode-header{padding-top:12px}html.native-navigation-ready .cook-floating-close{top:12px;margin-top:12px}html.native-navigation-ready .bottom-sheet.cook-mode-sheet,html.native-navigation-ready .recipe-editor-sheet{max-width:none}html.native-expanded .recipe-reading-panes{display:grid;grid-template-columns:var(--native-reading-columns, minmax(0, 2fr) minmax(0, 3fr));gap:var(--native-reading-gap, 16px);height:auto;min-height:0}html.native-expanded .recipe-reading-pane{margin:0;min-width:0;min-height:0;overflow:visible;overscroll-behavior-y:auto;overflow-wrap:anywhere;font-size:calc(1rem * var(--native-text-scale, 1))}html.native-expanded .recipe-content>.card+.recipe-reading-panes>.recipe-reading-pane:first-child{margin-top:0}html.native-expanded .recipe-reading-pane .section-title{position:static;margin:-16px -16px 0;padding:16px 16px 8px;background:transparent}html.native-expanded .recipe-cover-stage{--cover-height: clamp(150px, 22vh, 220px)}html.native-expanded .recipe-cover-image{border-radius:22px}html.native-expanded .recipe-content{gap:16px}html.native-recipe-edge-to-edge .recipe-detail-page{--recipe-detail-header-top: calc(var(--native-content-top-inset, 0px) + 12px)}html.native-recipe-edge-to-edge .recipe-detail-page--overlay{padding-bottom:calc(var(--native-scroll-bottom-inset, 0px) + 28px)!important}html.native-expanded:not(.native-expanded-landscape) .recipe-cover-stage{--cover-height: clamp(260px, 34vh, 340px)}html.native-recipe-edge-to-edge .recipe-cover-image{border-radius:0 0 24px 24px}html.native-expanded-landscape .recipe-detail-content{display:grid;grid-template-columns:clamp(150px,24vw,220px) minmax(0,1fr);grid-template-rows:auto auto;gap:12px 16px;padding-top:12px}html.native-expanded-landscape .recipe-detail-content>.recipe-detail-drag-zone{grid-column:1;grid-row:1 / 3;align-self:start;aspect-ratio:1}html.native-expanded-landscape .recipe-cover-stage{--cover-height: auto;width:100%;aspect-ratio:1;margin:0}html.native-expanded-landscape .recipe-cover-spacer{height:auto;min-height:0;aspect-ratio:1}html.native-expanded-landscape .recipe-cover-container{height:100%}html.native-expanded-landscape .recipe-detail-content>.title-block{grid-column:2;grid-row:1;align-self:end;margin:0!important}html.native-expanded-landscape .recipe-detail-content>.recipe-action-row{grid-column:2;grid-row:2;align-self:start;margin:0}html.native-expanded-landscape .recipe-detail-content>.tag-row,html.native-expanded-landscape .recipe-detail-content>.recipe-cover-actions,html.native-expanded-landscape .recipe-detail-content>.recipe-content{grid-column:1 / -1}html.native-expanded .cook-mode-page{min-height:0;overflow:hidden}html.native-expanded .cook-body{display:grid;grid-template-columns:var(--native-reading-columns, minmax(0, 2fr) minmax(0, 3fr));grid-template-rows:auto minmax(0,1fr);gap:var(--native-reading-gap, 16px);flex:1 1 0;min-height:0}html.native-expanded .cook-hero{grid-column:1 / -1}html.native-expanded .cook-reading-pane{min-height:0;min-width:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;overflow-wrap:anywhere;font-size:calc(1rem * var(--native-text-scale, 1))}html.native-expanded .cook-ingredients-head{flex-wrap:wrap}html.native-expanded .cook-ingredients-head .cook-accordion{flex-basis:100%;min-width:0}html.native-expanded .cook-ingredients-body:not(.is-collapsed){max-height:none;overflow:visible}html.native-expanded .cook-footer,html.native-expanded .cook-complete-bar,html.native-expanded .cook-mode-header,html.native-expanded .cook-progress{flex-shrink:0}html.native-navigation-ready .recipe-reading-pane:focus-visible,html.native-navigation-ready .cook-reading-pane:focus-visible{outline:2px solid var(--color-primary);outline-offset:-3px}html.native-side-back button[data-native-back-current]{opacity:0;pointer-events:none;visibility:hidden}html.native-navigation-ready.native-recipe-library-sidebar .recipe-library-surface{display:grid;--library-sidebar-width: calc(200px * var(--native-text-scale, 1));--library-card-min: calc(190px * var(--native-text-scale, 1));grid-template-columns:var(--library-sidebar-width) minmax(0,1fr);gap:16px;align-items:start}html.native-recipe-library-sidebar .recipe-library-surface .recipes-library-sidebar{display:flex;flex-direction:column;gap:12px;grid-column:1;grid-row:1;position:sticky;top:20px;max-height:calc(min(var(--native-content-height, 100dvh),var(--vv-height, 100dvh)) - var(--library-sidebar-clearance, 40px) - var(--native-scroll-bottom-inset, 0px));overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--color-primary) transparent;scroll-padding-block:8px;min-width:0}html.native-recipe-library-sidebar .recipe-library-surface .recipes-library-sidebar>*{flex-shrink:0;order:initial}html.native-recipe-library-sidebar .recipe-library-surface .recipes-library-main{display:flex;flex-direction:column;gap:16px;grid-column:2;grid-row:1;min-width:0;width:100%;max-width:1000px}html.native-recipe-library-sidebar .recipe-library-surface .recipes-library-main>*{order:initial}html.native-recipe-library-sidebar .recipe-library-surface .recipes-library-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px}html.native-recipe-library-sidebar .recipe-library-surface .recipes-library-toolbar>.page-header{flex:1 1 360px;min-width:0;margin:0;gap:12px}html.native-recipe-library-sidebar .recipe-library-surface .recipes-header-actions{flex-wrap:wrap}html.native-recipe-library-sidebar .recipe-library-surface .recipes-library-sidebar .search-input-wrap{min-height:44px;padding:8px 10px;gap:6px}html.native-recipe-library-sidebar .recipe-library-surface .recipes-library-sidebar .search-input{min-width:0;width:100%;font-size:calc(14px * var(--native-text-scale, 1))}html.native-recipe-library-sidebar .recipe-library-surface .recipes-filter-bar{flex-direction:column;align-items:stretch;gap:2px;overflow:visible;scroll-snap-type:none}html.native-recipe-library-sidebar .recipe-library-surface .recipes-filter-chip{justify-content:flex-start;min-height:44px;width:100%;padding:8px 12px;border-radius:14px;font-size:calc(1rem * var(--native-text-scale, 1));white-space:normal;overflow-wrap:anywhere}html.native-recipe-library-sidebar .recipe-library-surface .recipes-filter-chip--icon{flex-direction:row-reverse;justify-content:flex-end;gap:8px}html.native-recipe-library-sidebar .recipe-library-surface .recipes-filter-sidebar-label{display:inline}html.native-recipe-library-sidebar .recipe-library-surface .recipes-filter-bar-rail{display:none}html.native-recipe-library-sidebar .recipe-library-surface .recipes-tag-panel{display:block;padding:12px;margin:0;border-radius:18px;box-shadow:none}html.native-recipe-library-sidebar .recipe-library-surface .tag-filters-header,html.native-recipe-library-sidebar .recipe-library-surface .tag-controls{flex-direction:column;align-items:stretch}html.native-recipe-library-sidebar .recipe-library-surface .tag-search-input{min-width:0;width:100%;min-height:44px;font-size:calc(14px * var(--native-text-scale, 1))}html.native-recipe-library-sidebar .recipe-library-surface .tag-collapse-btn{min-height:44px;justify-content:center}html.native-recipe-library-sidebar .recipe-library-surface .tag-chip{min-height:44px;max-width:100%;white-space:normal;overflow-wrap:anywhere;font-size:calc(12px * var(--native-text-scale, 1))}html.native-recipe-library-sidebar .recipe-library-surface .tag-row-wrapper{height:auto!important}html.native-recipe-library-sidebar .recipe-library-surface .recipe-cover-grid{grid-template-columns:repeat(auto-fill,minmax(max(var(--library-card-min),(100% - 24px) / 3),1fr));gap:12px}html.native-recipe-library-sidebar .recipe-library-surface .recipe-cover-card-title{font-size:calc(16px * var(--native-text-scale, 1));overflow-wrap:anywhere}html.native-recipe-library-sidebar .recipe-library-surface .recipe-card{max-width:760px}html.native-recipe-library-sidebar .recipe-library-surface .recipes-fab,html.native-recipe-library-sidebar .recipe-library-surface .recipes-library-main>.btn-add{display:none}html.native-recipe-library-sidebar .recipe-library-surface .recipes-library-sidebar :is(button,input):focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}html.native-recipe-library-sidebar .app-root:has(.recipes-page){overflow:clip}html.dark.native-recipe-library-sidebar .recipe-library-surface .recipes-filter-chip{color:var(--text-dark-primary)}html.native-recipe-library-sidebar .recipes-page .action-btn--header{min-height:48px;padding:12px 16px;font-size:calc(.85rem * var(--native-text-scale, 1));flex-shrink:0}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,sans-serif}:root{--color-bg: #f0efe5;--color-bg-elevated: #ffffff;--app-bg: var(--color-bg);--color-primary: #a4c1a2;--color-secondary: #ffeeda;--color-accent: #f2b487;--color-text-main: #1f2a36;--color-text-muted: #6c7481;--color-border-light: #e1d9cc;--color-border-dark: #2f3a46;--nav-bg: rgba(31, 42, 54, .05);--nav-pill-bg: #ffffff;--nav-icon-inactive: #696969;--nav-icon-active: #f2f2f2;--bottom-nav-clearance: 90px;--chat-bg-user: #a4c1a2;--chat-bg-ai: #fdfaf5;--chip-bg: #e7f7ee;--input-bg: #fff4e5;--cook-step-text-color: #0f172a}html.dark{--bg-dark-page: #0b1221;--bg-dark-surface: #10192d;--bg-dark-surface-elevated: #16243c;--text-dark-primary: #e6edf7;--text-dark-secondary: #9fb1c9;--border-dark-subtle: #1f2c43;--border-dark-strong: #30405c;--shadow-dark-elevated: 0 16px 42px rgba(0, 0, 0, .4);--color-bg: var(--bg-dark-page);--color-bg-elevated: var(--bg-dark-surface-elevated);--color-text-main: var(--text-dark-primary);--color-text-muted: var(--text-dark-secondary);--color-border-light: var(--border-dark-subtle);--color-border-dark: var(--border-dark-strong);--nav-bg: rgba(11, 18, 33, .8);--nav-pill-bg: var(--bg-dark-surface);--nav-icon-inactive: #8095b2;--nav-icon-active: var(--text-dark-primary);--bottom-nav-clearance: 90px;--chat-bg-user: #2ec77d;--chat-bg-ai: var(--bg-dark-surface);--chip-bg: #1b2a44;--input-bg: var(--bg-dark-surface);--cook-step-text-color: #0f172a}:root{--font-display: "Fraunces", "Iowan Old Style", "Palatino", serif;--font-body: "IBM Plex Sans", "Helvetica Neue", "Segoe UI", sans-serif;--font-mono: "Space Mono", "SFMono-Regular", ui-monospace, monospace;--app-safe-top: max(env(safe-area-inset-top, 0px), var(--vv-offset-top, 0px));--glass-chrome-bg: rgba(255, 255, 255, .72);--glass-chrome-bg-strong: rgba(255, 255, 255, .86);--glass-chrome-border: rgba(255, 255, 255, .42);--glass-chrome-shadow: 0 14px 28px rgba(31, 42, 54, .12);--glass-chrome-shadow-soft: 0 10px 22px rgba(31, 42, 54, .1);--glass-chrome-highlight: inset 0 1px 0 rgba(255, 255, 255, .26);--glass-chrome-blur: blur(18px) saturate(160%)}html.dark{--glass-chrome-bg: rgba(15, 23, 42, .52);--glass-chrome-bg-strong: rgba(15, 23, 42, .78);--glass-chrome-border: rgba(255, 255, 255, .12);--glass-chrome-shadow: 0 16px 30px rgba(2, 6, 23, .32);--glass-chrome-shadow-soft: 0 12px 22px rgba(2, 6, 23, .28);--glass-chrome-highlight: inset 0 1px 0 rgba(255, 255, 255, .08)}body{background:var(--app-bg);color:var(--color-text-main);font-family:var(--font-body);line-height:1.55}html,body{background:var(--app-bg);overscroll-behavior:none}#root,.app-root{background:var(--app-bg)}html.planner-modal-open .app-content,body.planner-modal-open .app-content{overflow:hidden}html.planner-modal-open .recipe-detail-overlay,body.planner-modal-open .recipe-detail-overlay{overflow:hidden;touch-action:none}@media (max-width: 720px){body{background:var(--app-bg)}}.app-root{--app-root-width: min(100vw, 480px);max-width:480px;margin:0 auto;display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;background:var(--app-bg);padding-top:var(--app-safe-top);border-radius:30px;border:1px solid var(--color-border-light);box-shadow:0 18px 50px #0f172a14,0 2px #fff9 inset;overflow:hidden;position:relative;animation:appShellIn .35s ease}@supports (-webkit-touch-callout: none){@media (max-width: 720px){:root{--app-safe-top: max(44px, env(safe-area-inset-top, 0px), var(--vv-offset-top, 0px))}.app-root{padding-top:var(--app-safe-top)}}}html.dark body{background:var(--app-bg)}html.dark .app-root{background:var(--app-bg);box-shadow:0 18px 50px #00000073}.app-content{flex:1;--app-content-pad-top: 0px;--app-content-pad-x: 5px;--app-content-pad-bottom: 110px;padding:var(--app-content-pad-top) var(--app-content-pad-x) var(--app-content-pad-bottom)}.app-root.app-root--public{max-width:none;min-height:auto;padding-top:0;border:0;border-radius:0;box-shadow:none;background:transparent;overflow:visible;animation:none}.app-content.app-content--public{padding:0}.app-content.app-content--today{--app-content-pad-bottom: 0px}.app-root.grocery-drawer-open .app-content,.app-root.chat-drawer-open .app-content{overflow:hidden}.keyboard-scroll-container{--keyboard-scroll-base-padding: 0px;--keyboard-scroll-extra-offset: 0px;--keyboard-scroll-focus-margin: 18px;--keyboard-scroll-top-margin: 20px;--keyboard-scroll-safe-top: var(--app-safe-top, 0px);scroll-padding-top:calc(var(--keyboard-scroll-safe-top) + var(--keyboard-scroll-top-margin));scroll-padding-bottom:calc(var(--keyboard-height, 0px) + env(safe-area-inset-bottom,0px) + var(--keyboard-scroll-extra-offset) + var(--keyboard-scroll-focus-margin))}.native-ios-shell.keyboard-open .keyboard-scroll-container{padding-bottom:calc(var(--keyboard-scroll-base-padding) + var(--keyboard-height, 0px) + env(safe-area-inset-bottom,0px) + var(--keyboard-scroll-extra-offset))}.native-ios-shell.keyboard-open .screen.keyboard-scroll-container{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}.page-header{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:5px}.page-title{font-family:var(--font-display);font-size:26px;font-weight:700;letter-spacing:-.02em}.page-subtitle{font-size:13px;font-weight:500;color:var(--color-text-muted)}.card{background:linear-gradient(180deg,var(--color-bg-elevated),rgba(255,255,255,.6));border-radius:20px;padding:18px;box-shadow:0 14px 40px #0f172a0f,0 1px #ffffffb3 inset;border:1px solid var(--color-border-light)}.card+.card{margin-top:12px}.section-title{font-size:16px;font-weight:600;letter-spacing:-.01em;margin:0 0 -5px}.btn{border-radius:999px;padding:10px 18px;border:none;cursor:pointer;font-size:14px;font-weight:600;letter-spacing:.01em;transition:transform .15s ease,box-shadow .15s ease}.btn-loading{display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-loading-icon{width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-radius:999px;display:inline-block;flex:0 0 14px;animation:btnSpin .8s linear infinite}.btn-primary{background:var(--color-primary);color:#0f172a;box-shadow:0 10px 18px #1f2a361f}.btn-peach{background:var(--color-accent);color:#1f2937;box-shadow:0 10px 18px #1f2a361f}.btn-ghost{background:transparent;border:1px solid var(--color-border-light);color:var(--color-text-main)}.input{width:100%;border-radius:14px;border:1px solid var(--color-border-light);padding:11px 12px;font-size:14px;outline:none;background:var(--input-bg);box-shadow:0 1px #ffffff80 inset}.input:focus{border-color:var(--color-primary)}.screen{padding:16px;display:flex;flex-direction:column;gap:14px}.meal-slot{margin-bottom:14px}.meal-slot-label{font-size:13px;font-weight:600;margin-bottom:4px;letter-spacing:.01em}.meal-slot-body{border-radius:16px;padding:12px 14px;border:1px dashed var(--color-border-light);background:linear-gradient(180deg,#ffffffe6,#ffffffbf)}.meal-slot-placeholder{font-size:13px;color:var(--color-text-muted)}.meal-slot-title{font-size:14px;font-weight:600}.meal-slot-sub{font-size:12px;color:var(--color-text-muted)}.recipe-card{background:linear-gradient(180deg,var(--color-bg-elevated),rgba(255,255,255,.7));border-radius:20px;padding:16px 16px 12px;border:1px solid var(--color-border-light);box-shadow:0 12px 35px #0f172a0d;margin-bottom:10px;cursor:pointer;transition:transform .1s ease,box-shadow .1s ease}.recipe-card:hover{transform:translateY(-2px);box-shadow:0 16px 45px #0f172a14}@keyframes appShellIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes btnSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.chat-messages{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.chat-bubble{max-width:80%;padding:10px 12px;border-radius:18px;font-size:14px}.chat-bubble-user{align-self:flex-end;background:var(--chat-bg-user);color:#0f172a;border-radius:18px 18px 4px}.chat-bubble-ai{align-self:flex-start;background:var(--chat-bg-ai);border-radius:18px 18px 18px 4px}.grocery-float-btn{position:fixed;left:calc((100vw - var(--app-root-width)) / 2 + 16px);bottom:calc(var(--bottom-nav-clearance) + 16px);width:52px;height:52px;border-radius:16px;border:0px solid var(--color-border-light);background:var(--color-bg-elevated);box-shadow:0 18px 38px #0f172a29;display:inline-flex;align-items:center;justify-content:center;padding:8px;cursor:pointer;z-index:45;transition:transform .15s ease,box-shadow .15s ease;animation:groceryFloatIn .18s ease;margin-bottom:5px}.grocery-float-btn img{width:28px;height:28px;display:block}.grocery-float-btn:hover{transform:translateY(-1px);box-shadow:0 22px 42px #0f172a33}html.dark .grocery-float-btn{background:var(--bg-dark-surface-elevated);border-color:var(--border-dark-strong);box-shadow:0 20px 44px #00000073}html.dark .grocery-float-btn img{filter:brightness(0) saturate(100%) invert(.92)}@keyframes groceryFloatIn{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.chat-input-inner{display:flex;gap:8px;background:var(--color-bg-elevated);padding:6px;border-radius:999px;border:1px solid var(--color-border-light)}.tag{display:inline-block;padding:4px 10px;border-radius:999px;background-color:var(--color-accent);color:#1f2933;font-size:12px;font-weight:500;margin-right:6px;margin-bottom:6px}.soft-card{background:var(--color-bg-elevated);border:1px solid var(--color-border-light);box-shadow:0 14px 40px #1f2a3614;margin-top:0}.list-stack{display:flex;flex-direction:column;gap:10px}.block-btn{width:100%}.muted{color:var(--color-text-muted);font-size:14px}.stack{display:flex;flex-direction:column}.gap-sm{gap:10px}.today-page{padding:16px 16px calc(var(--bottom-nav-clearance) + env(safe-area-inset-bottom,0px) + 15px);display:flex;flex-direction:column;gap:12px}.today-swipe-region{display:flex;flex-direction:column;gap:12px;touch-action:pan-y}.today-swipe-region.is-day-swipe-active{-webkit-user-select:none;user-select:none}.today-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.today-header .icon-btn{justify-self:end}.today-header-spacer{width:40px;height:40px}.today-brand{justify-self:center;display:inline-flex;align-items:center;gap:10px}.today-brand-logo{width:34px;height:34px;object-fit:contain}.today-brand-text{font-size:22px;font-weight:700;letter-spacing:.02em;color:var(--color-text-main)}.date-pill{background:var(--color-primary);color:#f7f7f2;border-radius:18px;padding:30px;font-weight:700;text-align:center;font-size:18px}.date-pill.date-pill-nav{display:flex;align-items:center;justify-content:space-between;gap:12px}.date-pill-btn{border:none;background:#fff3;color:#f7f7f2;width:36px;height:36px;border-radius:12px;cursor:pointer;font-weight:700;display:inline-flex;align-items:center;justify-content:center;box-shadow:none;transition:transform .2s ease,background .2s ease}.date-pill-btn:hover{background:#ffffff47;transform:translateY(-1px);box-shadow:none}.date-pill-btn:active{transform:translateY(0);box-shadow:none}.date-pill-icon{width:20px;height:20px}.date-pill-icon-prev{transform:rotate(180deg)}.date-pill-label{flex:1;text-align:center}.date-pill-label--animate{display:inline-block;will-change:transform,opacity}.date-pill-label--animate.is-next{animation:today-day-nav-next .6s cubic-bezier(.22,.7,.2,1) both}.date-pill-label--animate.is-prev{animation:today-day-nav-prev .6s cubic-bezier(.22,.7,.2,1) both}.today-meal-list--animate{will-change:transform,opacity}.today-meal-list--animate.is-next{animation:today-day-nav-next .6s cubic-bezier(.22,.7,.2,1) both}.today-meal-list--animate.is-prev{animation:today-day-nav-prev .6s cubic-bezier(.22,.7,.2,1) both}@keyframes today-day-nav-next{0%{opacity:.2;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes today-day-nav-prev{0%{opacity:.2;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion: reduce){.date-pill-label--animate.is-next,.date-pill-label--animate.is-prev,.today-meal-list--animate.is-next,.today-meal-list--animate.is-prev{animation:none}}.meal-list{display:flex;flex-direction:column;gap:8px}.meal-card{display:flex;align-items:center;gap:14px;background:#fff;border-radius:18px;padding:12px 14px;border:1px solid var(--color-border-light);box-shadow:0 12px 35px #1f2a360f}.meal-icon{width:44px;height:44px;border-radius:12px;background:#6f9f7b33;display:flex;align-items:center;justify-content:center;font-size:20px}.meal-label{font-size:17px;font-weight:600;color:var(--color-text-main)}.ai-card{background:#f8e6d5;border-radius:18px;padding:14px 16px;border:1px solid #f0d7be;touch-action:pan-y}.ai-card-title{font-weight:700;color:var(--color-text-main);margin-bottom:4px}.ai-card-sub{color:var(--color-text-muted);font-size:14px}.ai-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.ai-card-action{border:1px solid rgba(225,217,204,.92);background:#ffffffb3;color:var(--color-text-main);border-radius:999px;padding:8px 12px;font-size:13px;font-weight:700;line-height:1.1;cursor:pointer}.ai-card-action:hover{background:#ffffffeb}.chat-page{padding:16px 16px 70px}.chat-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.chat-header-text{text-align:center}.chat-title{font-size:22px;font-weight:700}.chat-subtitle{font-size:13px;color:var(--color-text-muted)}.icon-btn{border:none;background:transparent;font-size:18px;cursor:pointer;color:var(--color-text-main)}.back-button{display:inline-flex;align-items:center;gap:8px;padding:4px}.back-icon{width:44px;height:44px;border-radius:999px;background:var(--glass-chrome-bg);border:1px solid var(--glass-chrome-border);display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--glass-chrome-shadow-soft),var(--glass-chrome-highlight);color:var(--color-text-main);backdrop-filter:var(--glass-chrome-blur);-webkit-backdrop-filter:var(--glass-chrome-blur)}.chat-body{display:flex;flex-direction:column;gap:12px}.prompt-pill{background:var(--color-primary);color:#f7f7f2;padding:14px 16px;border-radius:18px;font-weight:600}.chat-card{background:var(--color-bg-elevated);border:1px solid var(--color-border-light);border-radius:20px;padding:16px;box-shadow:0 14px 40px #0f172a0f}.chat-card-title{display:flex;align-items:center;gap:10px;font-weight:700;font-size:18px;margin-bottom:6px}.chat-card-emoji{font-size:22px}.chat-card-heading{color:var(--color-text-main)}.chat-meta{color:var(--color-text-muted);font-size:14px;display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.chat-section{margin-top:12px}.chat-section-title{font-weight:700;margin-bottom:6px}.chat-list{margin:0;padding-left:18px;color:var(--color-text-main)}.chat-card-actions{display:flex;gap:10px;margin-top:14px}.chip-row{display:flex;gap:8px;flex-wrap:wrap}.chip{border:none;background:var(--chip-bg);color:#1f2a36;border-radius:14px;padding:8px 12px;font-weight:600;font-size:13px;cursor:pointer}.chat-input{flex:1;border-radius:16px;border:1px solid var(--color-border-light);background:var(--input-bg);padding:12px 14px;font-size:14px;outline:none}.chat-input:focus{border-color:var(--color-primary)}.filter-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.chip-active{background:#6f9f7b38;color:#1f2a36}.recipe-detail-title{display:flex;align-items:center;gap:8px;font-weight:700}.recipe-emoji{font-size:26px}.meta-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:10px}.meta-item{background:var(--color-bg);border-radius:12px;padding:10px;text-align:center;border:1px solid var(--color-border-light)}.meta-label{display:block;font-size:12px;color:var(--color-text-muted)}.meta-value{font-weight:700;color:var(--color-text-main)}.tag-row{display:flex;flex-wrap:wrap;gap:6px}.divider{height:1px;background:var(--color-border-light);margin:12px 0}.section-block{display:flex;flex-direction:column;gap:6px}.section-label{font-weight:700;color:var(--color-text-main)}.simple-list{margin:0;padding-left:18px;color:var(--color-text-main);display:grid;gap:4px}.cta-row{display:flex;gap:10px;margin-top:14px}.planner-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.planner-week-label{font-weight:700}.planner-week{display:flex;flex-direction:column;gap:12px}.planner-day{border:1px solid var(--color-border-light);border-radius:16px;padding:10px;background:var(--color-bg)}.planner-day-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}.planner-day-label{font-weight:700}.planner-slots{display:grid;gap:8px}.planner-slot{background:#fff;border-radius:12px;border:1px dashed var(--color-border-light);padding:10px 12px}.planner-slot-label{font-weight:600;margin-bottom:2px}.planner-slot-empty{color:var(--color-text-muted);font-size:13px}.settings-card{background:#fff;border:1px solid var(--color-border-light);border-radius:16px;padding:12px 14px;box-shadow:0 12px 35px #1f2a3612;display:flex;align-items:center;justify-content:space-between;text-align:left;cursor:pointer}.settings-text{display:flex;flex-direction:column;gap:4px}.settings-title{font-weight:700;color:var(--color-text-main)}.settings-desc{color:var(--color-text-muted);font-size:13px}.settings-arrow{font-weight:700;color:var(--color-text-muted)}.pill-list{display:flex;flex-wrap:wrap;gap:8px}.pill{display:inline-flex;align-items:center;gap:8px;background:var(--color-bg);border:1px solid var(--color-border-light);border-radius:14px;padding:8px 10px;box-shadow:0 8px 25px #1f2a360f}.pill-remove{border:none;background:transparent;color:var(--color-text-muted);cursor:pointer}.id-block{margin-top:10px;padding:12px;border-radius:12px;background:var(--input-bg);font-family:monospace;font-size:14px;border:1px dashed var(--color-border-light)}html.dark{color-scheme:dark}html.dark body{background-color:var(--bg-dark-page);color:var(--text-dark-secondary)}html.dark .app-root,html.dark .app-content,html.dark .screen,html.dark .today-page,html.dark .chat-page{background:var(--bg-dark-page)}html.dark p,html.dark label,html.dark .page-subtitle,html.dark .chat-subtitle,html.dark .chat-meta,html.dark .muted,html.dark .meal-slot-placeholder,html.dark .planner-slot-empty,html.dark .settings-desc,html.dark .meal-slot-sub,html.dark .meta-label,html.dark .divider{color:var(--text-dark-secondary)}html.dark h1,html.dark h2,html.dark h3,html.dark h4,html.dark h5,html.dark h6,html.dark .page-title,html.dark .section-title,html.dark .today-title,html.dark .today-brand-text,html.dark .planner-week-label,html.dark .planner-day-label,html.dark .planner-slot-label,html.dark .meal-slot-label,html.dark .meal-label,html.dark .chat-title,html.dark .chat-card-heading,html.dark .chat-section-title,html.dark .settings-title,html.dark .section-label,html.dark .recipe-title{color:var(--text-dark-primary)}html.dark .card,html.dark .soft-card,html.dark .planner-card,html.dark .planner-day,html.dark .settings-card,html.dark .chat-card{background:var(--bg-dark-surface);border-color:var(--border-dark-strong);box-shadow:var(--shadow-dark-elevated)}html.dark .recipe-card,html.dark .meal-card,html.dark .planner-slot,html.dark .meal-slot-body,html.dark .meta-item,html.dark .ai-card,html.dark .today-meal-card,html.dark .pill,html.dark .tag,html.dark .pill-list .pill{background:var(--bg-dark-surface-elevated);border-color:var(--border-dark-subtle);box-shadow:var(--shadow-dark-elevated);color:var(--text-dark-primary)}html.dark .ai-card-action{background:#121d2eb8;border-color:#3f5474c7;color:var(--text-dark-primary)}html.dark .ai-card-action:hover{background:#1c2a40e6}html.dark .chat-input-inner,html.dark .chat-input,html.dark .input,html.dark .id-block{background:var(--bg-dark-surface);border-color:var(--border-dark-subtle);box-shadow:var(--shadow-dark-elevated);color:var(--text-dark-primary)}html.dark .today-meal-menu-btn{background:var(--bg-dark-surface);border-color:var(--border-dark-subtle);color:var(--text-dark-primary)}html.dark .today-servings-adjust{border-top:1px solid var(--border-dark-subtle);padding-top:8px}html.dark .today-servings-label{color:var(--text-dark-primary)}html.dark .today-servings-control{border-color:var(--border-dark-subtle)}html.dark .today-meal-empty{background:var(--bg-dark-surface);border-color:var(--border-dark-subtle);color:var(--text-dark-secondary)}html.dark .today-meal-empty-label{color:var(--text-dark-primary)}html.dark .today-meal-empty-sub{color:var(--text-dark-secondary)}html.dark .meal-slot-body,html.dark .planner-slot{border-style:dashed}html.dark .meal-title{color:var(--text-dark-primary)}html.dark .today-meal-text{color:var(--text-dark-secondary)}html.dark .folder-row{background:var(--bg-dark-surface);border-color:var(--border-dark-subtle);color:var(--text-dark-primary)}html.dark .folder-row-name{color:var(--text-dark-primary)}html.dark .folder-row-sub{color:var(--text-dark-secondary)}html.dark .folder-row:hover{border-color:var(--border-dark-strong)}html.dark .folder-card{background:var(--bg-dark-surface);border-color:var(--border-dark-subtle);color:var(--text-dark-primary)}html.dark .folder-card:hover{border-color:var(--border-dark-strong)}html.dark .folder-name{color:var(--text-dark-primary)}html.dark .folder-meta{color:var(--text-dark-secondary)}html.dark .divider{background:var(--border-dark-subtle)}html.dark ::placeholder{color:var(--text-dark-secondary);opacity:.85}html.dark .recipes-search-card{background:var(--bg-dark-surface);border-color:var(--border-dark-subtle)}html.dark .search-input,html.dark .tag-search-input{background:var(--input-bg);border-color:var(--border-dark-subtle);color:var(--text-dark-primary);box-shadow:inset 0 0 0 1px #ffffff05}html.dark .btn{color:var(--text-dark-primary);box-shadow:none;transition:transform .12s ease,background-color .12s ease,border-color .12s ease}html.dark .btn:not(.btn-primary):not(.btn-peach):not(.btn-ghost){background:var(--bg-dark-surface-elevated);border:1px solid var(--border-dark-subtle)}html.dark .btn:not(.btn-primary):not(.btn-peach):not(.btn-ghost):hover{background:var(--bg-dark-surface);border-color:var(--border-dark-strong)}html.dark .btn-primary{background:#b2d1b1;color:#0c1827;border:1px solid #8ab090;box-shadow:0 12px 28px #0000005c}html.dark .btn-primary:hover{background:#c1daba;border-color:#9bc29c}html.dark .btn-primary:active{background:#a1c59c;transform:translateY(1px)}html.dark .btn-peach{background:#f4ba8f;color:#0f172a;border:1px solid #dca277;box-shadow:0 12px 28px #00000052}html.dark .btn-peach:hover{background:#f6c69f;border-color:#e0ac86}html.dark .btn-ghost{background:var(--bg-dark-surface);color:var(--text-dark-primary);border:1px solid var(--border-dark-strong)}html.dark .btn-ghost:hover{background:var(--bg-dark-surface-elevated);border-color:var(--border-dark-strong)}html.dark .btn-ghost:active,html.dark .btn:active{transform:translateY(1px)}html.dark .btn:focus-visible,html.dark .icon-btn:focus-visible,html.dark .planner-slot-delete:focus-visible,html.dark .planner-slot-drag:focus-visible,html.dark .pill-remove:focus-visible,html.dark .input:focus-visible,html.dark .chat-input:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;box-shadow:0 0 0 2px #92be9740}html.dark .icon-btn,html.dark .planner-slot-delete,html.dark .planner-slot-drag,html.dark .pill-remove{color:var(--text-dark-secondary);transition:color .15s ease,background .15s ease,border-color .15s ease}html.dark .back-icon{background:var(--glass-chrome-bg);border-color:var(--glass-chrome-border);color:var(--text-dark-primary)}html.dark .planner-slot-drag{background:var(--bg-dark-surface);border-color:var(--border-dark-subtle);color:var(--text-dark-primary);box-shadow:inset 0 0 0 1px #ffffff08}html.dark .icon-btn:hover,html.dark .planner-slot-delete:hover,html.dark .planner-slot-drag:hover,html.dark .pill-remove:hover{color:var(--text-dark-primary);background:#ffffff08;border-color:var(--border-dark-strong)}html.dark .planner-slot-delete{border-color:var(--border-dark-subtle)}html.dark .recipe-emoji,html.dark .chat-card-emoji,html.dark .planner-day-icon,html.dark .meal-icon{opacity:.9;color:var(--text-dark-primary)}html.dark .card,html.dark .recipe-card,html.dark .meal-card,html.dark .today-meal-card,html.dark .planner-slot,html.dark .settings-card,html.dark .chat-card{transition:transform .12s ease,background-color .12s ease,border-color .12s ease}html.dark .recipe-card:hover,html.dark .meal-card:hover,html.dark .today-meal-card:hover,html.dark .planner-slot:hover,html.dark .settings-card:hover,html.dark .chat-card:hover,html.dark .card:hover{transform:translateY(-1px);border-color:var(--border-dark-strong)}html.dark .recipe-card:active,html.dark .meal-card:active,html.dark .today-meal-card:active,html.dark .planner-slot:active,html.dark .settings-card:active,html.dark .chat-card:active,html.dark .card:active{transform:translateY(1px);background:var(--bg-dark-surface)}html.dark .planner-day{transition:border-color .12s ease,background-color .12s ease,transform .12s ease}html.dark .planner-day:hover{border-color:var(--border-dark-strong)}html.dark .planner-day:focus-within,html.dark .planner-day.active{border-color:var(--border-dark-strong);background:var(--bg-dark-surface-elevated)}html.dark .chip{transition:background-color .12s ease,border-color .12s ease,color .12s ease,transform .12s ease}html.dark .chip:hover{transform:translateY(-1px)}html.dark .chip-active{background:var(--bg-dark-surface-elevated);color:var(--text-dark-primary);border:1px solid var(--border-dark-strong);box-shadow:none}html.dark .chat-bubble-user,html.dark .chat-bubble-ai{transition:transform .12s ease,background-color .12s ease,border-color .12s ease}html.dark .chat-bubble-user:hover,html.dark .chat-bubble-ai:hover{transform:translateY(-1px)}html.dark .chat-bubble-user:active,html.dark .chat-bubble-ai:active{transform:translateY(1px);background:#ffffff0a}.limit-modal-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:14px}.limit-modal .modal-close{color:#b33939}.limit-modal .modal-close:hover{color:#982a2a}.limit-modal-upgrade-btn{display:inline-flex;align-items:center;gap:7px;flex-direction:row-reverse;background:linear-gradient(135deg,#f6df9f,#e7c171);color:#5e430c;border:1px solid rgba(195,155,77,.58);box-shadow:0 8px 16px #7a5d2333}.limit-modal-upgrade-btn:hover{transform:translateY(-1px);filter:saturate(1.06)}.limit-modal-upgrade-btn:active{transform:translateY(1px)}html.dark .limit-modal .modal-close{color:#ef8d8d}.reset-success-modal{max-width:420px;border-radius:28px;background:radial-gradient(circle at top,rgba(196,218,172,.32),transparent 42%),linear-gradient(180deg,#fffcf5fa,#faf6eafa);border:1px solid rgba(176,194,150,.4);box-shadow:0 22px 54px #21324d2e}.reset-success-copy{margin:4px 0 0;font-size:.98rem;line-height:1.65;color:var(--text-primary)}.reset-success-btn{min-width:104px;justify-content:center}html.dark .reset-success-modal{background:radial-gradient(circle at top,rgba(128,171,117,.2),transparent 44%),linear-gradient(180deg,#171f28f5,#12181ffa);border-color:#89a17257;box-shadow:0 22px 54px #0006}html.dark .reset-success-copy{color:var(--text-dark-primary)}.grocery-float-btn[hidden]{display:none}.fade-in{animation:fade-in .25s ease-out}html.no-page-fade .fade-in{animation:none!important;transform:none!important;opacity:1!important}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}:root{--button-glass-sheen: linear-gradient(160deg, rgb(255 255 255 / 27%), rgb(255 255 255 / 3%) 65%);--button-glass-edge: inset 0 1px 0 rgb(255 255 255 / 48%), inset 0 0 0 1px rgb(255 255 255 / 12%), 0 2px 7px rgb(36 48 35 / 8%)}html.dark{--button-glass-sheen: linear-gradient(160deg, rgb(255 255 255 / 13%), rgb(255 255 255 / 1%) 65%);--button-glass-edge: inset 0 1px 0 rgb(255 255 255 / 22%), inset 0 0 0 1px rgb(255 255 255 / 6%), 0 2px 7px rgb(0 0 0 / 14%)}html body #root button:is(.today-shortcut,.today-tips-launcher,.today-servings-save,.recipes-favorites-shortcut,.recipes-import-action,.action-btn--add,.recipes-tag-trigger,.planner-control,.planner-day-toggle,.grocery-source-btn,.cover-action-btn,.save-icon-btn,.new-chat-btn,.send-btn,.chat-suggested-action-btn,.cook-nav-btn,.cook-ingredients-toggle-all,.cook-mark-cooked-btn,.preference-save-btn,.preference-tonal-btn,.settings-reminders-save):not(:disabled){background-image:var(--button-glass-sheen);box-shadow:var(--button-glass-edge);-webkit-backdrop-filter:blur(8px) saturate(120%);backdrop-filter:blur(8px) saturate(120%)}
