@import"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700&display=swap";:root{color-scheme:dark;--bg: #141619;--bg-gradient: linear-gradient(180deg, #141619 0%, #0f1113 100%);--surface: #1a1d21;--surface-elevated: #22262b;--surface-accent: #2a2e34;--text: #e8eaed;--text-muted: #9aa0a8;--text-subtle: #6b7280;--text-on-accent: #ffffff;--text-on-strong: #ffffff;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 700;--font-weight-black: 700;--error: #e57373;--error-soft: rgba(229, 115, 115, .12);--success: #4ade80;--warning: #fbbf24;--calorie-color: #d4a574;--protein-color: #7b9fd4;--carbs-color: #a78fca;--fat-color: #c97a9e;--protein-color-strong: #6b9ee6;--carbs-color-strong: #9370db;--fat-color-strong: #d8588f;--border: rgba(255, 255, 255, .06);--border-strong: rgba(255, 255, 255, .1);--border-subtle: rgba(255, 255, 255, .04);--accent: #0d9488;--accent-light: #2dd4bf;--accent-hover: #0f766e;--accent-soft: rgba(13, 148, 136, .18);--accent-spot: rgba(13, 148, 136, .12);--accent-spot-border: rgba(13, 148, 136, .35);--accent-spot-border-soft: rgba(13, 148, 136, .2);--accent-pulse: rgba(13, 148, 136, .4);--shadow: rgba(0, 0, 0, .25);--shadow-sm: rgba(0, 0, 0, .08);--shadow-md: rgba(0, 0, 0, .15);--shadow-lg: rgba(0, 0, 0, .2);--shadow-strong: rgba(0, 0, 0, .45);--shadow-drop: rgba(0, 0, 0, .4);--gold-accent: #f59e0b;--gold-accent-hover: #fbbf24;--gold-gradient: linear-gradient(90deg, #d4a84b 0%, #f0c14b 25%, #ffd700 50%, #f0c14b 75%, #d4a84b 100%);--error-dark: #c94a52;--error-gradient: linear-gradient(135deg, #c94a52 0%, var(--error) 100%);--focus-ring: rgba(59, 130, 246, .2);--focus-ring-soft: rgba(59, 130, 246, .12);--focus-ring-mid: rgba(59, 130, 246, .25);--border-input: rgba(0, 0, 0, .15);--border-input-inverse: rgba(255, 255, 255, .5);--text-shadow-soft: 0 1px 2px rgba(0, 0, 0, .08);--overlay-gradient: linear-gradient(180deg, rgba(0, 0, 0, .72) 0%, rgba(0, 0, 0, .35) 40%, transparent 100%);--overlay-gradient-card: linear-gradient(to top, rgba(0, 0, 0, .72) 0%, rgba(0, 0, 0, .35) 40%, transparent 55%);--success-soft: rgba(74, 222, 128, .15);--selection-border: rgba(13, 148, 136, .5);--selection-bg: rgba(13, 148, 136, .12);--overlay-clear: rgba(0, 0, 0, 0);--overlay-dim: rgba(0, 0, 0, .4);--overlay-scrim: rgba(0, 0, 0, .6);--font-family-base: "DM Sans", "Segoe UI", system-ui, sans-serif;--font-size-2xs: 11px;--font-size-xs: 12px;--font-size-sm: 13px;--font-size-md: 14px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-2xl: 20px;--font-size-3xl: 24px;--font-size-base: var(--font-size-md);--font-size-sm-plus: 13.5px;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-snug: 1.4;--line-height-relaxed: 1.6;--space-1: 2px;--space-2: 4px;--space-3: 8px;--space-4: 12px;--space-5: 16px;--space-6: 20px;--space-7: 24px;--space-8: 28px;--space-9: 32px;--space-10: 40px;--space-11: 48px;--space-12: 56px;--space-13: 64px;--space-14: 80px;--border-width-1: 1px;--border-width-2: 2px;--radius-xs: 6px;--radius-sm: 8px;--radius-md: 10px;--radius-lg: 12px;--radius-xl: 14px;--radius-2xl: 18px;--radius-pill: 999px;--radius: var(--radius-lg);--radius-card: 16px;--duration-fast: .15s;--duration-medium: .2s;--duration-slow: .28s;--duration-slower: .4s;--easing-standard: ease;--easing-smooth: cubic-bezier(.4, 0, .2, 1);--size-container-max: 1200px;--size-header-height: 56px;--size-topbar-height: 56px;--size-sidebar-icon: 32px;--size-select-width: 105px;--size-recipe-card-min-height: 260px;--size-recipe-card-image-height: 150px;--size-recipe-thumb: 72px;--size-recipe-thumb-sm: 44px;--size-recipe-thumb-xs: 20px;--size-badge: 24px;--size-dashboard-card-min: 220px;--size-mealplan-day-min: 240px;--size-mealplan-step-fallback: 300px;--size-modal-max: 320px;--size-modal-wide: 500px;--size-task-modal: 520px;--size-panel-pill-min: 160px;--size-nav-width: 64px;--size-bottom-bar: 64px;--size-sidebar-width: 220px;--size-auth-card-max: 400px;--size-input-sm: 100px;--size-input-xs: 60px;--size-icon-sm: 18px;--size-icon-md: 22px;--size-value-min: 40px;--size-diff-min: 50px;--size-chart-min-height: 100px;--size-bar-min: 4px;--size-recipe-grid-min: 260px;--size-page-max: 900px;--size-blog-content: 720px;--size-input-md: 120px;--size-dropdown-min: 100px;--size-picker-list-max-height: 55vh;--page-top-padding: var(--space-7);--z-header: 50;--z-slot-menu: 10;--z-dropdown: 1000;--z-overlay: 999;--z-modal: 2000;--z-modal-layered: 2100;--z-floating: 10001;--z-dropdown-backdrop: 10001;--z-dropdown-portal: 10002;--shadow-sm: 0 1px 2px var(--shadow);--shadow-md: 0 4px 12px var(--shadow);--shadow-lg: 0 8px 24px var(--shadow);--shadow-xl: 0 16px 40px var(--shadow-strong);--gradient-accent: var(--accent);--gradient-success: var(--success);--gradient-neutral: var(--surface-accent);--select-arrow-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 20 20' fill='%239aa0a8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 7l5 6 5-6H5z'/%3E%3C/svg%3E");--select-arrow-size: 14px}:root[data-theme=light]{color-scheme:light;--bg: #f5f5f7;--bg-gradient: linear-gradient(180deg, #f5f5f7 0%, #ebebef 100%);--surface: #ffffff;--surface-elevated: #ffffff;--surface-accent: #f0f0f2;--text: #1a1a1a;--text-muted: #6b7280;--text-subtle: #9ca3af;--border: rgba(0, 0, 0, .08);--border-strong: rgba(0, 0, 0, .12);--border-subtle: rgba(0, 0, 0, .05);--accent: #0d9488;--accent-light: #14b8a6;--accent-hover: #0f766e;--accent-soft: rgba(13, 148, 136, .12);--accent-spot: rgba(13, 148, 136, .08);--accent-spot-border: rgba(13, 148, 136, .25);--accent-spot-border-soft: rgba(13, 148, 136, .15);--accent-pulse: rgba(13, 148, 136, .3);--error: #dc2626;--error-soft: rgba(220, 38, 38, .12);--success: #16a34a;--warning: #d97706;--shadow: rgba(0, 0, 0, .06);--shadow-sm: rgba(0, 0, 0, .06);--shadow-md: rgba(0, 0, 0, .1);--shadow-lg: rgba(0, 0, 0, .12);--shadow-strong: rgba(0, 0, 0, .1);--shadow-drop: rgba(0, 0, 0, .25);--gold-gradient: linear-gradient(90deg, #b45309 0%, #d97706 25%, #f59e0b 50%, #d97706 75%, #b45309 100%);--error-dark: #b91c1c;--error-gradient: linear-gradient(135deg, #b91c1c 0%, var(--error) 100%);--focus-ring: rgba(59, 130, 246, .25);--focus-ring-soft: rgba(59, 130, 246, .12);--focus-ring-mid: rgba(59, 130, 246, .25);--border-input: rgba(0, 0, 0, .12);--border-input-inverse: rgba(255, 255, 255, .4);--text-shadow-soft: 0 1px 2px rgba(0, 0, 0, .06);--overlay-gradient: linear-gradient(180deg, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .2) 40%, transparent 100%);--overlay-gradient-card: linear-gradient(to top, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .2) 40%, transparent 55%);--gold-accent: #d97706;--gold-accent-hover: #f59e0b;--success-soft: rgba(22, 163, 74, .12);--selection-border: rgba(13, 148, 136, .35);--selection-bg: rgba(13, 148, 136, .08);--overlay-clear: rgba(0, 0, 0, 0);--overlay-dim: rgba(0, 0, 0, .35);--overlay-scrim: rgba(0, 0, 0, .35);--calorie-color: #b45309;--protein-color: #2563eb;--carbs-color: #7c3aed;--fat-color: #db2777;--gradient-neutral: var(--surface-accent);--select-arrow-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 20 20' fill='%236b7280' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 7l5 6 5-6H5z'/%3E%3C/svg%3E")}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100%;width:100%}#root{background:transparent}html{background:var(--bg);overflow-y:scroll;scrollbar-gutter:stable}html,body{transition:background-color var(--duration-slow) var(--easing-standard),color var(--duration-slow) var(--easing-standard)}body{background:var(--bg);color:var(--text);font-family:var(--font-family-base);font-size:var(--font-size-md);line-height:var(--line-height-normal);-webkit-font-smoothing:antialiased}.no-theme-transition,.no-theme-transition *,.no-theme-transition *:before,.no-theme-transition *:after{transition:none!important}@keyframes hashTargetFlash{0%,to{outline-color:transparent}15%{outline-color:var(--accent)}30%{outline-color:transparent}45%{outline-color:var(--accent)}60%{outline-color:transparent}75%{outline-color:var(--accent)}}.hashTargetFlash{outline:2px solid transparent;outline-offset:2px;border-radius:var(--radius-card);animation:hashTargetFlash 2.5s var(--easing-standard) forwards}@media(prefers-reduced-motion:reduce){.hashTargetFlash{animation-duration:.5s}}.appShell{width:100%;min-height:100vh;background:transparent}.appShell--withLockBanner{padding-top:var(--site-lock-banner-height, 36px)}.appContentGrid{max-width:1920px;margin:0 auto;display:grid;grid-template-columns:var(--size-sidebar-width) 1fr;gap:var(--space-8);padding:var(--space-7);min-height:calc(100vh - var(--space-7) * 2)}@media(max-width:768px){.appContentGrid{grid-template-columns:1fr;padding:var(--space-5);padding-bottom:calc(72px + var(--space-5) + env(safe-area-inset-bottom,0))}.sidebarDesktop{display:none!important}}.appMain{min-width:0;padding:0}.appMainInner{display:block;min-width:0}.appMainContent{min-width:0}.mobileBellSlot{display:none}.sidebar{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-5);background:var(--surface);border:none;border-radius:var(--radius-card);min-height:calc(100vh - var(--space-7) * 2);position:sticky;top:var(--space-7);align-self:start}.sidebar.hasNotificationDropdownOpen{z-index:var(--z-modal)}.sidebarBrand{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);border:none;background:transparent;color:var(--text);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);text-align:left;cursor:pointer}.sidebarBrand:hover{background:var(--surface-accent)}.brandText{color:var(--text);font-size:1.5rem;font-weight:700;letter-spacing:.02em}.brandText .brandDot{color:var(--accent)}.brandTextHero{font-size:2rem;font-weight:800}.sidebarNav{display:grid;gap:var(--space-1)}.sidebarLink{display:flex;align-items:center;justify-content:flex-start;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);min-height:36px;border-radius:var(--radius-lg);border:none;background:transparent;color:var(--text-muted);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);text-align:left}.sidebarLabel{font-size:var(--font-size-sm);text-align:left}.sidebarLink:hover{background:var(--surface-accent);color:var(--text)}.sidebarLink.isActive{background:var(--accent-soft);color:var(--accent);font-weight:var(--font-weight-medium)}.sidebarIcon{width:var(--size-icon-md);display:grid;place-items:center;color:inherit;opacity:.9}.sidebarLink.isActive .sidebarIcon{color:var(--accent)}.sidebarExitIndicator{margin-left:auto;font-size:.7em;opacity:.6;color:inherit}.sidebarDivider{height:var(--border-width-1);background:var(--border);margin:var(--space-3) 0}.sidebarFooter{margin-top:auto;display:grid;gap:var(--space-2)}.sidebarBrandRowWrap{position:relative}.sidebarBrandRow{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--space-2)}.sidebarBrandRow .sidebarBrand{grid-column:2;justify-content:center}.sidebarBrandRow .notificationBellAnchor{grid-column:3;justify-self:end}.notificationBellBtn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-2);border:none;border-radius:var(--radius-lg);background:transparent;color:var(--text-muted);cursor:pointer}.notificationBellBtn:hover{background:var(--surface-accent);color:var(--text)}.notificationBellWrap{position:relative;display:grid;place-items:center;width:var(--size-icon-md);height:var(--size-icon-md)}.notificationBellBadge{position:absolute;top:calc(-1 * var(--space-1));right:calc(-1 * var(--space-1));width:var(--space-3);height:var(--space-3);border-radius:50%;background:var(--accent);border:var(--border-width-2) solid var(--surface)}@keyframes notificationBellRing{0%,to{transform:rotate(0)}10%{transform:rotate(-12deg)}20%{transform:rotate(12deg)}30%{transform:rotate(-10deg)}40%{transform:rotate(10deg)}50%,to{transform:rotate(0)}}.notification-bell-ring{animation:notificationBellRing .5s ease-in-out}.notificationBellAnchor{position:relative;display:inline-flex}@keyframes notificationDropdownIn{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}@keyframes notificationDropdownOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-6px)}}.notificationDropdown{position:absolute;left:100%;top:0;margin-left:var(--space-2);min-width:280px;max-width:360px;max-height:min(70vh,320px);overflow:hidden;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);animation:notificationDropdownIn .2s var(--easing-standard) forwards}.notificationDropdown.notificationDropdownExiting{animation:notificationDropdownOut .2s var(--easing-standard) forwards}@media(prefers-reduced-motion:reduce){.notificationDropdown,.notificationDropdown.notificationDropdownExiting{animation:none}}.notificationDropdownHeader{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm)}.notificationMarkAllBtn{padding:var(--space-1) var(--space-2);border:none;border-radius:var(--radius);background:transparent;color:var(--accent);font-size:var(--font-size-xs);cursor:pointer}.notificationMarkAllBtn:hover{background:var(--accent-soft)}.notificationDropdownList{overflow-y:auto;padding:var(--space-2)}.notificationDropdownEmpty{padding:var(--space-4);margin:0;color:var(--text-muted);font-size:var(--font-size-sm)}.notificationDropdownItem{display:flex;flex-direction:row;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);margin-bottom:var(--space-1);border:none;border-radius:var(--radius-lg);background:transparent;color:var(--text);font-size:var(--font-size-sm);text-align:left;cursor:pointer}.notificationDropdownItem:hover{background:var(--surface-accent)}.notificationDropdownItem.isUnread{font-weight:var(--font-weight-medium);background:var(--accent-soft)}.notificationDropdownItem.isUnread:hover{background:var(--surface-accent)}.notificationDropdownItemContent{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1)}.notificationDropdownItemTitle{font-weight:inherit}.notificationDropdownItemBody{color:var(--text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-regular)}.notificationDropdownItemArrow{flex-shrink:0;opacity:.6}.mobileMenuBrandRow{display:flex;align-items:center;gap:var(--space-2)}.mobileMenuBrandRow .mobileMenuBrand{flex:1}.bottomBar{display:none}@media(max-width:768px){.bottomBar{display:flex;align-items:center;justify-content:space-between;position:fixed;bottom:0;left:0;right:0;min-height:72px;height:auto;padding:var(--space-2) var(--space-4);padding-bottom:calc(env(safe-area-inset-bottom,0) + var(--space-2));background:var(--surface);border-top:var(--border-width-1) solid var(--border);z-index:100;box-shadow:0 -2px 10px var(--shadow)}.bottomBarItems{flex:1;min-width:0;display:flex;align-items:stretch;justify-content:space-evenly;gap:0}.bottomBarNavBtn,.bottomBarMenuBtn{flex:1;min-width:0}.bottomBarNavBtn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);padding:var(--space-1) 0;border:none;border-radius:var(--radius-lg);background:transparent;color:var(--text-muted);font-size:1rem;cursor:pointer;transition:background var(--duration-fast),color var(--duration-fast)}.bottomBarNavBtn i{font-size:1.2rem}.bottomBarNavLabel{font-size:.65rem;line-height:1.2;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.bottomBarNavBtn:hover{background:var(--surface-accent);color:var(--text)}.bottomBarNavBtn.isActive,.bottomBarNavBtn.isActive .bottomBarNavLabel{color:var(--accent)}.bottomBarMenuBtn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);padding:var(--space-1) 0;border:none;border-radius:var(--radius-lg);background:transparent;color:var(--text-muted);font-size:1rem;cursor:pointer;transition:background var(--duration-fast),color var(--duration-fast)}.bottomBarMenuBtn i{font-size:1.2rem}.bottomBarMenuBtn .bottomBarNavLabel{font-size:.65rem;line-height:1.2;text-align:center}.bottomBarMenuBtn:hover{background:var(--surface-accent);color:var(--text)}.appMainInner{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto 1fr;align-items:start;column-gap:var(--space-4);row-gap:var(--space-2)}.appMainContent,.appMainContent .pageStagger,.appMainContent .pageStaggerContent,.appMainContent .pageStaggerContent>*,.appMainContent .pageStaggerContent>*>*:first-child{display:contents}.appMainContent .pageStaggerContent>*>*:first-child>*:first-child{grid-row:1;grid-column:1;min-width:0;min-height:44px;align-self:start;display:flex;align-items:center}.appMainContent .pageStaggerContent>*>*:first-child>*:first-child .pageTitle,.appMainContent .pageStaggerContent>*>*:first-child>*:first-child{margin:0}.appMainContent .pageStaggerContent>*>*:first-child>*:not(:first-child){grid-row:2;grid-column:1 / -1;min-width:0;margin-top:calc(var(--space-1) - var(--space-2))!important}.appMainContent .pageStaggerContent>*>*:not(:first-child){grid-row:3;grid-column:1 / -1;min-width:0;margin-top:calc(var(--space-6) - var(--space-2))!important}.mobileBellSlot{grid-row:1;grid-column:2;min-height:44px;align-self:start;display:flex;align-items:center;justify-content:flex-end;position:relative}.mobileHeaderActions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2)}.mobileBellSlot .notificationBellBtn,.mobileHeaderProfileBtn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-lg);background:transparent;color:var(--text-muted);font-size:1.2rem;cursor:pointer;transition:background var(--duration-fast),color var(--duration-fast)}.mobileHeaderProfileBtn:hover{background:var(--surface-accent);color:var(--text)}.mobileHeaderProfileBtn.isActive{color:var(--accent)}.mobileBellSlot .notificationBellBtn{font-size:1.2rem}.notificationDropdownMobileTop{position:absolute;right:0;left:auto;top:100%;margin-top:var(--space-2);margin-left:0;width:min(360px,calc(100vw - var(--space-4) * 2));max-height:min(320px,calc(100vh - 120px));animation:notificationDropdownMobileTopIn .2s var(--easing-standard) forwards}.notificationDropdownMobileTop.notificationDropdownExiting{animation:notificationDropdownMobileTopOut .2s var(--easing-standard) forwards}}@keyframes notificationDropdownMobileTopIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes notificationDropdownMobileTopOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-4px)}}@media(prefers-reduced-motion:reduce){.notificationDropdownMobileTop,.notificationDropdownMobileTop.notificationDropdownExiting{animation:none}}.mobileMenuOverlay,.mobileMenuDrawer{display:none}@media(max-width:768px){.mobileMenuOverlay{display:block;position:fixed;top:0;left:0;right:0;bottom:calc(72px + env(safe-area-inset-bottom,0));background:var(--overlay-dim);z-index:var(--z-overlay);opacity:0;pointer-events:none;transition:opacity .25s var(--easing-standard)}.mobileMenuOverlay.isOpen{opacity:1;pointer-events:auto}.mobileMenuDrawer{display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:calc(72px + env(safe-area-inset-bottom,0));width:min(280px,85vw);max-width:280px;background:var(--surface);z-index:var(--z-modal);transform:translate(-100%);transition:transform .25s var(--easing-standard);overflow:auto}.mobileMenuDrawer.isOpen{transform:translate(0)}.mobileMenuDrawer--right{left:auto;right:0;transform:translate(100%)}.mobileMenuDrawer--right.isOpen{transform:translate(0)}.mobileMenuBrand{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-5);border:none;background:transparent;color:var(--text);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);text-align:left;cursor:pointer}.mobileMenuBrand:hover{background:var(--surface-accent)}.mobileMenuNav{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-5);flex:1;align-items:stretch}.mobileMenuLink{display:flex;align-items:center;justify-content:flex-start;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);min-height:44px;border-radius:var(--radius-lg);border:none;background:transparent;color:var(--text-muted);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);text-align:left;cursor:pointer;transition:background var(--duration-fast),color var(--duration-fast)}.mobileMenuLink:hover{background:var(--surface-accent);color:var(--text)}.mobileMenuLink.isActive{background:var(--accent-soft);color:var(--accent);font-weight:var(--font-weight-medium)}.mobileMenuLink.isActive .sidebarIcon{color:var(--accent)}.mobileMenuLink .sidebarExitIndicator{margin-left:auto;flex-shrink:0;display:inline-flex;align-items:center;font-size:.75rem;min-width:1.25em;opacity:.7;color:inherit}}@media(prefers-reduced-motion:reduce){.mobileMenuOverlay.isOpen,.mobileMenuDrawer,.mobileMenuDrawer.isOpen{transition:none}.cookProgressBarFill:before{transition:none}}.pageStaggerContent{--page-enter-duration: 1.4s;--page-enter-distance: var(--space-2);--page-enter-scale: .999;opacity:0;transform:translateY(var(--page-enter-distance)) scale(var(--page-enter-scale));animation:pageContentEnter var(--page-enter-duration) var(--easing-smooth) forwards}@keyframes pageContentEnter{0%{opacity:0;transform:translateY(var(--page-enter-distance)) scale(var(--page-enter-scale))}to{opacity:1;transform:translateY(0) scale(1)}}*{scrollbar-color:var(--border-strong) var(--surface);scrollbar-width:thin}*::-webkit-scrollbar{width:var(--space-3);height:var(--space-3)}*::-webkit-scrollbar-track{background:var(--surface);border-radius:var(--radius-pill)}*::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-pill);border:var(--border-width-2) solid var(--surface)}*::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media(prefers-reduced-motion:reduce){.pageStaggerContent{animation:none;opacity:1;transform:none}}.pageLoadingContainer{position:relative;min-height:60vh}.pageLoadingOverlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--bg);opacity:.85;z-index:10}.pageLoadingRing{width:48px;height:48px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:pageLoadingSpin .8s linear infinite}@keyframes pageLoadingSpin{to{transform:rotate(360deg)}}@keyframes aiImportLoadingFadeIn{0%{opacity:0}to{opacity:1}}@keyframes aiImportLoadingFadeOut{0%{opacity:1}to{opacity:0}}.aiImportLoadingMessageWrap{width:100%;text-align:center}.aiImportLoadingMessage{position:absolute;left:0;right:0;margin:0;font-size:1.125rem;font-weight:700;color:var(--text);letter-spacing:.02em;text-shadow:0 0 1px var(--surface-elevated),var(--text-shadow-soft)}.aiImportLoadingDots{display:inline-block;margin-left:.1em}.aiImportLoadingDot{display:inline-block;width:.35em;animation:aiImportLoadingDot 1.2s ease-in-out infinite}.aiImportLoadingDot:nth-child(1){animation-delay:0s}.aiImportLoadingDot:nth-child(2){animation-delay:.2s}.aiImportLoadingDot:nth-child(3){animation-delay:.4s}.aiImportLoadingDot:after{content:"."}@keyframes aiImportLoadingDot{0%,60%,to{opacity:.25}30%{opacity:1}}@media(prefers-reduced-motion:reduce){.aiImportLoadingDot{animation:none;opacity:.8}}.aiImportLoadingMessageVisible{opacity:1}.aiImportLoadingMessageIn{animation:aiImportLoadingFadeIn .5s ease-out forwards}.aiImportLoadingMessageOut{animation:aiImportLoadingFadeOut .5s ease-out forwards}@media(prefers-reduced-motion:reduce){.aiImportLoadingMessageIn{animation:aiImportLoadingFadeIn .25s ease-out forwards}.aiImportLoadingMessageOut{animation:aiImportLoadingFadeOut .25s ease-out forwards}}@media(prefers-reduced-motion:reduce){.pageLoadingRing{animation:none;border-top-color:var(--accent);opacity:.9}}.apiLoadingBar{position:fixed;top:0;left:0;right:0;height:3px;z-index:9999;background:var(--border);overflow:hidden}.apiLoadingBarFill{height:100%;width:40%;background:var(--accent);animation:apiLoadingBarSlide 1.2s ease-in-out infinite}@keyframes apiLoadingBarSlide{0%{transform:translate(-100%)}50%{transform:translate(250%)}to{transform:translate(-100%)}}@media(prefers-reduced-motion:reduce){.apiLoadingBarFill{animation:none;width:100%;opacity:.7}}button,input,select,textarea,a{transition:background-color var(--duration-medium) var(--easing-standard),border-color var(--duration-fast) var(--easing-standard),color var(--duration-medium) var(--easing-standard),box-shadow var(--duration-fast) var(--easing-standard),transform var(--duration-fast) var(--easing-standard),opacity var(--duration-fast) var(--easing-standard)}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.container{max-width:100%;margin-left:0;margin-right:0;margin-top:0;padding-left:0;padding-right:0;padding-top:0}.pageHeader{margin-bottom:var(--space-6)}.pageTitle{margin:0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--text);letter-spacing:-.02em}.pageContent{min-height:0;margin-top:0;padding-top:0}.pageContent>*:first-child{margin-top:0!important;padding-top:0}.profilePageContent{max-width:960px}button,input,select,textarea{font:inherit;font-size:var(--font-size-md);line-height:var(--line-height-tight)}button{padding:var(--space-3) var(--space-5);min-height:36px;border-radius:var(--radius-lg);border:none;background:var(--surface-elevated);color:var(--text);cursor:pointer;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;transition:background var(--duration-fast),color var(--duration-fast)}button.btn,.btn.btnPrimary,.btn.btnSecondary{height:36px!important;min-height:36px!important;max-height:36px!important;padding:0 var(--space-5)!important;box-sizing:border-box;line-height:1}button:hover:not(.btnPrimary):not(.btn--danger):not(.taskModalToggleSwitch):not(.passwordInputToggle){background:var(--surface-accent)}input:hover,select:hover,textarea:hover{border-color:var(--border-strong)}button:disabled{opacity:.6;cursor:default}.btn{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);border-radius:var(--radius);display:inline-flex;align-items:center;justify-content:center}button:not(.btnPrimary):not(.btnSecondary).btn{min-height:36px;padding:var(--space-3) var(--space-5)}.btnPrimary{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);border-radius:var(--radius);display:inline-flex;align-items:center;justify-content:center;background:var(--accent);border:none;color:var(--text-on-accent);transition:background var(--duration-fast) var(--easing-smooth),opacity var(--duration-fast) var(--easing-smooth)}.btnPrimary:hover{background:var(--accent-hover)}.btnPrimary:disabled{opacity:.5;cursor:not-allowed}.loginPage{min-height:100vh;font-family:var(--font-family-base);background:var(--bg);position:relative;overflow:hidden}.loginPage--withLockBanner{padding-top:calc(var(--site-lock-banner-height, 52px) + 56px)}.loginPage:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 80% 50% at 20% 20%,var(--accent-spot) 0%,transparent 50%),radial-gradient(ellipse 60% 40% at 80% 80%,var(--accent-spot) 0%,transparent 45%);pointer-events:none;animation:loginBgPulse 8s ease-in-out infinite alternate}@keyframes loginBgPulse{0%{opacity:.6}to{opacity:1}}.loginPage .appContentGrid.loginPageGrid{max-width:1920px;margin:0 auto;grid-template-columns:1fr}.loginPageMain{display:flex;flex-direction:column;justify-content:center;align-items:center}@media(max-width:768px){.loginPage .appContentGrid.loginPageGrid{padding-bottom:var(--space-5)}}.loginLanding{width:100%;max-width:1120px;padding:calc(var(--space-12) + var(--space-6)) var(--space-6) calc(var(--space-14) + var(--space-8));margin:0 auto;display:flex;flex-direction:column;gap:var(--space-10);position:relative;z-index:1}@media(max-width:768px){.loginLanding{padding:var(--space-6) var(--space-4) var(--space-10);gap:var(--space-8)}}.loginHeroSection{display:block;padding-bottom:var(--space-8)}.loginSectionDivider{height:2px;background:var(--border-strong);flex-shrink:0}@keyframes loginSectionHighlight{0%{outline-color:transparent}20%{outline-color:var(--accent)}to{outline-color:transparent}}.loginSectionHighlight{outline:2px solid transparent;outline-offset:4px;border-radius:var(--radius-lg);animation:loginSectionHighlight .9s var(--easing-smooth) forwards}@media(prefers-reduced-motion:reduce){.loginSectionHighlight{animation-duration:.4s}}.loginHeroCopy{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-5);width:100%}.loginTopbar{position:fixed;top:0;left:0;right:0;width:100%;z-index:var(--z-modal);padding:var(--space-3) var(--space-6);background:color-mix(in srgb,var(--surface-elevated) 40%,transparent);border-bottom:1px solid var(--border-subtle);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);box-shadow:0 4px 24px var(--shadow-md)}.loginTopbarInner{max-width:1120px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.loginTopbar--belowBanner{top:var(--site-lock-banner-height, 52px);z-index:var(--z-modal)}.loginTopbar--scrolled{background:color-mix(in srgb,var(--surface-elevated) 75%,transparent);box-shadow:0 8px 32px var(--shadow)}.loginTopbarBrand{display:flex;align-items:center;gap:var(--space-2)}.loginTopbarNav{display:flex;align-items:center;gap:var(--space-3);font-size:var(--font-size-xs);color:var(--text-muted)}.loginTopbarLink{border:none;background:transparent;color:inherit;padding:var(--space-2) var(--space-5);border-radius:999px;cursor:pointer;transition:background-color var(--duration-fast) var(--easing-smooth),color var(--duration-fast) var(--easing-smooth),transform var(--duration-fast) var(--easing-smooth)}.loginTopbarLink:hover{background:color-mix(in srgb,var(--surface-elevated) 55%,transparent);color:var(--text);transform:translateY(-1px)}.loginTopbarLink:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.loginTopbarButton{min-width:96px}.loginTopbarActions{display:flex;align-items:center;gap:var(--space-2)}#problem,#features,#pricing,#how-it-works,#feature-dashboard,#feature-meal-planning,#feature-recipe-library,#feature-budgeting,#feature-tasks,#feature-workouts{scroll-margin-top:var(--space-13)}.modalCloseButton{border:none;background:transparent;font-size:1.2rem;line-height:1;padding:var(--space-1);cursor:pointer}.loginHeroCopy .brandText.brandTextHero{margin-bottom:var(--space-1);font-size:clamp(3rem,8vw,5.5rem)}.loginHeroSubheadline{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-medium);color:var(--text-muted)}.loginHeroCTA{margin:0}.loginSlogan{margin:0 auto;text-align:center;color:var(--text-muted);font-size:var(--font-size-sm);line-height:1.5;max-width:42ch}.loginPlansSection{display:flex;flex-direction:column;gap:var(--space-8);padding-top:var(--space-8);padding-bottom:var(--space-8)}.loginPlansHeader{text-align:center;margin-bottom:var(--space-4);max-width:52ch;margin-left:auto;margin-right:auto}.loginPlansGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6);max-width:960px;margin:0 auto}.loginPlanCard{padding:var(--space-6);border-radius:var(--radius-xl);border:1px solid var(--border-subtle);background:var(--surface-elevated);display:flex;flex-direction:column;gap:var(--space-4);position:relative;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,opacity .2s ease}.loginPlanCard:hover{transform:translateY(-4px);box-shadow:0 12px 24px color-mix(in srgb,var(--text) 8%,transparent)}.loginPlanCard--free{border-color:var(--border-subtle);background:var(--surface-elevated)}.loginPlanCard--free:hover{border-color:var(--border-strong)}.loginPlanCard--plus{border-color:color-mix(in srgb,var(--accent) 40%,var(--border-subtle))}.loginPlanCard--plus:hover{border-color:var(--accent)}.loginPlanCard--plus .loginPlanCardTitle{color:var(--accent)}.loginPlanCard--pro{opacity:.85;border-color:color-mix(in srgb,var(--gold-accent) 35%,var(--border-subtle));overflow:hidden}.loginPlanCard--pro:before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 0%,transparent 30%,color-mix(in srgb,white 12%,transparent) 50%,transparent 70%,transparent 100%);transform:translate(-100%);pointer-events:none}.loginPlanCard--pro:hover{opacity:1;border-color:var(--gold-accent)}.loginPlanCard--pro:hover:before{transform:translate(100%);transition:transform .9s ease}.loginPlanCard--pro .loginPlanCardTitle{color:var(--gold-accent)}.loginPlanCardBadge{position:absolute;top:var(--space-3);right:var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.04em;color:var(--gold-accent);background:color-mix(in srgb,var(--gold-accent) 15%,var(--surface-elevated));padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}.loginPlanCardBadge--current{color:var(--text-muted);background:color-mix(in srgb,var(--text-muted) 12%,var(--surface-elevated))}.loginPlanCardHeader{margin-bottom:var(--space-2)}.loginPlanCardTitle{margin:0 0 var(--space-1);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.loginPlanCardPrice{margin:0;font-size:var(--font-size-md);color:var(--text-muted)}.loginPlanCardPriceAmount{font-weight:var(--font-weight-bold);color:var(--text);font-size:var(--font-size-xl)}.loginPlanCardPricePeriod{font-weight:400;font-size:var(--font-size-sm)}.loginPlanCardFeatures{margin:0;padding-left:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--text-muted);line-height:1.5;flex:1}.loginPlanCardAiFeatures{margin-top:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--border-subtle)}.loginPlanCardAiLabel{margin:0 0 var(--space-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text)}.loginPlanCardFeatures li.loginPlanCardAiLabel{list-style:none;margin-left:calc(-1 * var(--space-4));padding-left:0}.loginPlanCardAiFeatures .loginPlanCardFeatures{flex:none;margin-top:0}.loginPlanCardCTA{margin-top:auto}@media(max-width:900px){.loginPlansGrid{grid-template-columns:1fr}}.loginFeatureSection{display:flex;flex-direction:column;gap:var(--space-6);padding-top:var(--space-8);padding-bottom:var(--space-8)}.loginFeatureSection .loginSectionHeader{text-align:center;max-width:52ch;margin-left:auto;margin-right:auto}.loginSectionHeader{max-width:52ch}.loginSectionTitle{margin:0 0 var(--space-1);font-size:var(--font-size-xl)}.loginSectionSubtitle{margin:0;font-size:var(--font-size-sm);color:var(--text-muted)}.loginFeatureGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}@media(max-width:1024px){.loginFeatureGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.loginFeatureGrid{grid-template-columns:1fr}}.loginFeatureCard{background:var(--surface-elevated);border-radius:var(--radius-lg);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);border:1px solid var(--border-subtle);cursor:pointer;text-align:left;font:inherit;color:inherit;margin:0;width:100%;min-width:0;transition:transform var(--duration-fast) var(--easing-smooth),box-shadow var(--duration-fast) var(--easing-smooth),border-color var(--duration-fast) var(--easing-smooth),background var(--duration-fast) var(--easing-smooth)}.loginFeatureCard:hover{transform:translateY(-2px);box-shadow:0 8px 24px var(--shadow-md);border-color:var(--accent-soft);background:color-mix(in srgb,var(--accent-soft) 8%,var(--surface-elevated))}.loginFeatureCard:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.loginFeatureCard .loginFeatureCardCTA{margin-top:var(--space-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--accent)}.loginFeatureCard:hover .loginFeatureCardCTA{color:var(--accent-hover)}.loginFeatureCardHeader{display:flex;align-items:center;gap:var(--space-3)}.loginFeatureCardIcon{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--accent-soft);color:var(--accent)}.loginFeatureCardTitle{margin:0;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold)}.loginFeatureCardDesc{margin:0;font-size:var(--font-size-sm);color:var(--text-muted)}.loginJourneySection{display:flex;flex-direction:column;gap:var(--space-4);padding-top:var(--space-8);padding-bottom:var(--space-8)}.loginJourneySection .loginSectionHeader{text-align:center;margin-bottom:var(--space-4);max-width:52ch;margin-left:auto;margin-right:auto}.loginTimeline{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:var(--space-8);padding:0 var(--space-4)}.loginTimelineTrack{position:absolute;top:5px;left:10%;right:10%;height:4px;background:linear-gradient(90deg,transparent 0%,var(--accent-soft) 5%,var(--accent) 20%,var(--accent-light) 50%,var(--accent) 80%,var(--accent-soft) 95%,transparent 100%);border-radius:999px;box-shadow:0 0 12px var(--accent-spot),0 0 24px var(--accent-soft)}.loginTimelineStep{position:relative;display:flex;flex-direction:column;align-items:center;z-index:1}.loginTimelineNode{width:12px;height:12px;border-radius:50%;background:var(--accent);border:2px solid var(--surface-elevated);margin-bottom:var(--space-4)}.loginTimelineStep:after{content:"";position:absolute;top:12px;left:50%;transform:translate(-50%);width:2px;height:var(--space-3);background:linear-gradient(180deg,var(--accent-soft),transparent);z-index:0}.loginTimelineStep:last-child:after{display:none}.loginTimelineContent{padding:var(--space-5);border-radius:var(--radius-lg);background:var(--surface-elevated);border:1px solid var(--border-subtle);box-shadow:0 4px 20px var(--shadow-md);text-align:center;width:100%;max-width:280px;transition:transform var(--duration-fast) var(--easing-smooth),box-shadow var(--duration-fast) var(--easing-smooth)}.loginTimelineStep:hover .loginTimelineContent{transform:translateY(-2px);box-shadow:0 8px 28px var(--shadow-lg)}.loginTimelineTitle{margin:0 0 var(--space-2);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold)}.loginTimelineDesc{margin:0;font-size:var(--font-size-sm);color:var(--text-muted);line-height:1.5}@media(max-width:768px){.loginTimeline{grid-template-columns:1fr;padding:0}.loginTimelineTrack{inset:0 auto 0 5px;width:4px;height:100%;background:linear-gradient(180deg,transparent 0%,var(--accent-soft) 8%,var(--accent) 25%,var(--accent-light) 50%,var(--accent) 75%,var(--accent-soft) 92%,transparent 100%)}.loginTimelineStep{flex-direction:row;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6)}.loginTimelineNode{flex-shrink:0;width:12px;height:12px;margin-bottom:0}.loginTimelineStep:after{display:none}.loginTimelineContent{flex:1;max-width:none;text-align:left}}.loginFeatureDetailSection{padding:var(--space-8) var(--space-6);border-radius:var(--radius-xl);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 6%,var(--surface-elevated)),var(--surface-elevated));border:1px solid var(--border-subtle)}.loginFeatureDetailMain{display:grid;grid-template-columns:1fr minmax(280px,420px);gap:var(--space-10);align-items:start}.loginFeatureDetailContent{min-width:0}.loginFeatureDetailRight{display:flex;flex-direction:column;gap:var(--space-6);min-width:0}.loginFeatureDetailImageWrap{margin-top:var(--space-6);width:100%;max-width:500px;aspect-ratio:500 / 320;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border-subtle);box-shadow:0 4px 20px var(--shadow-md);background:var(--surface-elevated)}.loginFeatureDetailImage{display:block;width:100%;height:100%;object-fit:cover;vertical-align:middle}.loginFeatureDetailHeader{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4)}.loginFeatureDetailIcon{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);background:var(--accent-soft);color:var(--accent);font-size:1.25rem}.loginFeatureDetailTitle{margin:0}.loginFeatureDetailExtended{margin:0;font-size:var(--font-size-md);line-height:1.6;max-width:44ch;color:var(--text-muted)}.loginFeatureDetailGrid{display:grid;grid-template-columns:1fr;grid-auto-rows:72px;gap:var(--space-4);width:100%;min-width:260px}.loginFeatureDetailItem{display:flex;align-items:center;gap:var(--space-4);padding:0 var(--space-5);height:100%;min-height:0;min-width:0;border-radius:var(--radius-lg);background:var(--surface-elevated);border:1px solid var(--border);transition:border-color var(--duration-fast),background var(--duration-fast),box-shadow var(--duration-fast)}.loginFeatureDetailItem:hover{border-color:var(--accent-soft);background:color-mix(in srgb,var(--accent-soft) 15%,var(--surface-elevated));box-shadow:0 2px 8px var(--shadow-sm)}.loginFeatureDetailItemIcon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--accent-soft);color:var(--accent);font-size:var(--font-size-md)}.loginFeatureDetailItemIconImg{width:22px;height:22px;object-fit:contain;opacity:.85;filter:brightness(0) saturate(100%) invert(48%) sepia(79%) saturate(2476%) hue-rotate(130deg) brightness(88%) contrast(101%)}.loginFeatureDetailItemLabel{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);min-width:0;flex:1;display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.tierBadge{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.04em;padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm)}@media(max-width:768px){.loginFeatureDetailMain{grid-template-columns:1fr;gap:var(--space-6)}.loginFeatureDetailImageWrap{max-width:100%}.loginFeatureDetailGrid{width:100%}}.loginFeatureDetailActions{margin-top:var(--space-6)}.loginFinalCTA{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-8);border-radius:var(--radius-lg);background:var(--surface-elevated);margin-top:var(--space-8)}.loginFinalCopy{max-width:52ch}.loginFinalButton{min-width:200px}.loginSection{scroll-margin-top:var(--space-10);opacity:0;transform:translateY(32px);transition:opacity .6s var(--easing-smooth),transform .6s var(--easing-smooth)}.loginSection--hero,.loginSection.isVisible{opacity:1;transform:translateY(0)}.loginSection--hero.isVisible{transition-delay:0ms}.loginSection--problem.isVisible{transition-delay:.1s}.loginSection--journey.isVisible{transition-delay:.12s}.loginSection--features.isVisible{transition-delay:.14s}.loginSection--pricing.isVisible{transition-delay:.16s}.loginFeatureDetailSection.isVisible{transition-delay:80ms}.loginSection--final.isVisible{transition-delay:.12s}@media(prefers-reduced-motion:reduce){.loginSection{opacity:1;transform:none;transition:none}}.loginProblemSection{padding-top:var(--space-8);padding-bottom:var(--space-8)}.loginProblemHeader{text-align:center;margin-bottom:var(--space-8);max-width:52ch;margin-left:auto;margin-right:auto}.loginProblemHeader .loginSectionTitle{margin-bottom:var(--space-2)}.loginProblemGrid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8);align-items:center;max-width:720px;margin:0 auto}.loginProblemColumn{display:flex;flex-direction:column;gap:var(--space-4)}.loginProblemColumnTitle{margin:0 0 var(--space-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.loginProblemSolutionText{margin:0 0 var(--space-4);font-size:var(--font-size-sm);color:var(--text-muted);line-height:1.5}.loginProblemList{margin:0;padding-left:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--text-muted)}.loginProblemColumnSolution{justify-content:stretch;padding:var(--space-6);border-radius:var(--radius-xl);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 10%,var(--surface-elevated)),var(--surface-elevated));border:1px solid var(--accent-soft);box-shadow:0 4px 24px var(--accent-spot)}.loginProblemColumnSolution .loginProblemColumnTitle{color:var(--accent);font-weight:var(--font-weight-bold)}.loginProblemColumnSolution .loginProblemSolutionText{color:var(--text);font-size:var(--font-size-md);line-height:1.6;margin-bottom:var(--space-2)}.loginProblemColumnSolution .loginProblemCTA{margin-top:var(--space-2)}.loginProblemCTA{margin-top:var(--space-2);min-width:200px}@media(max-width:960px){.loginProblemGrid{grid-template-columns:1fr}}.loginTopbarMenuWrap{position:relative;display:none}.loginTopbarMenuBtn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:none;border-radius:var(--radius-lg);background:transparent;color:var(--text-muted);cursor:pointer;transition:background-color var(--duration-fast) var(--easing-smooth),color var(--duration-fast) var(--easing-smooth)}.loginTopbarMenuBtn:hover{background:color-mix(in srgb,var(--surface-elevated) 55%,transparent);color:var(--text)}.loginTopbarMenuBtn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.loginTopbarMenuPanel{position:absolute;top:calc(100% + var(--space-2));right:0;min-width:180px;padding:var(--space-2);background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:0 8px 32px var(--shadow-lg);display:flex;flex-direction:column;gap:var(--space-1);z-index:1;opacity:0;transform:translateY(-8px);visibility:hidden;pointer-events:none;transition:opacity var(--duration-fast) var(--easing-smooth),transform var(--duration-fast) var(--easing-smooth),visibility 0s linear .15s}.loginTopbarMenuPanel--open{opacity:1;transform:translateY(0);visibility:visible;pointer-events:auto;transition-delay:0s}.loginTopbarMenuLink{display:block;width:100%;padding:var(--space-3) var(--space-4);border:none;border-radius:var(--radius-md);background:transparent;color:var(--text);font-size:var(--font-size-sm);text-align:left;cursor:pointer;transition:background-color var(--duration-fast) var(--easing-smooth)}.loginTopbarMenuLink:hover{background:var(--surface-accent)}@media(max-width:768px){.loginTopbarInner{gap:var(--space-2)}.loginTopbarNav{display:none}.loginTopbarMenuWrap{display:block}}.authModalOverlay{z-index:var(--z-modal);padding:var(--space-4)}.modalCard.authModalCard{width:min(740px,100%);max-width:min(740px,100%);max-height:calc(100vh - var(--space-8));padding:0;overflow:hidden}.authModalClose{position:absolute;top:var(--space-4);right:var(--space-4);z-index:2;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-muted);font-size:1.25rem;border-radius:var(--radius-md);cursor:pointer;transition:background var(--duration-fast),color var(--duration-fast)}.authModalClose:hover{background:var(--surface-accent);color:var(--text)}.authModalLayout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);min-height:360px}@media(max-width:720px){.authModalLayout{grid-template-columns:1fr}.authModalPanel{padding:var(--space-6);min-height:180px;border-right:none;border-bottom:1px solid var(--border-subtle)}}.authModalPanel{background:var(--surface-elevated);padding:var(--space-8);display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;border-right:1px solid var(--border-subtle)}.authModalPanel:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 80% 50% at 20% 20%,var(--accent-spot) 0%,transparent 50%),radial-gradient(ellipse 60% 40% at 80% 80%,var(--accent-spot) 0%,transparent 45%);pointer-events:none}.authModalBrand{position:absolute;top:var(--space-8);left:var(--space-8);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text)}.authModalPanelSpacer{flex:1 1 auto;min-height:var(--space-12)}.authModalLogoDot{color:var(--accent)}.authModalSlogan{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:1.2;color:var(--text);margin-bottom:var(--space-4);position:relative}.authModalDesc{font-size:var(--font-size-sm);color:var(--text-muted);line-height:1.5;margin:0;max-width:32ch;position:relative}.authModalFormSwap{transform-origin:top center;opacity:.5;transform:scale(.98)}.authModalFormSwap.authModalFormSwap--animate{animation:authModalFormIn .4s var(--easing-smooth) forwards}@keyframes authModalFormIn{0%{opacity:.5;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.authModalForm{padding:var(--space-10) var(--space-10);background:var(--surface);min-width:0}.authModalFormHeader{margin-bottom:var(--space-6)}.authModalFormTitle{margin:0 0 var(--space-1);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text)}.authModalFormSubtitle{margin:0;font-size:var(--font-size-sm);color:var(--text-muted)}.authModalFormBody{display:flex;flex-direction:column;gap:var(--space-4)}.authModalField{display:flex;flex-direction:column;gap:var(--space-1)}.authModalField label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-muted)}.authModalField input{width:100%;height:36px;min-height:36px;padding:0 var(--space-4);font-size:var(--font-size-md);color:var(--text);background:var(--surface-elevated);border:var(--border-width-1) solid var(--border);border-radius:var(--radius-lg);box-sizing:border-box;transition:border-color var(--duration-fast),box-shadow var(--duration-fast)}.authModalField input::placeholder{color:var(--text-subtle)}.authModalField input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.passwordInputWrap{position:relative;width:100%}.passwordInputWrap input{width:100%;padding-right:2.5rem;box-sizing:border-box}.passwordInputToggle{position:absolute;right:var(--space-3);top:50%;transform:translateY(-50%);background:none;border:none;padding:var(--space-1);color:var(--text-muted);cursor:pointer;font-size:var(--font-size-sm);border-radius:var(--radius-sm);transition:color var(--duration-fast)}.passwordInputToggle:hover{color:var(--text);background:transparent}.authModalPasswordHintRow{display:flex;align-items:center;gap:var(--space-2);margin:var(--space-1) 0 0;min-height:16px}.authModalPasswordCheck{width:16px;height:16px;min-width:16px;min-height:16px;border-radius:50%;flex-shrink:0;border:2px solid transparent;box-sizing:border-box;transition:background-color .2s,border-color .2s;display:flex;align-items:center;justify-content:center;background-color:var(--surface-accent);border-color:var(--border)}.authModalPasswordCheck.checked{background-color:var(--accent);border-color:var(--accent)}.authModalPasswordCheck.checked .authModalPasswordCheckIcon{color:var(--text-on-accent);font-size:8px}.authModalPasswordHint{margin:0;line-height:1.4;font-size:var(--font-size-2xs);color:var(--text-subtle)}.authModalError{font-size:var(--font-size-sm);color:var(--error);padding:var(--space-2) var(--space-3);background:var(--error-soft);border-radius:var(--radius-md)}.authModalErrorLink{background:none;border:none;padding:0;color:var(--accent);text-decoration:underline;cursor:pointer;font:inherit}.authModalErrorLink:hover{color:var(--accent-light)}.authModalSubmit{width:100%;min-height:40px}.authModalFooter{margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--border-subtle);font-size:var(--font-size-sm);color:var(--text-muted)}.authModalFooter p{margin:0}.authModalSwitch{background:none;border:none;padding:var(--space-1) var(--space-3);margin-left:.2em;color:var(--accent);font-weight:var(--font-weight-medium);text-decoration:underline;cursor:pointer;font:inherit}.authModalSwitch:hover{color:var(--accent-light)}.btnSecondary{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);border-radius:var(--radius);display:inline-flex;align-items:center;justify-content:center;position:relative;border:var(--border-width-1) solid var(--border);background:transparent;color:var(--text);transition:border-color var(--duration-fast),background var(--duration-fast),color var(--duration-fast)}.btnSecondary:before{content:none}.btnSecondary.btnPrimary{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.btnSecondary:hover{border-color:var(--border-strong);background:var(--surface-accent)}.btnSubtle{background:transparent;border:none;color:var(--text-muted);padding:var(--space-2) var(--space-4);min-height:unset}.btnSubtle:hover{color:var(--text);background:var(--surface-accent)}.recipePageNavBtn{padding:var(--space-3) var(--space-5)!important;font-size:var(--font-size-sm);white-space:nowrap}.pageHeader .btnPrimary:has(>i:only-child),.pageHeader .btnPrimary:has(>img:only-child),.pageHeader .btnSecondary:not(.recipePageNavBtnWithLabel):has(>i:only-child),.pageHeader .btnSecondary:not(.recipePageNavBtnWithLabel):has(>img:only-child),.pageHeader .recipePageNavBtn:not(.recipePageNavBtnWithLabel):has(>i:only-child),.pageHeader .recipePageNavBtn:not(.recipePageNavBtnWithLabel):has(>img:only-child),.pageHeader .btnSubtle.btn--danger:has(>i:only-child),.pageHeader .btnSubtle.btn--danger:has(>img:only-child),.pageContent .recipePageNavBtn:has(>i:only-child),.pageContent .recipePageNavBtn:has(>img:only-child){min-width:36px;width:36px;padding:0!important}.btnPrimary.recipePageNavBtnAi{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);background:var(--gold-accent)!important}.btnPrimary.recipePageNavBtnAi:hover{background:var(--gold-accent-hover)!important}.recipePageNavBtnAiIcon{display:block;flex-shrink:0}.recipePageNavBtnAiText{display:inline-flex;align-items:baseline;gap:var(--space-2);flex-shrink:0}.recipePageNavBtnAiLabel{flex-shrink:0;line-height:1}.btnPrimary.recipePageNavBtnAi .tierBadge{flex-shrink:0;line-height:1;vertical-align:baseline}.btnPillGroup{display:inline-flex;gap:var(--space-1);background:var(--surface-elevated);border:none;border-radius:var(--radius-pill);padding:var(--space-1)}.btnPillGroup .btnPill{border:none;background:transparent;color:var(--text-muted);padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);font-size:var(--font-size-xs);min-height:unset;cursor:pointer}.btnPillGroup .btnPill:hover{color:var(--text)}.btnPillGroup .btnPill.isActive{background:var(--surface-accent);color:var(--text)}.btn--danger{background:var(--error);border:none;color:var(--text-on-accent);min-height:36px;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:var(--space-3) var(--space-5);border-radius:var(--radius-lg)}.btn--danger:hover{opacity:.9}.btn--danger:disabled{opacity:.5;cursor:not-allowed}select{border-radius:var(--radius-lg);border:var(--border-width-1) solid var(--border);background:var(--surface-accent);color:var(--text);outline:none;font-size:var(--font-size-md);transition:border-color var(--duration-fast),box-shadow var(--duration-fast)}select:focus,select:focus-visible{outline:none;box-shadow:0 0 0 3px var(--accent-soft);border-color:var(--accent)}select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:calc(var(--space-9) + var(--select-arrow-size));background-image:var(--select-arrow-image);background-repeat:no-repeat;background-position:right var(--space-6) center;background-size:var(--select-arrow-size)}option{background:var(--surface-accent);color:var(--text);border-radius:var(--radius)}.select{position:relative;width:100%}.selectMenuPortaled{right:auto;width:max-content;max-width:min(100vw - var(--space-4),400px)}.selectButton{width:100%;min-height:36px;padding:var(--space-3) var(--space-4);padding-right:calc(var(--space-9) + var(--select-arrow-size));border-radius:var(--radius-lg);border:var(--border-width-1) solid var(--border);background:var(--surface-accent);color:var(--text);cursor:pointer;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;transition:border-color var(--duration-fast) var(--easing-standard),filter var(--duration-fast) var(--easing-standard)}.selectButton:hover{border-color:var(--border-strong);filter:brightness(1.05)}.recipeFormCard{background:var(--surface);border:var(--border-width-1) solid var(--border);border-radius:var(--radius-lg);padding:var(--space-8);margin-bottom:var(--space-6)}.recipeFormCard:first-of-type{margin-top:var(--space-6)}.pageContent>.recipeFormCard:first-of-type{padding-top:var(--space-8)}.recipeFormCard:last-of-type{margin-bottom:0}.recipeFormEmptyState{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-10) var(--space-8);border:var(--border-width-2) dashed var(--border);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--font-size-sm)}.recipeFormEmptyState button{margin-top:var(--space-4)}.recipeFormRow{overflow:hidden;transition:opacity .2s ease,transform .2s ease,max-height .25s ease}.recipeFormRowEnter{animation:recipeFormRowIn .25s ease forwards}.recipeFormRowExit{opacity:0;transform:translateY(-8px);max-height:0;margin-top:0!important;margin-bottom:0!important;padding-top:0!important;padding-bottom:0!important;pointer-events:none}@keyframes recipeFormRowIn{0%{opacity:0;transform:translateY(-8px);max-height:0}to{opacity:1;transform:translateY(0);max-height:120px}}@media(prefers-reduced-motion:reduce){.recipeFormRow,.recipeFormRowEnter,.recipeFormRowExit{transition:none;animation:none}.recipeFormRowExit{opacity:0;transform:translateY(-8px);max-height:0}}.recipeEffortSlider{width:100%;height:8px;-webkit-appearance:none;appearance:none;background:var(--surface-accent);border:none;border-radius:var(--radius-pill);outline:none;-webkit-user-select:none;user-select:none}.recipeEffortSlider:focus,.recipeEffortSlider:focus-visible{outline:none;outline:0 solid transparent;outline-offset:0;box-shadow:none}.recipeEffortSlider::-webkit-slider-runnable-track{outline:none;box-shadow:none}.recipeEffortSlider::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--accent);cursor:pointer;border:2px solid var(--surface);box-shadow:0 1px 3px var(--shadow);outline:none}.recipeEffortSlider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--accent);cursor:pointer;border:2px solid var(--surface);outline:none}.recipeEffortSlider::-moz-range-track{outline:none}.recipeEffortSlider::-moz-focus-outer{border:none;outline:none}.recipeEffortSlider:-moz-focusring{outline:none}.cookProgressBar{height:8px;border-radius:var(--radius-pill);background:var(--surface-accent);overflow:hidden}.cookProgressBarFill{position:relative;height:100%;border-radius:var(--radius-pill);background:var(--gradient-accent);transition:width .35s ease-out}.cookProgressBarFill:before{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--gold-gradient);background-size:200% 100%;opacity:0;transition:opacity .35s ease-out;pointer-events:none}.cookProgressBarFill.cookProgressBarFillComplete:before{opacity:1;animation:cookProgressShine 1.5s ease-in-out}@keyframes cookProgressShine{0%{background-position:100% 0}to{background-position:-100% 0}}.cookModeRecipeSummaryCard{display:flex;flex-direction:column;gap:0}.cookModeSummaryRow{padding-top:var(--space-5);border-top:var(--border-width-1) solid var(--border)}.cookModeSummaryRow:first-child{padding-top:0;border-top:none}.cookModeSummaryRow1{padding-bottom:var(--space-4)}.cookModeSummaryTitleBlock{min-width:0}.cookModeSummaryTitle{margin:0 0 var(--space-2);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);line-height:1.2}.cookModeSummaryDescription{margin:0;font-size:var(--font-size-sm);color:var(--text-muted);line-height:1.4}.cookModeSummaryRow2{display:grid;grid-template-columns:1fr;align-items:stretch;padding-bottom:var(--space-5)}.cookModeSummaryRow2Single{max-width:100%}.cookModeSummaryBarBlock{display:flex;flex-direction:column;gap:var(--space-2);min-height:56px}.cookModeSummaryBarLabel{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em}.cookModeSummaryBarValue{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.cookModeSummaryBarTrack{height:18px;min-height:18px;border-radius:var(--radius-pill);background:var(--surface-accent);border:var(--border-width-1) solid var(--border);box-sizing:border-box;flex-shrink:0;overflow:hidden;display:flex;align-items:center;padding:0}.cookProgressBar.cookModeSummaryBarTrack{display:block}.cookModeSummarySlider{width:100%;height:18px;margin:0;vertical-align:middle}.cookModeSummaryBarTrack input[type=range]{border:none}.cookModeSummaryBarTrack input[type=range]:focus,.cookModeSummaryBarTrack input[type=range]:focus-visible{outline:none;box-shadow:none}.cookModeSummaryBarTrack input[type=range]::-moz-focus-outer{border:none;outline:none}.cookModeSummaryBarTrack .recipeEffortSlider::-webkit-slider-thumb,.cookModeSummaryBarTrack .recipeEffortSlider::-moz-range-thumb{width:18px;height:18px}.cookModeSummaryRow3{padding-top:var(--space-5)}.cookModeSummaryNutritionHeadingRow{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4)}.cookModeSummaryNutritionHeading{margin:0;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.cookModeNutritionInfoIcon{flex-shrink:0}.cookModeNutritionTable{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3) var(--space-6)}@media(min-width:520px){.cookModeNutritionTable{grid-template-columns:repeat(4,1fr)}}.cookModeNutritionItem{display:grid;grid-template-columns:auto 1fr;gap:var(--space-3);align-items:baseline;min-width:0}.cookModeNutritionItemLabel{flex-shrink:0;font-size:var(--font-size-xs);padding:var(--space-1) var(--space-3);white-space:nowrap}.cookModeNutritionItemValue{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text);white-space:nowrap;min-width:0}.cookModeNutritionItemValue .cookModeNutritionItemPct{font-weight:var(--font-weight-normal);color:var(--text-muted)}.cookModeNutritionItemPct{font-size:inherit;font-weight:var(--font-weight-normal);color:var(--text-muted)}.cookModeRecipeSummaryEmpty{opacity:.7;font-size:var(--font-size-sm)}.cookModeSummaryRow .cookProgressBarFill{transition:width .35s ease-out}@media(prefers-reduced-motion:reduce){.cookModeSummaryRow .cookProgressBarFill{transition:none}}.cookModeSectionHeader{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap}.cookModeSectionHeading{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.cookModeSectionProgress{display:flex;align-items:center;gap:var(--space-3);flex:1;min-width:120px}.cookModeSectionProgressBar{flex:1;min-width:60px}.cookModeSectionProgressCount{font-size:var(--font-size-sm);color:var(--text-muted);font-variant-numeric:tabular-nums;flex-shrink:0}.cookModeIngredientRow,.cookModeInstructionRow{display:flex;gap:var(--space-4);align-items:center;cursor:pointer;padding:var(--space-3) 0;border-bottom:var(--border-width-1) solid var(--border)}.cookModeCheckboxWrap{display:inline-block;width:14px;height:14px;flex-shrink:0;flex-grow:0}.cookModeCheckbox{appearance:none;-webkit-appearance:none;cursor:pointer;width:100%;height:100%;min-width:0;min-height:0;border-radius:50%;flex-shrink:0;flex-grow:0;border:2px solid transparent;box-sizing:border-box;margin:0;padding:0;position:relative;display:block;transition:all .2s}.cookModeCheckbox:not(:checked){background-color:var(--surface-accent);border-color:var(--border)}.cookModeCheckbox:checked{background-color:var(--accent);border-color:var(--accent)}.cookModeCheckbox:checked:after{content:"✓";font-size:8px;line-height:1;color:var(--text-on-accent);position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.cookModeCheckbox:focus{outline:none}.cookModeCheckbox:focus-visible{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--accent)}.infoIconWrap{position:relative;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle}.infoIcon{display:inline-flex;align-items:center;justify-content:center;width:1.25em;height:1.25em;color:var(--text-muted);cursor:help;border-radius:50%;transition:color var(--duration-fast) var(--easing-standard)}.infoIcon:hover,.infoIcon:focus{color:var(--text);outline:none}.infoIcon:focus-visible{box-shadow:0 0 0 2px var(--accent)}@keyframes infoIconPopupIn{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}@keyframes infoIconPopupOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-6px)}}.infoIconPopup{position:absolute;left:100%;top:0;margin-left:var(--space-2);z-index:var(--z-dropdown, 1000);pointer-events:none;width:380px;max-width:calc(100vw - var(--space-6));min-width:0;animation:infoIconPopupIn .2s var(--easing-standard) forwards}.infoIconPopup.infoIconPopupExiting{animation:infoIconPopupOut .2s var(--easing-standard) forwards}.infoIconPopupContent{padding:var(--space-4) var(--space-5);background:var(--surface-accent);border:var(--border-width-1) solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);color:var(--text)}@media(prefers-reduced-motion:reduce){.infoIconPopup,.infoIconPopup.infoIconPopupExiting{animation:none}}.selectButton:focus{outline:none;border-color:var(--accent)}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=submit]):not([type=button]):not([type=image]):not([type=hidden]),.input,.taskModalInput{box-sizing:border-box;height:36px;min-height:36px;padding:0 var(--space-4);border:var(--border-width-1) solid var(--border);border-radius:var(--radius-lg);font-family:inherit;font-size:var(--font-size-md);background:var(--surface-accent);color:var(--text);transition:border-color var(--duration-fast),box-shadow var(--duration-fast)}textarea,.taskModalTextarea{box-sizing:border-box;padding:var(--space-3) var(--space-4);border:var(--border-width-1) solid var(--border);border-radius:var(--radius-lg);font-family:inherit;font-size:var(--font-size-md);background:var(--surface-accent);color:var(--text);transition:border-color var(--duration-fast),box-shadow var(--duration-fast)}.input,.taskModalInput,.taskModalTextarea{width:100%}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=submit]):not([type=button]):not([type=image]):not([type=hidden]):hover,textarea:hover,.input:hover,.taskModalInput:hover,.taskModalTextarea:hover{border-color:var(--border-strong)}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=submit]):not([type=button]):not([type=image]):not([type=hidden]):focus,textarea:focus,.input:focus,.taskModalInput:focus,.taskModalTextarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=image]):not([type=hidden])::placeholder,textarea::placeholder,.input::placeholder,.taskModalInput::placeholder,.taskModalTextarea::placeholder{color:var(--text-muted)}.selectChevron{position:absolute;right:var(--space-6);top:50%;transform:translateY(-50%);pointer-events:none;opacity:.9}.selectMenu{position:absolute;z-index:var(--z-dropdown);top:calc(100% + var(--space-4));left:0;right:0;background:var(--surface);border:var(--border-width-1) solid var(--border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg);padding:var(--space-3);max-height:12rem;overflow-y:auto}.datePickerDropdown{min-width:200px;right:auto;width:max-content}.datePickerCalendar{padding:var(--space-4);min-width:240px}.datePickerCalendarHeader{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4);gap:var(--space-2)}.datePickerCalendarWeekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-1);margin-bottom:var(--space-2);font-size:var(--font-size-2xs);color:var(--text-muted);text-align:center}.datePickerCalendarWeekday{padding:var(--space-1) 0}.datePickerCalendarGrid{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-1)}.datePickerCalendarDay{aspect-ratio:1;min-width:28px;min-height:28px;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-md);background:transparent;color:var(--text);font-size:var(--font-size-sm);font-family:inherit;cursor:pointer;transition:background var(--duration-fast),color var(--duration-fast)}.datePickerCalendarDay:hover:not(.datePickerCalendarDayDisabled):not(.datePickerCalendarDaySelected){background:var(--surface-accent)}.datePickerCalendarDaySelected{background:var(--accent);color:var(--text-on-accent);font-weight:var(--font-weight-semibold)}.datePickerCalendarDayToday{border:var(--border-width-1) solid var(--border-strong);font-weight:var(--font-weight-semibold)}.datePickerCalendarDayToday.datePickerCalendarDaySelected{border-color:var(--text-on-accent)}.datePickerCalendarDayDisabled{opacity:.4;cursor:not-allowed}.datePickerCalendarDayOtherMonth{color:var(--text-muted);opacity:.5}.datePickerCalendarDayOtherMonth:hover:not(.datePickerCalendarDayDisabled){opacity:.75}.datePickerCalendarPortaled{position:fixed}.selectMenu.datePickerCalendar,.selectMenu.datePickerCalendarPortaled{max-height:none;overflow:visible}.datePickerRoot.datePickerPill .datePickerTriggerRow{display:flex;width:100%}.datePickerRoot.datePickerPill .datePickerPillBtn{display:inline-flex;align-items:center;gap:var(--space-4);padding:0 var(--space-4);height:36px;min-width:0;flex:1;border-radius:var(--radius-lg);border:var(--border-width-1) solid var(--border);background:var(--surface);color:var(--text);font-size:var(--font-size-sm);font-family:inherit;cursor:pointer;transition:border-color var(--duration-fast),background var(--duration-fast)}.datePickerRoot.datePickerPill .datePickerPillBtn:hover{background:var(--surface-accent);border-color:var(--border-strong)}.datePickerRoot.datePickerPill .datePickerPillBtn .datePickerPillIcon{flex-shrink:0;opacity:.85}.datePickerRoot.datePickerPill .datePickerPillBtn .datePickerPillText{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.datePickerRoot.datePickerPill .datePickerPillBtn .datePickerPillText.isPlaceholder{color:var(--text-muted)}@keyframes datePickerLabelFade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.datePickerLabelAnimate{animation:datePickerLabelFade .25s var(--easing-standard) forwards}.taskModalDateLabelWrap{display:block}.taskModalDateLabel{display:inline-flex;align-items:baseline;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--text);cursor:pointer;overflow:hidden}.taskModalDateLabelStart{display:inline-block;max-width:0;opacity:0;overflow:hidden;white-space:nowrap;transition:max-width .28s var(--easing-standard),opacity .22s var(--easing-standard)}.taskModalDateLabelStart.isVisible{max-width:4em;opacity:1}.taskModalDateLabelWord{display:inline-block;white-space:nowrap;transition:transform .28s var(--easing-standard)}.recipesToolbarWrap{isolation:isolate}.recipesToolbar{position:relative;z-index:100}.recipeFilterInput{height:36px;min-height:36px;padding:0 var(--space-4);font-size:var(--font-size-md);border:var(--border-width-1) solid var(--border);border-radius:var(--radius-lg);background:var(--surface-accent);color:var(--text);box-sizing:border-box}.recipeFilterInput:hover{border-color:var(--border-strong)}.recipeFilterInput:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.recipeFilterInput::placeholder{color:var(--text-muted)}.recipesToolbar .select{width:auto;min-width:var(--size-select-width)}.recipesToolbar .selectButton{padding:var(--space-3) var(--space-4);min-height:36px;height:36px;background:var(--surface-accent);border-radius:var(--radius);border:var(--border-width-1) solid var(--border);color:var(--text)}.recipesToolbar .selectButton:hover{border-color:var(--border-strong);filter:brightness(1.02)}.recipesGrid{grid-template-columns:repeat(5,1fr)}.recipesGridItem{opacity:0;animation:recipeGridItemIn .55s var(--easing-smooth) forwards}.recipesGrid--animate .recipesGridItem{animation-name:recipeGridItemIn}@keyframes recipeGridItemIn{0%{opacity:0}to{opacity:1}}.selectMenuMatchWidth{max-width:none}.selectButtonContent,.selectOptionContent{display:flex;align-items:center;gap:var(--space-4);min-width:0}.selectButtonLabel,.selectOptionLabel{flex:0 1 auto;text-align:left}.selectButtonSwatch,.selectOptionSwatch{width:14px;height:14px;border-radius:50%;flex-shrink:0;border:1px solid var(--border-input)}.selectButton{display:flex;align-items:center;gap:var(--space-4)}.selectOption{display:flex;align-items:center;gap:var(--space-4);font-size:var(--font-size-sm);width:100%;min-height:36px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);cursor:pointer;color:var(--text);background:transparent;box-sizing:border-box;justify-content:space-between}.selectOption:hover{background:var(--accent-soft)}.selectOptionActive{background:var(--gradient-accent);border:var(--border-width-1) solid var(--accent);color:var(--text-on-accent)}.selectOptionActive .selectOptionSwatch{border-color:var(--border-input-inverse)}.selectOptionCheck{margin-left:auto;font-size:var(--font-size-sm);opacity:.95}.selectOption.btn--danger{background:var(--error-gradient);border:var(--border-width-1) solid var(--error);color:var(--text-on-accent)}.selectOption.btn--danger:hover{filter:brightness(1.08)}.selectBackdrop{position:fixed;inset:0;z-index:var(--z-overlay)}input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=image]):not([type=hidden]),textarea,select,.input,.taskModalInput,.taskModalTextarea{background:var(--surface-accent)}.macroBadge{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);line-height:var(--line-height-tight);display:inline-flex;align-items:center}.macroCalories{background:var(--calorie-color);color:var(--text-on-accent)}.macroProtein{background:var(--protein-color);color:var(--text-on-accent)}.macroCarbs{background:var(--carbs-color);color:var(--text-on-accent)}.macroFat{background:var(--fat-color);color:var(--text-on-accent)}.macroFiber,.macroSugar,.macroSatFat,.macroSodium{background:var(--surface-accent);color:var(--text);border:var(--border-width-1) solid var(--border)}.recipeCardFavBtn{position:absolute;top:var(--space-4);right:var(--space-4);left:auto;bottom:auto;z-index:10;width:36px;min-width:36px;height:36px;padding:0;border:var(--border-width-1) solid var(--border);border-radius:var(--radius-lg);background:var(--surface-elevated);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-md);transition:opacity var(--duration-fast) var(--easing-standard),color var(--duration-fast),background var(--duration-fast),border-color var(--duration-fast)}.recipeCardFavBtn:hover{color:var(--text);background:var(--surface-accent);border-color:var(--border-strong)}.recipeCardFavBtn .fa-star{color:var(--gold-accent)}.recipeCardWrap{isolation:isolate;display:flex;flex-direction:column}.recipeCardImageWrap{flex:1;min-height:0;position:relative}.recipeCardImage{position:absolute;inset:0}.recipeCardTextBar{flex-shrink:0;padding:var(--space-4) var(--space-5) var(--space-5);background:var(--surface-elevated);border-radius:0 0 var(--radius-2xl) var(--radius-2xl);color:var(--text)}.recipeCardTextBarAuthor{font-size:var(--font-size-sm);color:var(--text-muted);margin-bottom:var(--space-1)}.recipeCardTextBarTitle{font-weight:var(--font-weight-black);font-size:var(--font-size-xl);line-height:var(--line-height-snug)}.recipeCardTextBarDescription{margin-top:var(--space-2);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;word-break:break-word;overflow-wrap:break-word;font-size:var(--font-size-md);line-height:var(--line-height-snug);color:var(--text);opacity:.9}.recipeCardTextBarMeta{margin-top:var(--space-2);font-size:var(--font-size-sm);color:var(--text-muted)}.recipeCardLikeBurst{position:absolute!important;inset:0;display:flex;align-items:center;justify-content:center;z-index:10!important;pointer-events:none;color:var(--error);font-size:4.5rem;animation:recipeCardLikeBurst .6s ease-out forwards}.recipeCardLikeBurst .fa-heart{filter:drop-shadow(0 2px 8px var(--shadow-drop))}@keyframes recipeCardLikeBurst{0%{opacity:.9;transform:scale(.3)}40%{opacity:1;transform:scale(1.15)}to{opacity:0;transform:scale(1.6)}}button:has(>i:only-child):not(.btnPrimary):not(.btnSecondary){min-width:36px;width:36px;height:36px;box-sizing:border-box}.recipeCardHorizontalShell{background:var(--surface-elevated)}.recipeCardHorizontalShell:hover{background:var(--surface-accent);box-shadow:var(--shadow-lg)}.dashboardLayout,.dashboardLayoutCol{display:flex;flex-direction:column;gap:var(--space-6);min-width:0}@media(min-width:768px){.dashboardLayout{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-7);align-items:start}}.dashboardWeatherCard .panelCardHeader{flex-wrap:wrap;align-items:flex-start;gap:var(--space-3)}.dashboardWeatherCard .panelCardHeader .btnSubtle{min-height:36px;padding:var(--space-2) var(--space-3)}.dashboardWeatherWarningsRow{min-width:0;-webkit-overflow-scrolling:touch}.dashboardWeatherGrid{min-width:0}.dashboardWeatherNextHours{min-height:88px}@media(max-width:640px){.dashboardWeatherGrid{grid-template-columns:1fr!important;grid-template-rows:auto auto auto auto}.dashboardWeatherGrid>*:nth-child(1){grid-column:1;grid-row:1}.dashboardWeatherGrid>*:nth-child(2){grid-column:1;grid-row:2}.dashboardWeatherGrid>*:nth-child(3){grid-column:1;grid-row:3}.dashboardWeatherGrid>*:nth-child(4){grid-column:1;grid-row:4}.dashboardWeatherForecast7{overflow-x:auto;-webkit-overflow-scrolling:touch;grid-template-columns:repeat(7,minmax(72px,1fr));grid-column:1!important;grid-row:4!important}}.dashboardTasksCard{min-width:0;padding-bottom:0}.dashboardTasksCardBody{min-width:0;padding-bottom:0;flex:none}.dashboardTasksCard .taskCard{min-height:44px;padding:var(--space-4);padding-left:var(--space-4)}.dashboardTasksCard .taskTitle,.dashboardTasksCard .taskDescription{word-break:break-word}.dashboardTasksCard .taskSubtaskRow{min-height:32px}.dashboardTaskSummaryWrap{min-width:0}.dashboardTaskSummaryWrap>div{margin-bottom:0}.dashboardTaskSummaryWrap .taskSummaryGrid{min-width:0;align-items:start}.dashboardTaskSummaryWrap .taskSummaryGrid>.panelCard{height:auto;align-self:start;padding:var(--space-4)}.dashboardTaskSummaryWrap .taskSummaryGrid .panelCardHeader{padding:0}.dashboardTaskSummaryWrap .taskSummaryGrid .panelCardBody{flex:none;margin-top:var(--space-3)}@media(max-width:640px){.dashboardTasksCard .panelCardBody>div:first-child{padding:var(--space-4) var(--space-4)}.dashboardTaskSummaryWrap .taskSummaryGrid{grid-template-columns:1fr!important}}.dashboardDescription{color:var(--text-muted);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.dashboardChartEnter{animation:chartFadeIn .35s var(--easing-smooth) forwards;animation-delay:var(--chart-delay, 0ms);opacity:0}@keyframes chartFadeIn{0%{opacity:0}to{opacity:1}}.dashboardChartBarGrowY{transform:scaleY(0);transform-origin:bottom;animation:chartBarGrowY .3s var(--easing-smooth) forwards;animation-delay:var(--chart-delay, 0ms)}.dashboardChartBarGrowX{transform:scaleX(0);transform-origin:left;animation:chartBarGrowX .3s var(--easing-smooth) forwards;animation-delay:var(--chart-delay, 0ms)}.dashboardChartPathDraw{stroke-dasharray:var(--path-length, 99999);stroke-dashoffset:var(--path-length, 99999);animation:chartPathDraw 1s var(--easing-smooth) forwards;animation-delay:var(--chart-delay, 0ms)}svg .dashboardChartBarGrowY{transform:scaleY(0);transform-origin:50% 100%;animation:chartBarGrowY .5s var(--easing-smooth) forwards;animation-delay:var(--chart-delay, 0ms)}@keyframes chartBarGrowY{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes chartBarGrowX{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.dashboardChartCircleGrow{transform:scale(0);transform-origin:center;animation:chartCircleGrow .4s var(--easing-smooth) forwards;animation-delay:var(--chart-delay, 0ms)}@keyframes chartCircleGrow{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes chartPathDraw{to{stroke-dashoffset:0}}@media(prefers-reduced-motion:reduce){.dashboardChartEnter,.dashboardChartBarGrowY,.dashboardChartBarGrowX,.dashboardChartCircleGrow,.dashboardChartPathDraw,svg .dashboardChartBarGrowY{animation:none;opacity:1;transform:none;stroke-dasharray:none;stroke-dashoffset:0}.budgetBarRowFill{transition:none}}.budgetPage .dashboardSection{margin-bottom:var(--space-6);animation:budgetSectionEnter 1.4s var(--easing-smooth) both;animation-delay:var(--dash-delay, 0ms)}@keyframes budgetSectionEnter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.budgetPage .dashboardSection{animation:none}}.budgetSection .panelCard{margin-top:0}.budgetHeaderCurrency{min-width:140px}.budgetSummaryMeta{font-size:var(--font-size-xs);color:var(--text-muted);margin-top:var(--space-1)}.budgetTableBarCol{width:200px;min-width:200px}.budgetTable.budgetTableCategory .budgetTableBarCell{height:12px;min-height:12px}.budgetCustomFrequencyCollapse{overflow:hidden;max-height:0}.budgetCustomFrequencyCollapse.budgetCustomFrequencyCollapse--open{max-height:72px}@media(prefers-reduced-motion:no-preference){.budgetCustomFrequencyCollapse{transition:max-height var(--duration-slower) var(--easing-standard)}}.budgetCustomMonthsWrap{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2)}.budgetCustomMonthsWrap .input{width:6ch;min-width:6ch}.budgetError{background:var(--error);color:var(--text-on-strong);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-4);font-size:var(--font-size-sm)}.profileDangerZoneWrap{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-elevated);overflow:hidden}.profileDangerZoneTrigger{position:relative;width:100%;border-radius:0;margin:0;border:none;background:transparent}.profileDangerZoneChevron{display:inline-flex;align-items:center;justify-content:center}.profileDangerZoneContent{padding:var(--space-2);background:transparent;display:flex;flex-direction:column;gap:var(--space-2)}.btn.profileDangerZoneDeleteBtn,.profileDangerZoneDeleteBtn.btn{justify-content:flex-start;text-align:left}.profileDangerZoneDeleteBtn{display:flex;align-items:center;justify-content:flex-start;width:100%;min-height:36px;text-align:left}@media(prefers-reduced-motion:reduce){.profileDangerZoneCollapse,.profileDangerZoneChevron{transition:none}}.modalCheckboxWrap{display:flex;align-items:center;gap:var(--space-3);cursor:pointer;-webkit-user-select:none;user-select:none}.modalCheckbox{cursor:pointer;width:20px;height:20px;min-width:20px;min-height:20px;border-radius:50%;flex-shrink:0;border:2px solid transparent;box-sizing:border-box;transition:background-color .2s,border-color .2s;display:flex;align-items:center;justify-content:center;background-color:var(--surface-accent);border-color:var(--border)}.modalCheckbox.checked{background-color:var(--accent);border-color:var(--accent)}.modalCheckbox.checked .modalCheckboxIcon{color:var(--text-on-accent);font-size:10px}.modalCheckboxWrap input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.budgetBarRow{display:grid;grid-template-columns:1fr 2fr 100px;gap:var(--space-3);align-items:center;margin-bottom:var(--space-2)}.budgetBarRowLabel{font-size:var(--font-size-sm)}.budgetBarRowBarWrap{height:12px;background:var(--surface-elevated);border-radius:var(--radius-pill);overflow:hidden}.budgetBarRowFill{height:100%;background:var(--error);border-radius:var(--radius-pill);transform-origin:left;transition:width .35s var(--easing-smooth)}.budgetBarRowFillIncome{background:var(--success)}.budgetBarRowValue{font-size:var(--font-size-sm);text-align:right}.budgetList{list-style:none;margin:0;padding:0}.budgetListItem{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--border)}.budgetListItem:last-child{border-bottom:none}.budgetProjectionSummary{display:flex;flex-direction:column;gap:var(--space-2)}.budgetModal .panelCardHeader{display:flex;justify-content:space-between;align-items:flex-start}.budgetModal .panelCardBody{display:flex;flex-direction:column;gap:var(--space-3)}.budgetModalActions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-4)}.budgetModalActionsLeft{margin-right:auto}.budgetModalActionsRight{display:flex;gap:var(--space-3)}.budgetLabel{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-bottom:var(--space-1)}.budgetLabelOptional{font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);color:var(--text-muted)}.budgetAmountInputWrap{display:flex;align-items:center;gap:var(--space-2)}.budgetAmountInputWrap .input{flex:1;min-width:0}.budgetAmountCurrency{flex-shrink:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-muted);padding:0 var(--space-2)}.budgetListItemActions{display:flex;align-items:center;gap:var(--space-3)}.budgetListItemButtons{display:flex;gap:var(--space-1);margin-left:auto}.btnSm{padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs)}.btnIconSm{width:32px;height:32px;padding:0;border:none;border-radius:var(--radius-md);background:transparent;color:var(--text-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.btnIconSm:hover{background:var(--surface-accent);color:var(--text)}.budgetCategorySwatch{width:14px;height:14px;border-radius:var(--radius-sm);flex-shrink:0}.budgetBarRowColorSwatch{width:10px;height:10px;border-radius:var(--radius-sm);flex-shrink:0}.incomeExpenseViz{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.incomeExpenseVizBars{display:flex;flex-direction:column;gap:var(--space-3)}.incomeExpenseVizRow{display:grid;grid-template-columns:72px 1fr auto;align-items:center;gap:var(--space-3)}.incomeExpenseVizLabel{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text)}.incomeExpenseVizTrack{height:12px;background:var(--surface-accent);border-radius:var(--radius-pill);overflow:hidden}.incomeExpenseVizFill{height:100%;border-radius:var(--radius-pill);transform-origin:left}.incomeExpenseVizFillIncome{background:var(--success)}.incomeExpenseVizFillExpense{background:var(--error)}.incomeExpenseVizAmount{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text);min-width:0;text-align:right}.incomeExpenseVizSummary{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4);font-size:var(--font-size-sm);color:var(--text-muted)}.incomeExpenseVizRatio{font-weight:var(--font-weight-medium)}.incomeExpenseVizSurplus{color:var(--success);font-weight:var(--font-weight-medium)}.incomeExpenseVizDeficit{color:var(--error);font-weight:var(--font-weight-medium)}.panelCardBody.budgetSummaryGrid,.budgetSummaryGrid{display:flex;flex-direction:row;align-items:center;gap:var(--space-6);flex-wrap:nowrap}.budgetSummaryRingCol{flex-shrink:0;order:1}.budgetSummaryStatsCol{flex:1;min-width:0;order:2}.budgetSummaryStats{font-size:var(--font-size-sm);color:var(--text-muted)}.budgetRowThree{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5)}@media(max-width:1200px){.budgetRowThree{grid-template-columns:1fr}}.budgetRowTwo{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-5)}.budgetRowTwo+.budgetRowThree{margin-top:var(--space-6)}.budgetRowThree+.budgetRowTwo{margin-top:var(--space-6)}@media(max-width:900px){.budgetRowTwo{grid-template-columns:1fr}}.budgetCardCol .panelCard{height:100%}.budgetTableWrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-md)}.budgetTable{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.budgetTable th{text-align:left;padding:0 var(--space-3);background:var(--surface-elevated);color:var(--text-muted);font-weight:var(--font-weight-medium);border-bottom:1px solid var(--border);white-space:nowrap}.budgetTable td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);vertical-align:middle}.budgetTable th:not(:first-child),.budgetTable td:not(:first-child){border-left:1px solid var(--border)}.budgetTable tbody tr:nth-child(2n){background:color-mix(in srgb,var(--surface-accent) 25%,var(--surface))}.budgetTable tbody tr:hover{background:var(--surface-accent)}.budgetTableRowClickable{cursor:pointer}.budgetTableRowClickable:hover{background:var(--surface-accent)}.budgetDebtCardClickable{cursor:pointer}.budgetDebtCardClickable:hover{background:var(--surface-accent);border-color:var(--border-strong)}.budgetTableCategoryName{display:inline-flex;align-items:center;gap:var(--space-2)}.budgetTableCellName{font-weight:var(--font-weight-medium)}.budgetTableCellNotes{color:var(--text-muted);max-width:160px;display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.budgetExpensesByCategory{display:flex;flex-direction:column;gap:var(--space-4)}.budgetExpenseCategoryBlock{display:flex;flex-direction:column;gap:var(--space-2)}.budgetExpenseCategoryTitle{margin:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text);display:inline-flex;align-items:center;gap:var(--space-2)}.budgetExpenseCategoryTitle .budgetBarRowColorSwatch{width:10px;height:10px;border-radius:var(--radius-sm);flex-shrink:0}.budgetDebtList{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.budgetDebtCard{background:var(--surface-elevated);border-radius:var(--radius-md);padding:var(--space-4);border:1px solid var(--border)}.budgetDebtCardHeader{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.budgetDebtCardName{font-weight:var(--font-weight-semibold);font-size:var(--font-size-md)}.budgetDebtCardRow{display:flex;gap:var(--space-4);flex-wrap:wrap;font-size:var(--font-size-sm);color:var(--text-muted)}.budgetDebtCardPlan{margin-top:var(--space-2);font-size:var(--font-size-xs);color:var(--text-muted)}.budgetItemNotes{font-size:var(--font-size-xs);color:var(--text-muted)}.budgetProjectionControls{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-3)}.budgetProjectionCustomWrap{display:inline-flex;align-items:center;gap:var(--space-2)}.budgetProjectionCustomInput{width:4ch;min-width:4ch;text-align:right}.budgetLabelInline{font-size:var(--font-size-sm);color:var(--text-muted)}.currencySelect{position:relative}.currencySelectButton{width:100%;text-align:left;justify-content:space-between}.currencySelect .selectButtonLabel{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.currencySelectMenu{background:var(--surface);border:var(--border-width-1) solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);overflow:hidden;display:flex;flex-direction:column}.currencySelectSearchWrap{padding:var(--space-2);border-bottom:var(--border-width-1) solid var(--border);display:flex;align-items:center;gap:var(--space-2);background:var(--surface-elevated)}.currencySelectSearchIcon{color:var(--text-muted);font-size:var(--font-size-sm)}.currencySelectSearchInput{flex:1;min-width:0;padding:var(--space-2) var(--space-3)}.currencySelectList{overflow-y:auto;max-height:min(50vh,280px);padding:var(--space-1)}.currencySelectEmpty{padding:var(--space-4);text-align:center;color:var(--text-muted);font-size:var(--font-size-sm)}.currencySelectCode{font-weight:var(--font-weight-semibold);min-width:2.8em;color:var(--text)}.currencySelectName{color:var(--text-muted)}.selectOptionHighlighted{background:var(--surface-accent)}.modalOverlay{position:fixed;inset:0;width:100vw;height:100vh;min-width:100%;min-height:100%;background:var(--overlay-clear);display:grid;place-items:center;z-index:var(--z-modal-layered);padding:var(--space-8);box-sizing:border-box;opacity:0;transition:opacity var(--duration-slower) var(--easing-standard),background-color var(--duration-slower) var(--easing-standard)}.modalOverlay.isOpen{opacity:1;background:var(--overlay-scrim)}.modalCard{width:min(var(--size-modal-max),100%);border-radius:var(--radius-card);border:none;background:var(--surface);box-shadow:var(--shadow-xl);padding:var(--space-6);transform:translateY(var(--space-4)) scale(.98);opacity:0;transition:transform var(--duration-slower) var(--easing-standard),opacity var(--duration-slower) var(--easing-standard)}.modalTitle{font-weight:var(--font-weight-bold);margin-bottom:var(--space-5);text-align:center;font-size:var(--font-size-lg)}.modalMessage{color:var(--text-muted);line-height:var(--line-height-normal);margin-bottom:var(--space-6);text-align:center;font-size:var(--font-size-sm)}.modalActions{display:flex;justify-content:center;align-items:center;gap:var(--space-5);flex-wrap:wrap;min-height:36px}.modalActions .btn,.modalActions button.btnPrimary,.modalActions button.btnSecondary,.modalActions button.btn--danger{height:36px!important;min-height:36px!important;max-height:36px!important;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}.modalActions button:not(.btn--danger):not(.btnPrimary){background:var(--surface-accent);border:1px solid var(--border)}.modalCard.isOpen{transform:translateY(0) scale(1);opacity:1}.taskModalOverlay{position:fixed;inset:0;width:100vw;height:100vh;min-width:100%;min-height:100%;background:var(--overlay-scrim);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--space-8);box-sizing:border-box}.taskModalCard{width:min(var(--size-task-modal),calc(100% - var(--space-8) * 2));max-height:calc(100vh - var(--space-8) * 2);display:flex;flex-direction:column;background:var(--surface);border:none;border-radius:var(--radius-card);box-shadow:var(--shadow-xl)}.taskInspectColorBar{height:4px;border-radius:var(--radius-card) var(--radius-card) 0 0;flex-shrink:0;margin-bottom:var(--space-6)}.taskInspectRecurrenceInfo{padding:var(--space-4) var(--space-5);background:var(--surface-accent);border:1px solid var(--border);border-radius:var(--radius-md)}.taskInspectRecurrenceText{margin:0;font-size:var(--font-size-sm);color:var(--text);line-height:1.4}.taskInspectMainTaskRow:hover,.taskInspectSubtaskRow:hover{background:var(--surface-accent);border-radius:var(--radius-md)}.taskInspectMainTaskRow{padding:var(--space-2) var(--space-3);margin:calc(-1 * var(--space-2)) calc(-1 * var(--space-3));border-radius:var(--radius-md);transition:background var(--duration-fast) var(--easing-standard)}.taskInspectSubtaskRow{padding:var(--space-2) var(--space-3);margin-left:calc(-1 * var(--space-3));margin-right:calc(-1 * var(--space-3));border-radius:var(--radius-md);transition:background var(--duration-fast) var(--easing-standard)}.taskModalHeader{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);padding:var(--space-8) var(--space-8) var(--space-5);border-bottom:var(--border-width-1) solid var(--border-subtle);flex-shrink:0}.taskModalTitle{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--text);letter-spacing:-.02em}.taskModalClose{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;border-radius:var(--radius-lg);background:transparent;color:var(--text-muted);cursor:pointer;transition:background-color var(--duration-fast),color var(--duration-fast)}.taskModalClose:hover{background:var(--surface-accent);color:var(--text)}.taskModalBody{padding:var(--space-8);overflow-y:auto;flex:1 1 auto;min-height:0}.taskModalSection{margin-bottom:var(--space-10)}.taskModalSection:last-child{margin-bottom:0}.taskModalAnimateSection{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--duration-slow) var(--easing-standard)}.taskModalAnimateSection.isOpen{grid-template-rows:1fr}.taskModalAnimateSectionInner{min-height:0;overflow:hidden;padding-top:var(--space-2)}.taskModalSectionTitle{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 var(--space-5);padding-bottom:var(--space-3);border-bottom:1px solid var(--border)}.taskModalField{margin-bottom:var(--space-6)}.taskModalField:last-child{margin-bottom:0}.taskModalLabel{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text);margin-bottom:var(--space-3)}.taskModalTextarea{min-height:72px;resize:vertical}.taskModalSubtaskRows{display:flex;flex-direction:column;gap:var(--space-2)}.taskModalSubtaskRow{display:flex;align-items:center;gap:var(--space-2);min-height:36px}.taskModalSubtaskRow .taskModalSubtaskInput{flex:1;min-width:0}.taskModalSubtaskRow .taskModalSubtaskBtn{width:36px;min-width:36px;padding:0!important;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.taskModalError{padding:var(--space-4) var(--space-5);margin-bottom:var(--space-6);border-radius:var(--radius-md);background:var(--error);color:var(--text-on-accent);font-size:var(--font-size-sm)}.taskModalFooter{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-4);padding:var(--space-6) var(--space-8);border-top:var(--border-width-1) solid var(--border);background:var(--surface);border-radius:0 0 var(--radius-2xl) var(--radius-2xl);flex-shrink:0}.taskModalFooter .btn{min-height:36px}.taskModalDaysGrid{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-2)}.taskModalDatesGrid{display:grid;grid-template-columns:repeat(10,1fr);gap:var(--space-2)}.taskModalMonthlyRepeatLabel .taskModalLabel{display:inline;margin-bottom:0}.taskModalMonthlyNote{font-size:var(--font-size-xs);color:var(--text-muted);margin:0 0 var(--space-4);line-height:var(--line-height-normal)}.taskModalMonthsGrid{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--space-2)}.taskModalToggleBtn{padding:var(--space-2);font-size:var(--font-size-xs);border-radius:var(--radius-md);border:var(--border-width-1) solid var(--border);background:var(--surface);color:var(--text);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background var(--duration-fast),border-color var(--duration-fast),color var(--duration-fast)}.taskModalToggleBtn:hover{background:var(--surface-accent);border-color:var(--border-strong)}.taskModalToggleBtn.isSelected{background:var(--gradient-accent);border-color:var(--accent);color:var(--text-on-accent)}.taskModalRecurringRow{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);min-height:32px}.taskModalRecurringRow .taskModalLabel{margin-bottom:0;line-height:1}.taskModalRecurringRow .taskModalToggleSwitch{align-self:center}button.taskModalToggleSwitch{min-height:0;height:22px;padding:var(--space-1);display:block}.taskModalToggleSwitch{position:relative;width:52px;height:22px;flex-shrink:0;border-radius:var(--radius-pill);border:var(--border-width-1) solid var(--border);background:var(--surface-accent);cursor:pointer;padding:var(--space-1);transition:background var(--duration-fast),border-color var(--duration-fast),box-shadow var(--duration-fast);box-sizing:border-box}.taskModalToggleSwitch:hover{border-color:var(--border-strong);background:var(--surface-accent)}.taskModalToggleSwitch.isOn{background:var(--gradient-accent);border-color:var(--accent);box-shadow:none}.taskModalToggleSwitch.isOn:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.taskModalToggleSwitchThumb{position:absolute;left:2px;top:50%;width:16px;height:16px;margin-top:-8px;border-radius:50%;background:var(--text-on-accent);box-shadow:var(--shadow-sm);transition:left var(--duration-fast) var(--easing-standard);box-sizing:border-box}.taskModalToggleSwitch.isOn .taskModalToggleSwitchThumb{left:calc(100% - 18px)}.taskModalOptional{font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);color:var(--text-muted)}.taskModalRequired,.budgetLabelRequired{color:var(--error)}.taskModalEndDateLabelWrap{display:flex;align-items:baseline;flex-wrap:nowrap;gap:var(--space-1)}.taskModalEndDateLabelWrap .taskModalLabel{display:inline;margin-bottom:0}.taskModalCustomRepeatInputs{display:flex;gap:var(--space-4);align-items:center}.taskModalCustomRepeatInputs .select{flex:1;min-width:0}.panelCard{background:var(--surface);border:none;border-radius:var(--radius-card);padding:var(--space-6);display:flex;flex-direction:column}.panelCardHeader{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-4)}.panelCardTitle{font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);color:var(--text)}.panelCardSub{color:var(--text-muted);font-size:var(--font-size-sm)}.panelCardBody{margin-top:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);flex:1}.taskCard{padding:var(--space-4) var(--space-5);padding-left:var(--space-4);background:var(--surface-elevated);border:none;border-radius:var(--radius-lg);font-size:var(--font-size-sm);cursor:pointer;color:var(--text);display:flex;align-items:center;gap:var(--space-4);transition:background var(--duration-fast);position:relative}.taskCard:hover{background:var(--surface-accent);box-shadow:inset 0 0 0 1px var(--border)}.taskCard.completed{opacity:.5}.taskColorBar{width:4px;align-self:stretch;border-radius:var(--radius-sm);flex-shrink:0;margin-top:var(--space-1);margin-bottom:var(--space-1)}.taskContent{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.taskTitle{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;line-clamp:2;-webkit-line-clamp:2;word-break:break-word}.taskTitle.completed{text-decoration:line-through}.taskDescription{font-size:var(--font-size-sm);opacity:.7;word-break:break-word}.taskCheckbox{cursor:pointer;width:20px;height:20px;min-width:20px;min-height:20px;border-radius:50%;flex-shrink:0;border:2px solid transparent;box-sizing:border-box;transition:all .2s;display:flex;align-items:center;justify-content:center}.taskCheckbox:not(.checked){background-color:var(--surface-accent);border-color:var(--border)}.taskSubtaskRow .taskSubtaskCheckbox{width:14px;height:14px;min-width:14px;min-height:14px;border-radius:50%;flex-shrink:0;border:2px solid transparent;box-sizing:border-box}.taskSubtaskRow .taskSubtaskCheckbox:not(.checked){border-color:var(--border)}.taskSubtaskRow .taskSubtaskText{cursor:pointer;flex:1;min-width:0}.taskCardSubtaskIndicator{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);color:var(--text-muted);margin-top:var(--space-1)}.taskCardSubtaskIndicatorIcon{opacity:.8}.taskCardSubtaskIndicatorCount{font-variant-numeric:tabular-nums}.mealPlanTopBarWrap{position:relative;z-index:100}.mealPlanTopBar{display:flex;justify-content:space-between;align-items:center;gap:var(--space-6)}.mealPlanDayGrid{position:relative;z-index:0}.mealPlanDay{background:var(--surface);border:none;border-radius:var(--radius-card);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-5);min-width:0;height:100%;overflow-anchor:none}.mealPlanDay.isToday{background:var(--accent-spot)}.mealPlanDay.taskCalendarDayCard{padding:var(--space-3);gap:var(--space-2);min-height:120px}.taskCalendarDayAddBtn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;border-radius:var(--radius);background:transparent;color:var(--text-muted);cursor:pointer;opacity:0;transition:opacity .15s ease,color .15s ease}.taskCalendarDayCard:hover .taskCalendarDayAddBtn{opacity:1}.taskCalendarDayAddBtn:hover{color:var(--accent)}.taskCalendarDayAddBtn i{font-size:var(--font-size-xs)}.taskMonthNavArrow{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:var(--radius);background:transparent;color:var(--text);cursor:pointer;transition:color .15s ease}.taskMonthNavArrow:hover{color:var(--accent)}.taskMonthNavArrow i{font-size:var(--font-size-md)}.taskTodayLink{background:none;border:none;padding:0;min-height:0;font:inherit;font-size:var(--font-size-sm);color:var(--text-muted);cursor:pointer;text-decoration:none;transition:color .15s ease}.taskTodayLink:hover{color:var(--accent)}.mealPlanDayHeader{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-5);padding-bottom:var(--space-5);border-bottom:var(--border-width-1) solid var(--border-subtle)}.mealPlanDay.isToday .mealPlanDayHeader{border-bottom-color:var(--accent-spot-border-soft)}.mealPlanDayTitle{font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);color:var(--text)}.mealPlanDaySub{font-weight:var(--font-weight-regular);color:var(--text-muted);margin-left:var(--space-3);font-size:var(--font-size-sm)}.mealPlanSlots{display:grid;gap:var(--space-4);overflow-anchor:none}.mealPlanSlot{width:100%;display:flex;gap:var(--space-6);align-items:center;text-align:left;justify-content:flex-start;position:relative;background:var(--surface-elevated);border:none;border-radius:var(--radius-lg);padding:var(--space-5);min-width:0}.mealPlanSlot.hasInlineAction{padding-right:calc(var(--space-4) + 28px + var(--space-3))}.mealPlanSlot:hover{background:var(--surface-accent)}.mealPlanSlotImage{width:var(--size-recipe-thumb);height:var(--size-recipe-thumb);border-radius:var(--radius-lg);object-fit:cover;flex:0 0 auto;background:var(--bg)}.mealPlanSlotImage.isEmpty{background:var(--surface)}.mealPlanSlotMain{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.mealPlanSlotLabel{font-size:var(--font-size-sm);color:var(--text-muted)}.mealPlanSlotTitle{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm-plus);min-width:0;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;line-clamp:2;-webkit-line-clamp:2;word-break:break-word}.mealPlanSlotTitle.isEmpty{font-weight:var(--font-weight-semibold);font-style:italic;opacity:.6}.mealPlanInlinePicker{flex-direction:column;align-items:stretch;gap:var(--space-3)}.mealPlanInlineHeader{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.mealPlanInlineLabel{font-size:var(--font-size-sm);opacity:.75;font-weight:var(--font-weight-semibold)}.mealPlanInlineActions{display:flex;gap:var(--space-3)}.mealPlanInlineAction{background:transparent;border:none;border-radius:var(--radius-pill);padding:var(--space-2) var(--space-4);font-size:var(--font-size-xs);cursor:pointer;color:inherit;min-height:unset}.mealPlanInlineAction:hover{background:var(--surface-accent)}.mealPlanInlineAction.btn--danger{background:var(--error);border:none;color:var(--text-on-accent)}.mealPlanInlineAction.btn--danger:hover{filter:brightness(1.05);color:var(--text-on-accent)}.searchBar{width:100%;min-width:0;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis}.searchBar::placeholder{white-space:nowrap}.mealPlanInlineSearch{padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);border:var(--border-width-1) solid var(--border);background:var(--surface);color:inherit;font-size:var(--font-size-sm-plus)}.mealPlanInlineList{max-height:220px;overflow-y:auto;border-radius:var(--radius-md);border:var(--border-width-1) solid var(--border);background:var(--surface)}.mealPlanInlineItem{display:flex;align-items:center;justify-content:flex-start;gap:var(--space-4);width:100%;padding:var(--space-4) var(--space-5);border:none;background:transparent;cursor:pointer;text-align:left;color:inherit}.mealPlanInlineItem+.mealPlanInlineItem{border-top:var(--border-width-1) solid var(--border)}.mealPlanInlineItem:hover{background:var(--surface-accent)}.mealPlanInlineThumb{width:var(--size-recipe-thumb);height:var(--size-recipe-thumb);border-radius:var(--radius-sm);object-fit:cover;flex:0 0 auto;background:var(--surface)}.mealPlanInlineMeta{min-width:0;text-align:left}.mealPlanInlineTitle{font-weight:var(--font-weight-semibold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mealPlanInlineSub{font-size:var(--font-size-xs);opacity:.7}.mealPlanInlineEmpty{text-align:center;opacity:.6;padding:var(--space-6) var(--space-5)}.mealPlanSnackSlotWrap{position:relative}.mealPlanSlotWrap.hasCookAction{position:relative}.mealPlanSlotCookAction{position:absolute;top:50%;right:var(--space-4);transform:translateY(-50%);width:28px;height:28px;border-radius:var(--radius-pill);background:var(--surface);border:var(--border-width-1) solid var(--border-strong);color:var(--text-muted);display:grid;place-items:center;cursor:pointer;z-index:2;padding:0;line-height:1;font-size:var(--font-size-sm);opacity:0;transition:opacity var(--duration-fast) var(--easing-standard),background var(--duration-fast) var(--easing-standard),color var(--duration-fast) var(--easing-standard),border-color var(--duration-fast) var(--easing-standard)}.mealPlanSlotWrap.hasCookAction:hover .mealPlanSlotCookAction{opacity:1}.mealPlanSlotCookAction:hover{background:var(--surface-accent);color:var(--accent);border-color:var(--accent)}.panelCard--mealPlanNutrition .panelCardBody{padding-top:var(--space-2)}.mealPlanNutritionBody{flex:1;min-height:0;display:flex;flex-direction:column;padding:var(--space-4);gap:var(--space-4);overflow-y:auto}.mealPlanNutritionGrid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);align-items:stretch}.mealPlanNutritionGrid--two{grid-template-columns:1fr 1fr;align-items:stretch}@media(max-width:640px){.mealPlanNutritionGrid,.mealPlanNutritionGrid--two{grid-template-columns:1fr}}.mealPlanNutritionBlock{background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-4);min-width:0}.mealPlanNutritionBlockTitle{margin:0 0 var(--space-3);font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-subtle)}.mealPlanNutritionBlockSub{margin:0 0 var(--space-2);font-size:var(--font-size-xs);color:var(--text-muted)}.mealPlanNutritionBlock--hero{display:flex;flex-direction:column;align-items:center;text-align:center}.mealPlanNutritionBlock--summary .mealPlanNutritionSummaryList{margin:0}.mealPlanNutritionSummaryRow{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--border-subtle);font-size:var(--font-size-sm)}.mealPlanNutritionSummaryRow:last-child{border-bottom:none}.mealPlanNutritionSummaryRow dt{margin:0;font-weight:500;color:var(--text-muted)}.mealPlanNutritionSummaryRow dd{margin:0;color:var(--text)}.mealPlanNutritionSummaryRow dd strong{color:var(--text)}.mealPlanNutritionBlock--goals .mealPlanNutritionGoalsTable{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2) var(--space-4)}@media(min-width:520px){.mealPlanNutritionBlock--goals .mealPlanNutritionGoalsTable{grid-template-columns:repeat(4,1fr)}}.mealPlanNutritionGoalsRow{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--border-subtle);font-size:var(--font-size-sm)}.mealPlanNutritionGoalsRow:last-child{border-bottom:none}.mealPlanNutritionGoalsLabel{flex:0 0 auto;color:var(--text-muted);font-weight:500}.mealPlanNutritionGoalsValues{flex:1;min-width:0;text-align:right}.mealPlanNutritionGoalsVal{font-weight:700;color:var(--text)}.mealPlanNutritionGoalsTarget{font-weight:400;color:var(--text-muted);margin-left:var(--space-1)}.mealPlanNutritionGoalsBadge{flex-shrink:0;font-size:var(--font-size-xs);font-weight:600;color:var(--success)}.mealPlanNutritionGoalsRow.missed .mealPlanNutritionGoalsBadge{color:var(--text-subtle)}.mealPlanNutritionHero{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);width:100%}.mealPlanNutritionCalorieRing{position:relative;width:110px;height:110px;flex-shrink:0}.mealPlanNutritionRingSvg{width:100%;height:100%;transform:rotate(-90deg)}.mealPlanNutritionRingBg{stroke:var(--surface-accent)}.mealPlanNutritionRingFill{stroke:var(--calorie-color);stroke-linecap:round;transition:stroke-dasharray .5s var(--easing-smooth)}.mealPlanNutritionCalorieCenter{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.mealPlanNutritionCalorieVal{font-size:var(--font-size-xl);font-weight:800;color:var(--text);line-height:1.1}.mealPlanNutritionCalorieUnit{font-size:var(--font-size-xs);font-weight:600;color:var(--text-muted)}.mealPlanNutritionCalorieVs{font-size:var(--font-size-2xs);color:var(--text-subtle)}.mealPlanNutritionHeroStatus{width:100%;display:flex;justify-content:center}.mealPlanNutritionStatusPill{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-xs);font-weight:600;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md)}.mealPlanNutritionStatusPill.success{background:var(--success-soft);color:var(--success)}.mealPlanNutritionStatusPill.tip{background:var(--accent-spot);color:var(--accent)}.mealPlanNutritionNoInsights{margin:0;font-size:var(--font-size-sm);color:var(--text-muted)}.mealPlanNutritionAiInsightsHeader{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-3)}.mealPlanNutritionAiInsightsHeader .mealPlanNutritionBlockTitle{margin-bottom:0}.mealPlanNutritionAiInsightsRefresh{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--accent);background:transparent;border:var(--border-width-1) solid var(--accent);border-radius:var(--radius);cursor:pointer;transition:background var(--duration-fast) var(--easing-standard),color var(--duration-fast) var(--easing-standard)}.mealPlanNutritionAiInsightsRefresh:hover:not(:disabled){background:var(--accent);color:var(--bg)}.mealPlanNutritionAiInsightsRefresh:disabled{opacity:.6;cursor:not-allowed}.mealPlanNutritionAiInsightsError{margin:0 0 var(--space-3);font-size:var(--font-size-sm);color:var(--error)}.mealPlanNutritionAiInsightsText{font-size:var(--font-size-sm);line-height:1.55;color:var(--text);white-space:pre-line}.mealPlanNutritionDayBars{display:flex;align-items:flex-end;gap:var(--space-2);min-height:80px}.mealPlanNutritionDayBarWrap{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.mealPlanNutritionDayBarTrack{width:100%;height:56px;background:var(--surface-accent);border-radius:var(--radius-sm) var(--radius-sm) 0 0;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}.mealPlanNutritionDayBarFill{width:100%;min-height:4px;border-radius:var(--radius-xs) var(--radius-xs) 0 0;transition:height .35s var(--easing-smooth)}.mealPlanNutritionDayBarFill.met{background:var(--success)}.mealPlanNutritionDayBarFill.under{background:var(--surface-elevated);opacity:.9}.mealPlanNutritionDayBarLabel{font-size:var(--font-size-2xs);font-weight:600;color:var(--text-muted)}.mealPlanNutritionDayBarKcal{font-size:var(--font-size-xs);font-weight:700;color:var(--text)}.mealPlanNutritionMacroStack{display:flex;width:100%;height:12px;border-radius:var(--radius-pill);overflow:hidden;background:var(--surface-accent)}.mealPlanNutritionMacroSeg{min-width:4px;transition:width .4s var(--easing-smooth)}.mealPlanNutritionMacroSeg.protein{background:var(--protein-color)}.mealPlanNutritionMacroSeg.carbs{background:var(--carbs-color)}.mealPlanNutritionMacroSeg.fat{background:var(--fat-color)}.mealPlanNutritionMacroLegend{display:flex;flex-wrap:wrap;gap:var(--space-4);font-size:var(--font-size-xs);color:var(--text-muted)}.mealPlanNutritionMacroLegend span{display:inline-flex;align-items:center;gap:var(--space-2)}.mealPlanNutritionMacroDot{display:inline-block;width:8px;height:8px;border-radius:50%}.mealPlanNutritionMacroDot.protein{background:var(--protein-color)}.mealPlanNutritionMacroDot.carbs{background:var(--carbs-color)}.mealPlanNutritionMacroDot.fat{background:var(--fat-color)}.mealPlanNutritionEmpty{padding:var(--space-5);text-align:center;color:var(--text-muted);font-size:var(--font-size-sm);line-height:1.5}.mealPlanNutritionEmpty p{margin:0}@media(max-width:900px){.mealPlanStatsGrid{grid-template-columns:1fr!important}}.panelCard--dailyNutrition input[type=number]::-webkit-inner-spin-button,.panelCard--dailyNutrition input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.panelCard--dailyNutrition input[type=number]{-moz-appearance:textfield;appearance:textfield}.mealPlanDayMeta{background:transparent;overflow:hidden}.mealPlanMetaSummary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;min-width:0;min-height:36px;padding:var(--space-3) var(--space-4);background:transparent;border:none;border-radius:var(--radius-lg);color:var(--text);font-size:var(--font-size-sm);font-family:inherit;cursor:pointer;text-align:left;transition:background var(--duration-fast),opacity var(--duration-fast) var(--easing-smooth);overflow:hidden}.mealPlanMetaSummary:hover{background:var(--surface-accent);opacity:1}.mealPlanMetaIcon{flex-shrink:0;width:var(--size-icon-md);display:grid;place-items:center;opacity:.9;color:inherit}.mealPlanMetaSummaryStats{display:flex;align-items:center;gap:var(--space-2);flex-wrap:nowrap;min-width:0;flex:1 1 0;overflow:hidden;white-space:nowrap}.mealPlanMetaLabel{font-weight:var(--font-weight-regular);opacity:.9}.mealPlanMetaChevron{flex-shrink:0;font-size:10px;opacity:.6;transition:transform var(--duration-slow) var(--easing-smooth);margin-left:var(--space-3)}.mealPlanMetaChevron.isOpen{transform:rotate(180deg)}.mealPlanMetaExpand{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--duration-slower) var(--easing-smooth)}.mealPlanMetaExpand.isOpen{grid-template-rows:1fr}.mealPlanMetaExpandInner{overflow:hidden;opacity:0;transform:translateY(-6px);transition:opacity var(--duration-slow) var(--easing-smooth),transform var(--duration-slow) var(--easing-smooth)}.mealPlanMetaExpand.isOpen .mealPlanMetaExpandInner{opacity:1;transform:translateY(0)}.mealPlanMetaStats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4);margin:0 0 var(--space-5);padding:var(--space-5) var(--space-4);background:var(--surface-elevated);border-radius:var(--radius-lg);border:none}.mealPlanMetaExtraItem{font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);text-align:center;padding:var(--space-2) 0;opacity:.9}.mealPlanMetaExtraLabel{display:block;font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);text-transform:none;letter-spacing:0;opacity:.6;margin-bottom:var(--space-1)}.mealPlanDayNote{display:flex;align-items:center}.mealPlanDayNoteBottom{gap:var(--space-3)}.mealPlanDayNoteIcon{flex-shrink:0}.mealPlanDayNoteInput{flex:1 1 0;min-width:0;padding:var(--space-3) 0;border:none;border-bottom:1px solid transparent;border-radius:0;background:transparent;color:var(--text);font-family:inherit;font-size:var(--font-size-sm);transition:border-color var(--duration-fast) var(--easing-smooth)}.mealPlanDayNoteInput::placeholder{opacity:.65;color:var(--text-muted)}.mealPlanDayNoteInput:hover{border-bottom-color:var(--border-subtle)}.mealPlanDayNoteInput:focus{outline:none;border-bottom-color:var(--accent)}.adminPage{padding-bottom:var(--space-10)}.adminPage .budgetTable th:last-child,.adminPage .budgetTable td:last-child{width:1%;white-space:nowrap}.adminPage .budgetTable td:last-child .btn{min-width:8.5em;width:8.5em;box-sizing:border-box}.adminPageSections{display:flex;flex-direction:column;gap:var(--space-6)}.adminSection .panelCard{background:var(--surface);border-radius:var(--radius-card)}.adminPage .panelCardHeader{padding-top:0;padding-bottom:var(--space-1);min-height:0}.adminPage .panelCardBody{margin-top:var(--space-3)}.adminFormInput{padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-accent);color:var(--text);font-size:var(--font-size-sm)}.adminFormInput:focus{outline:none;border-color:var(--border-strong)}.adminBlogDescriptionInput{width:100%;flex:1;min-height:6em;resize:vertical;box-sizing:border-box;line-height:1.5;display:block}.adminFormError{color:var(--error);font-size:var(--font-size-sm);margin:0}.adminTableToolbar{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap}.adminTableToolbar .adminTableSearch{margin-bottom:0}.adminTableSearch{margin-bottom:var(--space-3);max-width:280px}.adminPage .adminTableToolbar .btnPrimary.btnIconSm{min-width:36px!important;width:36px!important;height:36px!important;min-height:36px!important;max-height:36px!important;padding:0;background:var(--accent);color:var(--accent-inverse, #fff)}.adminPage .btnPrimary.btnIconSm:hover:not(:disabled){background:var(--accent-hover)}.adminPage .btn--danger.btnIconSm{min-width:32px!important;width:32px!important;height:32px!important;min-height:32px!important;max-height:32px!important;padding:0;background:var(--error);color:var(--text-on-accent)}.adminPage .btn--danger.btnIconSm:hover:not(:disabled){background:var(--error);opacity:.9}.adminPage .budgetTable td:last-child .btn{min-width:0;width:auto}.adminPagination{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-3)}.adminPaginationRange{min-width:4em;text-align:center;font-size:var(--font-size-sm);color:var(--text-muted)}.adminUserStatus{font-weight:var(--font-weight-medium)}.adminUserStatus.adminUserStatus--banned{color:var(--error)}.adminTableSortTh,.adminTableThLabel{display:block;width:100%;text-align:center;padding:0;font:inherit;color:inherit;line-height:1.25}.adminTableSortTh{appearance:none;background:none;border:none;cursor:pointer}.adminTableThLabel{cursor:default}.adminTableSortArrow{display:inline-block;width:1.25em;text-align:center}.adminBlogModalCard{width:calc(2 * var(--size-blog-content) + var(--space-4) + var(--space-6) * 2);max-width:min(95vw,calc(2 * var(--size-blog-content) + var(--space-4) + var(--space-6) * 2));max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.adminBlogModalForm{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-4);flex:1;min-height:0;overflow:hidden}.adminBlogMetaRow{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.adminBlogMetaCol{display:flex;flex-direction:column;gap:var(--space-3);min-width:0}@media(max-width:640px){.adminBlogMetaRow{grid-template-columns:1fr}}.adminBlogEditorRow{display:grid;grid-template-columns:var(--size-blog-content) var(--size-blog-content);gap:var(--space-4);flex:1;min-height:200px}@media(max-width:640px){.adminBlogEditorRow{grid-template-columns:1fr}}.adminBlogEditorCol{display:flex;flex-direction:column;gap:var(--space-2);min-height:0;flex:1}.adminBlogEditorTextarea{flex:1;min-height:0;resize:vertical;font-family:ui-monospace,monospace;font-size:.9em}.adminBlogEditorPreview{flex:1;min-height:0;overflow-y:auto;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-accent);box-sizing:border-box}.lockModalSection{margin-bottom:var(--space-1)}.lockModalOptions{display:flex;flex-direction:column;gap:var(--space-2)}.lockModalRadioWrap{display:flex;align-items:center;gap:var(--space-3);cursor:pointer;-webkit-user-select:none;user-select:none}.lockModalRadioWrap input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.lockModalRadio{width:20px;height:20px;min-width:20px;min-height:20px;border-radius:50%;flex-shrink:0;border:2px solid transparent;box-sizing:border-box;transition:background-color .2s,border-color .2s;display:flex;align-items:center;justify-content:center;background-color:var(--surface-accent);border-color:var(--border)}.lockModalRadio.checked{background-color:var(--accent);border-color:var(--accent)}.lockModalRadio.checked:after{content:"";width:8px;height:8px;border-radius:50%;background:var(--text-on-accent)}.lockModalPageListWrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s var(--easing-smooth)}.lockModalPageListWrap--open{grid-template-rows:1fr}.lockModalPageListInner{min-height:0;overflow:hidden}.lockModalPageList{margin-left:var(--space-6);padding-top:var(--space-2);display:flex;flex-direction:column;gap:var(--space-2)}.lockModalPageList .modalCheckboxWrap{margin-bottom:0}.blogPageMain{max-width:500px;margin-left:auto;margin-right:auto;width:100%;align-items:stretch}.blogPageMain .pageStagger,.blogPageMain .pageStaggerContent{width:100%;min-width:0}.blogPostList{width:100%}.blogPostListItem{width:100%;min-width:0;box-sizing:border-box;padding:var(--space-6);background:var(--surface-elevated);transition:background-color .2s ease,box-shadow .2s ease,transform .2s ease}.blogPostListLink:hover .blogPostListItem{background:var(--surface-accent);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.blogPostListLink{display:block;width:100%}.blogPostListLink:hover{color:inherit}.blogPostListItem .blogPostListTitle{margin-bottom:0}.blogPostListMeta{font-size:var(--font-size-sm);color:var(--text-muted);margin-bottom:var(--space-3);margin-top:var(--space-1)}.blogPostListDescription{font-size:var(--font-size-sm);color:var(--text-muted);line-height:1.5;margin-top:0;margin-bottom:var(--space-3)}.blogPostListLearnMore{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--accent);line-height:1}.blogPostListLearnMore .blogPostListArrow{display:inline-flex;align-items:center;font-size:.7em;transition:transform .2s ease}.blogPostListLink:hover .blogPostListArrow{transform:translate(4px)}.blogPostBody{word-break:break-word;font-size:var(--font-size-md);line-height:1.6;color:var(--text)}.blogPostBodyMarkdown{--blog-md-space: var(--space-4)}.blogPostBodyMarkdown h1,.blogPostBodyMarkdown h2,.blogPostBodyMarkdown h3{font-weight:600;margin-top:var(--blog-md-space);margin-bottom:var(--space-2);line-height:1.3}.blogPostBodyMarkdown h1{font-size:1.5em}.blogPostBodyMarkdown h2{font-size:1.25em}.blogPostBodyMarkdown h3{font-size:1.1em}.blogPostBodyMarkdown h1:first-child,.blogPostBodyMarkdown h2:first-child,.blogPostBodyMarkdown h3:first-child{margin-top:0}.blogPostBodyMarkdown p{margin-bottom:var(--space-3)}.blogPostBodyMarkdown p:last-child{margin-bottom:0}.blogPostBodyMarkdown ul,.blogPostBodyMarkdown ol{margin:var(--space-3) 0;padding-left:1.5em}.blogPostBodyMarkdown li{margin-bottom:var(--space-1)}.blogPostBodyMarkdown code{font-size:.9em;padding:.15em .4em;border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--text)}.blogPostBodyMarkdown pre{margin:var(--space-4) 0;padding:var(--space-4);overflow-x:auto;border-radius:var(--radius-md);background:var(--surface-raised);font-size:.9em;line-height:1.5}.blogPostBodyMarkdown pre code{padding:0;background:none}.blogPostBodyMarkdown blockquote{margin:var(--space-4) 0;padding-left:var(--space-4);border-left:3px solid var(--border-strong);color:var(--text-muted)}.blogPostBodyMarkdown a{color:var(--accent);text-decoration:underline}.blogPostBodyMarkdown a:hover{text-decoration:none}.blogPostBodyMarkdown hr{border:none;border-top:1px solid var(--border);margin:var(--space-6) 0}.blogPostBodyMarkdown table{width:100%;border-collapse:collapse;margin:var(--space-4) 0;font-size:.95em}.blogPostBodyMarkdown th,.blogPostBodyMarkdown td{padding:var(--space-2) var(--space-3);text-align:left;border-bottom:1px solid var(--border)}.blogPostBodyMarkdown th{font-weight:600;background:var(--surface-raised)}@keyframes weatherLoadingShimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.weatherLoadingOverlay{position:absolute;inset:0;border-radius:inherit;overflow:hidden;pointer-events:none}.weatherLoadingOverlay:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,var(--focus-ring-soft) 25%,var(--focus-ring-mid) 50%,var(--focus-ring-soft) 75%,transparent 100%);background-size:200% 100%;animation:weatherLoadingShimmer 1.5s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.weatherLoadingOverlay:after{animation:none}}
