@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:"DM Sans", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--ease-out:cubic-bezier(0, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:"DM Sans", sans-serif;--default-mono-font-family:var(--font-mono);--font-display:"Playfair Display", serif}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-47{margin:calc(var(--spacing) * 47)}.m-86{margin:calc(var(--spacing) * 86)}.m-418{margin:calc(var(--spacing) * 418)}.m-590{margin:calc(var(--spacing) * 590)}.m-1686{margin:calc(var(--spacing) * 1686)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-full{height:100%}.min-h-full{min-height:100%}.flex-1{flex:1}.shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-col{flex-direction:column}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.border{border-style:var(--tw-border-style);border-width:1px}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}}:root{--background:radial-gradient(circle at 20% 15%, #2db4630f, transparent 40%), radial-gradient(circle at 80% 20%, #4dabf70a, transparent 38%), linear-gradient(135deg, #0e0c0a 0%, #11100d 50%, #0f0d0b 100%);--foreground:#e6e2dc;--heading:#f0ece6;--text-main:#bfb9b1;--accent:#2db463;--accent-hover:#259a52;--accent-light:#18291d;--accent-western:#4dabf7;--accent-mix:#b388ff;--card:#1a1714;--card-bg:#1a1714;--card-border:#2c2822;--navbar-bg:linear-gradient(180deg, #141210 0%, #11100d 100%);--input-bg:#12100e;--border:#2c2822;--text-muted:#8a847c;--text-light:#6b6560;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-right:env(safe-area-inset-right,0px);--safe-left:env(safe-area-inset-left,0px);--orange:#e65100;--orange-bright:#ff6d00;--orange-light:#fb923c;--blue:#4dabf7;--purple:#b388ff;--green:#4ade80;--green-bright:#34a853;--indigo:#818cf8;--red:#f87171;--red-dark:#dc2626;--red-strong:#ef4444;--red-bright:#fca5a5;--amber:#fbbf24;--amber-dark:#f59e0b;--gold:#d4a017;--hover-bg:#201d19;--hover-bg-active:#2d2822;--table-header:#1c1916;--table-header-end:#1a1714;--footer-bg:#0a0908;--danger-bg:#dc26261f;--danger-hover:#dc262633;--danger-active:#dc26264d;--overlay-dark:#0000008c;--overlay-darker:#00000080;--today-bg:#e651000a;--today-line:#e65100;--today-circle-bg:linear-gradient(135deg, #e65100, #ff6d00);--modal-btn-secondary-hover:#2a2520;--modal-btn-secondary-bg:#1e1b18;--modal-btn-primary-hover:#259a52;--modal-btn-primary-active:#1e8043;--modal-img-bg:#1e1b18;--accent-glow:#2db4632e;--accent-dim:#2db4631f;--accent-soft:#2db4630f;--accent-soft-2:#2db4630a;--border-soft:#2db46314;--border-soft-2:#ffffff0a;--white-soft:#ffffff08;--white-soft-2:#ffffff0d;--white-soft-4:#ffffff0a;--white-soft-15:#ffffff26;--white-soft-2-2:#ffffff08;--cal-badge-bg:#1a1a0d;--cal-badge-color:#d4a017;--ai-purple-dark:#6a1b9a;--ai-purple:#7b1fa2;--ai-purple-light:#a0f;--ai-purple-muted:#ce93d8;--ai-purple-pale:#e1bee7;--ai-bg-start:#f3e5f5;--ai-bg-mid:#faf5ff;--ai-bg-end:#e8eaf6;--ai-soft-bg:#6a1b9a26;--ai-soft-bg2:#6a1b9a0a;--ai-soft-bg3:#6a1b9a1a;--ai-soft-bg4:#6a1b9a40;--import-purple-deep:#1a0d2a;--import-purple:#2d1a4f;--import-purple-light:#b388ff;--import-border:#2db4630f;--import-soft-bg:#ffffff08;--warning-bg:#fbbf241a;--warning-border:#fbbf244d;--warning-color:var(--amber);--warning-light:#fbbf24;--error-bg:#f871711a;--error-border:#f8717140;--error-color:var(--red);--red-soft:#f8717114;--ai-icon-meal:#e65100;--ai-icon-recipe:#1565c0;--ai-icon-ingredients:#2e7d32;--ai-category-desi:#e65100;--ai-category-western:#1565c0;--ai-category-mix:#7b1fa2;--category-desi-bg:#fff3e0;--category-western-bg:#e3f2fd;--category-mix-bg:#6a1b9a1a;--category-desi-border:#e65100;--category-western-border:#1565c0;--category-mix-border:#7b1fa2;--accent-glow-orange:#e6510080;--orange-soft-bg:#fb923c1f;--blue-soft-bg:#4dabf71f;--purple-soft-bg:#b388ff1f;--green-soft-bg:#2db4631f;--indigo-soft-bg:#6366f11f;--green-soft-bg2:#4ade801a;--indigo-soft-bg2:#818cf81a;--tag-desi-bg:#2a1f0d;--tag-western-bg:#0d1f2a;--tag-mix-bg:#1a0d2a;--tag-strength-bg:#1a0d2a;--tag-cardio-bg:#0d1f2a;--tag-flexibility-bg:#1a2a0d;--overlay-black-03:#00000008;--overlay-black-02:#00000005;--shadow-sm:#0000001f;--shadow-sm2:#00000014;--shadow-md:#00000026;--shadow-lg:#0000002e;--shadow-xl:#00000080;--shadow-xl2:#0003;--today-shadow:#e651004d;--hero-bg-start:#422006;--hero-bg-mid:#78350f;--hero-bg-end:#92400e;--text-on-accent:#fff}[data-theme=light]{--status-bar-color:#faf8f6;--status-bar-text:dark;--background:#faf8f6;--foreground:#1e1b18;--heading:#14110e;--text-main:#4a443d;--accent:#16a34a;--accent-hover:#15803d;--accent-light:#dcfce7;--accent-western:#2563eb;--accent-mix:#7c3aed;--card:#fff;--card-bg:#fff;--card-border:#d4cfc9;--navbar-bg:linear-gradient(180deg, #f6faf4 0%, #f2f7f0 100%);--input-bg:#f5f2f0;--border:#d4cfc9;--text-muted:#7a736b;--text-light:#9a948c;--text-on-accent:#fff;--hp-bg:#faf8f6;--hp-surface:#f0eeec;--hp-card:#fff;--hp-text:#14110e;--hp-text-muted:#8a8278;--hp-accent:#7c3aed;--hp-accent-2:#0d9488;--hp-accent-3:#db2777;--hp-accent-4:#d97706;--hp-accent-deep:#6d28d9;--hp-text-on-accent:#fff;--hp-overlay-subtle:#0000000a;--hp-overlay-hover:#00000005;--hp-border-light:#00000029;--hp-footer-bg:#1e1b18;--hp-border:#cec8c1;--hp-accent-ovl-02:#7c3aed05;--hp-accent-ovl-04:#7c3aed0a;--hp-accent-ovl-06:#7c3aed0f;--hp-accent-ovl-08:#7c3aed14;--hp-accent-ovl-10:#7c3aed1a;--hp-accent-ovl-12:#7c3aed1f;--hp-accent-ovl-15:#7c3aed26;--hp-accent-ovl-20:#7c3aed33;--hp-accent-ovl-25:#7c3aed40;--hp-accent-ovl-30:#7c3aed4d;--hp-accent-ovl-40:#7c3aed66;--hp-accent2-ovl-02:#0d948805;--hp-accent2-ovl-06:#0d94880f;--hp-accent2-ovl-10:#0d94881a;--hp-accent2-ovl-12:#0d94881f;--hp-accent2-ovl-30:#0d94884d;--hp-accent3-ovl-12:#db27771f;--hp-glow-1:#7c3aed26;--hp-glow-2:#0d94881a;--orange:#e65100;--orange-bright:#ff6d00;--orange-light:#f97316;--blue:#2563eb;--purple:#7c3aed;--green:#22c55e;--green-bright:#16a34a;--indigo:#6366f1;--red:#ef4444;--red-dark:#dc2626;--red-strong:#ef4444;--red-bright:#fca5a5;--amber:#f59e0b;--amber-dark:#d97706;--gold:#b45309;--hover-bg:#eeedeb;--hover-bg-active:#e2e0dc;--table-header:#f9fafb;--table-header-end:#f3f4f6;--footer-bg:#1e1b18;--danger-bg:#fee2e2;--danger-hover:#fecaca;--danger-active:#fca5a5;--overlay-dark:#0000008c;--overlay-darker:#00000080;--today-bg:#e651000a;--today-line:#e65100;--today-circle-bg:linear-gradient(135deg, #e65100, #ff6d00);--modal-btn-secondary-hover:#e2e0dc;--modal-btn-secondary-bg:#eeedeb;--modal-btn-primary-hover:#15803d;--modal-btn-primary-active:#166534;--modal-img-bg:#eeedeb;--accent-glow:#16a34a26;--accent-dim:#16a34a1a;--accent-soft:#16a34a0a;--accent-soft-2:#16a34a05;--border-soft:#00000024;--border-soft-2:#00000014;--white-soft:#0000000d;--white-soft-2:#00000017;--white-soft-4:#00000012;--white-soft-15:#0000002e;--white-soft-2-2:#0000000a;--cal-badge-bg:#fef3c7;--cal-badge-color:#92400e;--ai-purple-dark:#6a1b9a;--ai-purple:#7b1fa2;--ai-purple-light:#a0f;--ai-purple-muted:#7b1fa2;--ai-purple-pale:#e1bee7;--ai-bg-start:#f3e5f5;--ai-bg-mid:#faf5ff;--ai-bg-end:#e8eaf6;--ai-soft-bg:#6a1b9a26;--ai-soft-bg2:#6a1b9a0a;--ai-soft-bg3:#6a1b9a1a;--ai-soft-bg4:#6a1b9a40;--import-purple-deep:#1a0d2a;--import-purple:#2d1a4f;--import-purple-light:#b388ff;--import-border:#7c3aed33;--import-soft-bg:#0000000f;--warning-bg:#f59e0b1a;--warning-border:#f59e0b4d;--warning-color:#b45309;--warning-light:#d97706;--error-bg:#ef44441a;--error-border:#ef444440;--error-color:#dc2626;--red-soft:#ef444414;--ai-icon-meal:#e65100;--ai-icon-recipe:#1565c0;--ai-icon-ingredients:#2e7d32;--ai-category-desi:#e65100;--ai-category-western:#1565c0;--ai-category-mix:#7b1fa2;--category-desi-bg:#fff3e0;--category-western-bg:#e3f2fd;--category-mix-bg:#6a1b9a1a;--category-desi-border:#e65100;--category-western-border:#1565c0;--category-mix-border:#7b1fa2;--accent-glow-orange:#e651004d;--orange-soft-bg:#f973161f;--blue-soft-bg:#2563eb1f;--purple-soft-bg:#7c3aed1f;--green-soft-bg:#16a34a1f;--indigo-soft-bg:#6366f11f;--green-soft-bg2:#22c55e1a;--indigo-soft-bg2:#6366f11a;--tag-desi-bg:#fef3c7;--tag-western-bg:#dbeafe;--tag-mix-bg:#ede9fe;--tag-strength-bg:#f3e8ff;--tag-cardio-bg:#ffe4e6;--tag-flexibility-bg:#d1fae5;--overlay-black-03:#00000008;--overlay-black-02:#00000005;--shadow-sm:#0000001f;--shadow-sm2:#00000014;--shadow-md:#00000026;--shadow-lg:#0000002e;--shadow-xl:#00000080;--shadow-xl2:#0003;--today-shadow:#e651004d;--hero-bg-start:#422006;--hero-bg-mid:#78350f;--hero-bg-end:#92400e;--hero-glow-1:#7c3aed1f;--hero-glow-2:#0d948814;--info-soft-bg:#2563eb14;--purple-soft-bg2:#7c3aed14;--green-soft-bg3:#16a34a0f;--indigo-soft-bg3:#6366f10f;--red-hover:#ef4444d9;--orange-glow:#e6510040;--amber-glow:#f59e0b33;--white-trans-30:#0000004d;--black-trans-65:#000000a6;--accent-cal-glow:#16a34a24;--red-border-soft:#ef44444d;--red-bg-soft:#ef444414;--white-trans-02:#00000005;--white-trans-15:#00000026}[data-theme=dark]{--status-bar-color:#13111c;--status-bar-text:light;--background:linear-gradient(135deg, #0a0a0f 0%, #0d0d1a 50%, #0f0d12 100%);--foreground:#e8e6f0;--heading:#f0eeff;--text-main:#c8c6d8;--text-on-accent:#fff;--accent:#6c5ce7;--accent-hover:#7c6ff0;--accent-light:#1a1830;--accent-western:#6c5ce7;--accent-mix:#a78bfa;--card:#13111c;--card-bg:#13111c;--card-border:#2a2540;--navbar-bg:linear-gradient(180deg, #0e0c18 0%, #0b0a14 100%);--input-bg:#0a0a12;--border:#2a2540;--text-muted:#8a84a0;--text-light:#5e5875;--hp-bg:#080810;--hp-surface:#12101d;--hp-card:#13111c;--hp-text:#f0eeff;--hp-text-muted:#8a84a0;--hp-accent:#6c5ce7;--hp-accent-2:#00cec9;--hp-accent-3:#fd79a8;--hp-accent-4:#fdcb6e;--hp-accent-deep:#5a4bd1;--hp-text-on-accent:#fff;--hp-overlay-subtle:#6c5ce70f;--hp-overlay-hover:#6c5ce70a;--hp-border-light:#6c5ce740;--hp-footer-bg:#07080d;--hp-border:#2a2540;--hp-accent-ovl-02:#6c5ce705;--hp-accent-ovl-04:#6c5ce70a;--hp-accent-ovl-06:#6c5ce70f;--hp-accent-ovl-08:#6c5ce714;--hp-accent-ovl-10:#6c5ce71a;--hp-accent-ovl-12:#6c5ce71f;--hp-accent-ovl-15:#6c5ce726;--hp-accent-ovl-20:#6c5ce733;--hp-accent-ovl-25:#6c5ce740;--hp-accent-ovl-30:#6c5ce74d;--hp-accent-ovl-40:#6c5ce766;--hp-accent2-ovl-02:#00cec905;--hp-accent2-ovl-06:#00cec90f;--hp-accent2-ovl-10:#00cec91a;--hp-accent2-ovl-12:#00cec91f;--hp-accent2-ovl-30:#00cec94d;--hp-accent3-ovl-12:#fd79a81f;--hp-glow-1:#6c5ce733;--hp-glow-2:#00cec924;--orange:#ff6d00;--orange-bright:#ff9100;--orange-light:#fb923c;--blue:#4dabf7;--purple:#b388ff;--green:#4ade80;--green-bright:#34a853;--indigo:#818cf8;--red:#f87171;--red-dark:#dc2626;--red-strong:#ef4444;--red-bright:#fca5a5;--amber:#fbbf24;--amber-dark:#f59e0b;--gold:#fbbf24;--hover-bg:#1a1828;--hover-bg-active:#242040;--table-header:#0f0e1a;--table-header-end:#0c0b16;--footer-bg:#07080d;--danger-bg:#f871711f;--danger-hover:#f8717138;--danger-active:#f8717152;--overlay-dark:#000000b3;--overlay-darker:#000000a6;--today-bg:#6c5ce70f;--today-line:#6c5ce7;--today-circle-bg:linear-gradient(135deg, #6c5ce7, #00cec9);--modal-btn-secondary-hover:#1a1828;--modal-btn-secondary-bg:#0f0e1a;--modal-btn-primary-hover:#7c6ff0;--modal-btn-primary-active:#5a4bd1;--modal-img-bg:#1a1828;--accent-glow:#6c5ce733;--accent-dim:#6c5ce71f;--accent-soft:#6c5ce70f;--accent-soft-2:#6c5ce70a;--border-soft:#6c5ce71a;--border-soft-2:#6c5ce70f;--white-soft:#6c5ce70d;--white-soft-2:#6c5ce714;--white-soft-4:#6c5ce70f;--white-soft-15:#6c5ce72e;--white-soft-2-2:#6c5ce708;--cal-badge-bg:#1a1830;--cal-badge-color:#6c5ce7;--ai-purple-dark:#6c5ce7;--ai-purple:#7c6ff0;--ai-purple-light:#a78bfa;--ai-purple-muted:#8b7cf7;--ai-purple-pale:#c4b5fd;--ai-bg-start:#12101d;--ai-bg-mid:#080810;--ai-bg-end:#13111c;--ai-soft-bg:#6c5ce72e;--ai-soft-bg2:#6c5ce70f;--ai-soft-bg3:#6c5ce71f;--ai-soft-bg4:#6c5ce74d;--import-purple-deep:#080810;--import-purple:#12101d;--import-purple-light:#b388ff;--import-border:#6c5ce714;--import-soft-bg:#6c5ce714;--warning-bg:#fbbf241a;--warning-border:#fbbf244d;--warning-color:#fbbf24;--warning-light:#fbbf24;--error-bg:#f871711a;--error-border:#f8717140;--error-color:#f87171;--red-soft:#f8717117;--ai-icon-meal:#6c5ce7;--ai-icon-recipe:#00cec9;--ai-icon-ingredients:#4ade80;--ai-category-desi:#fb923c;--ai-category-western:#6c5ce7;--ai-category-mix:#a78bfa;--category-desi-bg:#fb923c1a;--category-western-bg:#6c5ce71a;--category-mix-bg:#a78bfa1a;--category-desi-border:#fb923c;--category-western-border:#6c5ce7;--category-mix-border:#a78bfa;--accent-glow-orange:#ff6d0073;--orange-soft-bg:#ff6d0024;--blue-soft-bg:#4dabf724;--purple-soft-bg:#b388ff24;--green-soft-bg:#4ade8024;--indigo-soft-bg:#818cf824;--green-soft-bg2:#4ade801f;--indigo-soft-bg2:#818cf81f;--tag-desi-bg:#fb923c1a;--tag-western-bg:#6c5ce71a;--tag-mix-bg:#a78bfa1a;--tag-strength-bg:#a78bfa1f;--tag-cardio-bg:#f871711a;--tag-flexibility-bg:#4ade801a;--overlay-black-03:#00000008;--overlay-black-02:#00000005;--shadow-sm:#0000004d;--shadow-sm2:#00000040;--shadow-md:#00000059;--shadow-lg:#0006;--shadow-xl:#0009;--shadow-xl2:#0000004d;--today-shadow:#6c5ce759;--hero-bg-start:#0a0a0f;--hero-bg-mid:#12101d;--hero-bg-end:#1a1828;--hero-glow-1:#6c5ce724;--hero-glow-2:#00cec91a;--info-soft-bg:#6c5ce71a;--purple-soft-bg2:#a78bfa1a;--green-soft-bg3:#4ade8014;--indigo-soft-bg3:#818cf814;--red-hover:#f87171d9;--orange-glow:#ff6d0059;--amber-glow:#fbbf2440;--white-trans-30:#ffffff59;--black-trans-65:#000000b3;--accent-cal-glow:#6c5ce72e;--red-border-soft:#f8717159;--red-bg-soft:#f871711a;--white-trans-02:#6c5ce708;--white-trans-15:#6c5ce72e}[data-theme=green]{--status-bar-color:#0a1a12;--status-bar-text:light;--background:radial-gradient(circle at 15% 20%, #22c55e2e, transparent 35%), radial-gradient(circle at 85% 15%, #14b8a626, transparent 35%), radial-gradient(circle at 70% 85%, #10b9811f, transparent 40%), linear-gradient(135deg, #020806 0%, #06130d 45%, #071a12 100%);--foreground:#ecfdf5;--heading:#fff;--text-main:#d1fae5;--text-on-accent:#052e16;--accent:#22c55e;--accent-hover:#4ade80;--accent-light:#0a1a12;--accent-western:#22c55e;--accent-mix:#a78bfa;--card:#0a1a12;--card-bg:#0a1a12;--card-border:#1a3a2a;--navbar-bg:linear-gradient(180deg, #06120c 0%, #040e08 100%);--input-bg:#070f0a;--border:#1a3a2a;--text-muted:#7ab89a;--text-light:#4a8a6a;--hp-bg:#060d08;--hp-surface:#0c1e14;--hp-card:#0a1a12;--hp-text:#fff;--hp-text-muted:#7ab89a;--hp-accent:#22c55e;--hp-accent-2:#14b8a6;--hp-accent-3:#818cf8;--hp-accent-4:#fbbf24;--hp-accent-deep:#4ade80;--hp-text-on-accent:#052e16;--hp-overlay-subtle:#22c55e0f;--hp-overlay-hover:#22c55e0a;--hp-border-light:#22c55e40;--hp-footer-bg:#030a06;--hp-border:#1a3a2a;--hp-accent-ovl-02:#22c55e05;--hp-accent-ovl-04:#22c55e0a;--hp-accent-ovl-06:#22c55e0f;--hp-accent-ovl-08:#22c55e14;--hp-accent-ovl-10:#22c55e1a;--hp-accent-ovl-12:#22c55e1f;--hp-accent-ovl-15:#22c55e26;--hp-accent-ovl-20:#22c55e33;--hp-accent-ovl-25:#22c55e40;--hp-accent-ovl-30:#22c55e4d;--hp-accent-ovl-40:#22c55e66;--hp-accent2-ovl-02:#14b8a605;--hp-accent2-ovl-06:#14b8a60f;--hp-accent2-ovl-10:#14b8a61a;--hp-accent2-ovl-12:#14b8a61f;--hp-accent2-ovl-30:#14b8a64d;--hp-accent3-ovl-12:#818cf81f;--hp-glow-1:#22c55e33;--hp-glow-2:#14b8a624;--orange:#fb923c;--orange-bright:#f97316;--orange-light:#fcd34d;--blue:#38bdf8;--purple:#a78bfa;--green:#22c55e;--green-bright:#16a34a;--indigo:#818cf8;--red:#f87171;--red-dark:#ef4444;--red-strong:#f87171;--red-bright:#fca5a5;--amber:#fbbf24;--amber-dark:#f59e0b;--gold:#fbbf24;--hover-bg:#0f1f16;--hover-bg-active:#142f20;--table-header:#080f0a;--table-header-end:#060d0a;--footer-bg:#030a06;--danger-bg:#f871711f;--danger-hover:#f8717138;--danger-active:#f8717152;--overlay-dark:#000000b3;--overlay-darker:#000000a6;--today-bg:#22c55e0f;--today-line:#22c55e;--today-circle-bg:linear-gradient(135deg, #22c55e, #14b8a6);--modal-btn-secondary-hover:#0f1f16;--modal-btn-secondary-bg:#080f0a;--modal-btn-primary-hover:#4ade80;--modal-btn-primary-active:#16a34a;--modal-img-bg:#0f1f16;--accent-glow:#22c55e33;--accent-dim:#22c55e1f;--accent-soft:#22c55e0f;--accent-soft-2:#22c55e0a;--border-soft:#22c55e1a;--border-soft-2:#22c55e0f;--white-soft:#22c55e0d;--white-soft-2:#22c55e14;--white-soft-4:#22c55e0f;--white-soft-15:#22c55e2e;--white-soft-2-2:#22c55e08;--cal-badge-bg:#0a1a12;--cal-badge-color:#22c55e;--ai-purple-dark:#22c55e;--ai-purple:#10b981;--ai-purple-light:#34d399;--ai-purple-muted:#6ee7b7;--ai-purple-pale:#a7f3d0;--ai-bg-start:#0c1e14;--ai-bg-mid:#060d08;--ai-bg-end:#0a1a12;--ai-soft-bg:#22c55e2e;--ai-soft-bg2:#22c55e0f;--ai-soft-bg3:#22c55e1f;--ai-soft-bg4:#22c55e4d;--import-purple-deep:#030a06;--import-purple:#0c1e14;--import-purple-light:#6ee7b7;--import-border:#22c55e14;--import-soft-bg:#22c55e14;--warning-bg:#fbbf241a;--warning-border:#fbbf244d;--warning-color:#fbbf24;--warning-light:#fbbf24;--error-bg:#f871711a;--error-border:#f8717140;--error-color:#f87171;--red-soft:#f8717117;--ai-icon-meal:#22c55e;--ai-icon-recipe:#14b8a6;--ai-icon-ingredients:#4ade80;--ai-category-desi:#fb923c;--ai-category-western:#22c55e;--ai-category-mix:#a78bfa;--category-desi-bg:#fb923c1a;--category-western-bg:#22c55e1a;--category-mix-bg:#a78bfa1a;--category-desi-border:#fb923c;--category-western-border:#22c55e;--category-mix-border:#a78bfa;--accent-glow-orange:#fb923c73;--orange-soft-bg:#fb923c24;--blue-soft-bg:#38bdf824;--purple-soft-bg:#a78bfa24;--green-soft-bg:#4ade8024;--indigo-soft-bg:#818cf824;--green-soft-bg2:#4ade801f;--indigo-soft-bg2:#818cf81f;--tag-desi-bg:#fb923c1a;--tag-western-bg:#22c55e1a;--tag-mix-bg:#a78bfa1a;--tag-strength-bg:#a78bfa1f;--tag-cardio-bg:#f871711a;--tag-flexibility-bg:#4ade801a;--overlay-black-03:#00000008;--overlay-black-02:#00000005;--shadow-sm:#0000004d;--shadow-sm2:#00000040;--shadow-md:#00000059;--shadow-lg:#0006;--shadow-xl:#0009;--shadow-xl2:#0000004d;--today-shadow:#22c55e59;--hero-bg-start:#060d08;--hero-bg-mid:#0c1e14;--hero-bg-end:#0f1f16;--hero-glow-1:#22c55e24;--hero-glow-2:#14b8a61a;--info-soft-bg:#22c55e1a;--purple-soft-bg2:#a78bfa1a;--green-soft-bg3:#4ade8014;--indigo-soft-bg3:#818cf814;--red-hover:#f87171d9;--orange-glow:#fb923c59;--amber-glow:#fbbf2440;--white-trans-30:#ffffff59;--black-trans-65:#000000b3;--accent-cal-glow:#22c55e2e;--red-border-soft:#f8717159;--red-bg-soft:#f871711a;--white-trans-02:#22c55e08;--white-trans-15:#22c55e2e}[data-theme=blue]{--status-bar-color:#0a1030;--status-bar-text:light;--background:radial-gradient(circle at 20% 15%, #38bdf81a, transparent 38%), radial-gradient(circle at 85% 20%, #22d3ee14, transparent 38%), radial-gradient(circle at 65% 85%, #2563eb1a, transparent 42%), linear-gradient(135deg, #04070f 0%, #070d26 55%, #050a1e 100%);--foreground:#eef4ff;--heading:#fff;--text-main:#d0dcff;--text-on-accent:#05081a;--accent:#38bdf8;--accent-hover:#60cffa;--accent-light:#0c1533;--accent-western:#38bdf8;--accent-mix:#a78bfa;--card:#0a1030;--card-bg:#0a1030;--card-border:#1e2a52;--navbar-bg:linear-gradient(180deg, #060b22 0%, #04081a 100%);--input-bg:#060a20;--border:#1e2a52;--text-muted:#8898cc;--text-light:#7286c4;--hp-bg:#05081a;--hp-surface:#0c1338;--hp-card:#0a1030;--hp-text:#fff;--hp-text-muted:#8898cc;--hp-accent:#38bdf8;--hp-accent-2:#22d3ee;--hp-accent-3:#818cf8;--hp-accent-4:#fb923c;--hp-accent-deep:#60cffa;--hp-text-on-accent:#05081a;--hp-overlay-subtle:#38bdf80f;--hp-overlay-hover:#38bdf80a;--hp-border-light:#38bdf840;--hp-footer-bg:#03050e;--hp-border:#1e2a52;--hp-accent-ovl-02:#38bdf805;--hp-accent-ovl-04:#38bdf80a;--hp-accent-ovl-06:#38bdf80f;--hp-accent-ovl-08:#38bdf814;--hp-accent-ovl-10:#38bdf81a;--hp-accent-ovl-12:#38bdf81f;--hp-accent-ovl-15:#38bdf826;--hp-accent-ovl-20:#38bdf833;--hp-accent-ovl-25:#38bdf840;--hp-accent-ovl-30:#38bdf84d;--hp-accent-ovl-40:#38bdf866;--hp-accent2-ovl-02:#22d3ee05;--hp-accent2-ovl-06:#22d3ee0f;--hp-accent2-ovl-10:#22d3ee1a;--hp-accent2-ovl-12:#22d3ee1f;--hp-accent2-ovl-30:#22d3ee4d;--hp-accent3-ovl-12:#818cf81f;--hp-glow-1:#38bdf833;--hp-glow-2:#22d3ee24;--orange:#fb923c;--orange-bright:#f97316;--orange-light:#fdba74;--blue:#2563eb;--purple:#a78bfa;--green:#4ade80;--green-bright:#22c55e;--indigo:#818cf8;--red:#f87171;--red-dark:#ef4444;--red-strong:#f87171;--red-bright:#fca5a5;--amber:#fbbf24;--amber-dark:#f59e0b;--gold:#fbbf24;--hover-bg:#0f1745;--hover-bg-active:#1a2356;--table-header:#080c28;--table-header-end:#060a20;--footer-bg:#03050e;--danger-bg:#f871711f;--danger-hover:#f8717138;--danger-active:#f8717152;--overlay-dark:#000000b3;--overlay-darker:#000000a6;--today-bg:#38bdf80f;--today-line:#38bdf8;--today-circle-bg:linear-gradient(135deg, #38bdf8, #22d3ee);--modal-btn-secondary-hover:#0f1745;--modal-btn-secondary-bg:#080c28;--modal-btn-primary-hover:#60cffa;--modal-btn-primary-active:#0ea5e9;--modal-img-bg:#0f1745;--accent-glow:#38bdf833;--accent-dim:#38bdf81f;--accent-soft:#38bdf80f;--accent-soft-2:#38bdf80a;--border-soft:#38bdf81a;--border-soft-2:#38bdf80f;--white-soft:#38bdf80d;--white-soft-2:#38bdf814;--white-soft-4:#38bdf80f;--white-soft-15:#38bdf82e;--white-soft-2-2:#38bdf808;--cal-badge-bg:#0c1533;--cal-badge-color:#38bdf8;--ai-purple-dark:#38bdf8;--ai-purple:#0ea5e9;--ai-purple-light:#7dd3fc;--ai-purple-muted:#67e8f9;--ai-purple-pale:#cffafe;--ai-bg-start:#0c1533;--ai-bg-mid:#05081a;--ai-bg-end:#0a1030;--ai-soft-bg:#38bdf82e;--ai-soft-bg2:#38bdf80f;--ai-soft-bg3:#38bdf81f;--ai-soft-bg4:#38bdf84d;--import-purple-deep:#03050e;--import-purple:#0c1533;--import-purple-light:#7dd3fc;--import-border:#38bdf814;--import-soft-bg:#38bdf814;--warning-bg:#fbbf241a;--warning-border:#fbbf244d;--warning-color:#fbbf24;--warning-light:#fbbf24;--error-bg:#f871711a;--error-border:#f8717140;--error-color:#f87171;--red-soft:#f8717117;--ai-icon-meal:#38bdf8;--ai-icon-recipe:#22d3ee;--ai-icon-ingredients:#4ade80;--ai-category-desi:#fb923c;--ai-category-western:#38bdf8;--ai-category-mix:#a78bfa;--category-desi-bg:#fb923c1a;--category-western-bg:#38bdf81a;--category-mix-bg:#a78bfa1a;--category-desi-border:#fb923c;--category-western-border:#38bdf8;--category-mix-border:#a78bfa;--accent-glow-orange:#fb923c73;--orange-soft-bg:#fb923c24;--blue-soft-bg:#2563eb24;--purple-soft-bg:#a78bfa24;--green-soft-bg:#4ade8024;--indigo-soft-bg:#818cf824;--green-soft-bg2:#4ade801f;--indigo-soft-bg2:#818cf81f;--tag-desi-bg:#fb923c1a;--tag-western-bg:#38bdf81a;--tag-mix-bg:#a78bfa1a;--tag-strength-bg:#a78bfa1f;--tag-cardio-bg:#f871711a;--tag-flexibility-bg:#4ade801a;--overlay-black-03:#00000008;--overlay-black-02:#00000005;--shadow-sm:#0000004d;--shadow-sm2:#00000040;--shadow-md:#00000059;--shadow-lg:#0006;--shadow-xl:#0009;--shadow-xl2:#0000004d;--today-shadow:#38bdf859;--hero-bg-start:#05081a;--hero-bg-mid:#0c1533;--hero-bg-end:#0f1745;--hero-glow-1:#38bdf824;--hero-glow-2:#22d3ee1a;--info-soft-bg:#38bdf81a;--purple-soft-bg2:#a78bfa1a;--green-soft-bg3:#4ade8014;--indigo-soft-bg3:#818cf814;--red-hover:#f87171d9;--orange-glow:#fb923c59;--amber-glow:#fbbf2440;--white-trans-30:#ffffff59;--black-trans-65:#000000b3;--accent-cal-glow:#38bdf82e;--red-border-soft:#f8717159;--red-bg-soft:#f871711a;--white-trans-02:#38bdf808;--white-trans-15:#38bdf82e}*{-webkit-tap-highlight-color:transparent;box-sizing:border-box}html{-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}::view-transition-old(root){animation-duration:.25s}::view-transition-new(root){animation-duration:.25s}::view-transition-old(root){animation:.25s cubic-bezier(.22,1,.36,1) both view-transition-fade-out}::view-transition-new(root){animation:.25s cubic-bezier(.22,1,.36,1) both view-transition-fade-in}@keyframes view-transition-fade-out{to{opacity:0}}@keyframes view-transition-fade-in{0%{opacity:0}to{opacity:1}}html,body,[data-theme]{transition:background .3s,color .3s,border-color .3s}.card-hover-lift,.widget-card,.auth-card,.community-card,.dashboard-profile-card,.timeline-card,.billing-card,.billing-card-skeleton,.premium-card,.free-plan-card,.lb-card,.diary-compact-card,.diary-insight-card,.modal-section-card,.modal-section-card-fill,input,textarea,select,button,.modal,.base-modal,.navbar,.sidebar-vscode,table,thead,tbody,tr,td,th{transition:background .3s,color .3s,border-color .3s,box-shadow .3s}body{background:var(--background);color:var(--foreground);padding:0;padding-top:var(--safe-top);padding-bottom:var(--safe-bottom);overscroll-behavior:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-feature-settings:"kern" 1, "liga" 1;font-kerning:normal;background-repeat:no-repeat;background-size:cover;background-attachment:fixed;margin:0;font-family:DM Sans,sans-serif}a,button,input,select,textarea,[tabindex]:not([tabindex="-1"]){transition:background .18s cubic-bezier(.22,1,.36,1),color .18s cubic-bezier(.22,1,.36,1),border-color .18s cubic-bezier(.22,1,.36,1),opacity .18s cubic-bezier(.22,1,.36,1),transform .18s cubic-bezier(.22,1,.36,1),box-shadow .18s cubic-bezier(.22,1,.36,1)}a:hover,button:hover{transition:background .12s cubic-bezier(.22,1,.36,1),color .12s cubic-bezier(.22,1,.36,1),border-color .12s cubic-bezier(.22,1,.36,1),opacity .12s cubic-bezier(.22,1,.36,1),transform .12s cubic-bezier(.22,1,.36,1),box-shadow .12s cubic-bezier(.22,1,.36,1)}h1,h2,h3,h4,h5,h6,p,span,a,li,td,th,label,button,input,textarea,select{text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,.heading-xl,.heading-lg,.heading-md,.heading-sm{text-wrap:pretty;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.toast-container{z-index:9999;pointer-events:none;flex-direction:column;gap:10px;width:90vw;max-width:420px;display:flex;position:fixed;bottom:70px;left:50%;transform:translate(-50%)}.toast{pointer-events:auto;background:var(--card-bg);color:var(--foreground);border:1px solid var(--card-border);box-shadow:0 8px 32px var(--shadow-lg);cursor:default;-webkit-backdrop-filter:blur(16px);touch-action:pan-y;border-radius:5px;transition:transform .25s,opacity .25s;animation:.3s cubic-bezier(.21,1.02,.58,1) toast-in;position:relative;overflow:hidden}.toast.toast-exiting{animation:.25s ease-in forwards toast-out}.toast.toast-dragging{cursor:grabbing;transition:none}.toast-clickable{cursor:pointer;transition:transform .15s,box-shadow .15s}.toast-clickable:hover{box-shadow:0 10px 36px var(--shadow-lg);transform:translateY(-1px)}.toast:before{content:"";background:var(--toast-accent);border-radius:5px 0 0 5px;width:4px;position:absolute;top:0;bottom:0;left:0}.toast-error{--toast-accent:var(--red,#ef4444)}.toast-success{--toast-accent:var(--green,#22c55e)}.toast-info{--toast-accent:var(--blue,#4dabf7)}.toast-header{color:var(--heading);align-items:center;gap:8px;margin-bottom:2px;padding:12px 12px 0 16px;font-size:.85rem;font-weight:600;display:flex}.toast-error .toast-header svg{color:var(--toast-accent,#ef4444)}.toast-success .toast-header svg{color:var(--toast-accent,#22c55e)}.toast-info .toast-header svg{color:var(--toast-accent,#4dabf7)}.toast-close{cursor:pointer;color:var(--text-muted);opacity:.6;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;margin-left:auto;padding:2px 4px;transition:opacity .15s,background .15s;display:flex}.toast-close:hover{opacity:1;background:var(--hover-bg)}.toast-close svg{width:14px;height:14px;color:inherit!important}.toast-body{word-break:break-word;color:var(--text-main);margin:0;padding:6px 16px 12px;font-size:.85rem;line-height:1.45}.toast-progress{background:var(--toast-accent);opacity:.7;height:3px;animation:toast-progress-shrink var(--toast-duration,4s) linear forwards;transform-origin:0;border-radius:0 0 5px}@keyframes toast-in{0%{opacity:0;transform:translateY(16px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes toast-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(24px)}}@keyframes toast-progress-shrink{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.sync-status-pill{box-sizing:border-box;text-overflow:ellipsis;white-space:nowrap;border-radius:8px;align-items:center;gap:.4rem;min-width:0;margin:0 0 .5rem;padding:.35rem .75rem;font-size:.78rem;font-weight:500;display:flex;overflow:hidden}.sync-status-pill.offline{background:var(--warning-bg);border:1px solid var(--warning-border);color:var(--warning-color)}.sync-status-pill.syncing{background:var(--accent-soft);border:1px solid var(--border-soft);color:var(--accent)}.offline-fallback{text-align:center;max-width:420px;min-height:60dvh;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:.75rem;margin:0 auto;padding:2rem 1.5rem;display:flex}.offline-fallback svg{color:var(--warning-color);margin-bottom:.25rem}.offline-fallback h2{color:var(--heading);margin:0;font-size:1.25rem;font-weight:600}.offline-fallback p{margin:0;font-size:.9rem;line-height:1.5}.ptr-container{overscroll-behavior-y:contain;position:relative}.ptr-indicator{justify-content:center;align-items:center;display:flex;overflow:hidden}.ptr-spinner{background:var(--card);border:1px solid var(--border);width:36px;height:36px;color:var(--accent);box-shadow:0 2px 8px var(--shadow-sm);border-radius:50%;justify-content:center;align-items:center;display:flex}.ptr-spinner--active{animation:.8s linear infinite ptr-spin}@keyframes ptr-spin{to{transform:rotate(360deg)}}button,input[type=submit],input[type=reset],input[type=button]{cursor:pointer;font-family:inherit;font-size:inherit;line-height:inherit;-webkit-tap-highlight-color:transparent;box-sizing:border-box}button:disabled,.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;pointer-events:none}.btn{color:var(--foreground);white-space:nowrap;background:0 0;border:1.5px solid #0000;border-radius:5px;justify-content:center;align-items:center;gap:6px;padding:.55rem 1.1rem;font-family:DM Sans,sans-serif;font-size:.82rem;font-weight:600;text-decoration:none;transition:background .18s cubic-bezier(.22,1,.36,1),border-color .18s cubic-bezier(.22,1,.36,1),color .18s cubic-bezier(.22,1,.36,1),box-shadow .22s cubic-bezier(.22,1,.36,1),transform .18s cubic-bezier(.22,1,.36,1),opacity .18s cubic-bezier(.22,1,.36,1);display:inline-flex}.btn-primary{background:var(--accent);color:var(--text-on-accent);border-color:var(--accent);box-shadow:0 4px 14px var(--accent-glow)}.btn-primary:hover{background:var(--accent-hover);box-shadow:0 6px 20px var(--accent-glow);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)scale(.97)}.btn-ghost{border-color:var(--border);color:var(--text-muted);background:0 0}.btn-ghost:hover{background:var(--hover-bg);border-color:var(--text-muted);color:var(--foreground)}.btn-danger{background:var(--danger-bg,#dc262614);color:var(--red-dark);border-color:#0000}.btn-danger:hover:not(:disabled){background:var(--danger-hover,#dc262626)}.btn-danger:active:not(:disabled){background:var(--danger-active,#dc262640)}.btn-ghost-soft{color:var(--text-muted);background:0 0;border-color:#0000}.btn-ghost-soft:hover{background:var(--hover-bg);color:var(--foreground)}.btn-link{color:var(--accent);text-underline-offset:2px;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.btn-link:hover{color:var(--accent-hover)}.btn-sm{border-radius:5px;gap:4px;padding:.35rem .7rem;font-size:.72rem}.btn-lg{border-radius:5px;gap:8px;padding:.75rem 1.5rem;font-size:.95rem}.btn-full{justify-content:center;width:100%}.btn-icon{width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .18s cubic-bezier(.22,1,.36,1),color .18s cubic-bezier(.22,1,.36,1),transform .18s cubic-bezier(.22,1,.36,1);display:inline-flex}.btn-icon:hover{background:var(--hover-bg);color:var(--foreground)}.btn-icon:active{transform:scale(.93)}.btn-icon-lg{width:40px;height:40px}.btn-icon-lg:hover{background:var(--accent-light);border-color:var(--accent);transform:scale(1.05)}.btn-icon-lg:active{transform:scale(.95)}.btn-icon-dark{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;background:#00000073}.btn-icon-dark:hover{color:#fff;background:#000000a6}.btn-icon-28{width:28px;height:28px}.btn-icon-36{width:36px;height:36px}.btn-spinner{border:2px solid;border-top-color:#0000;border-radius:50%;width:14px;height:14px;animation:.6s linear infinite btn-spin;display:inline-block}@keyframes btn-spin{to{transform:rotate(360deg)}}.btn-pill{border-radius:5px;padding:.4rem .8rem;font-size:.78rem;font-weight:600}.heading-xl{color:var(--heading);letter-spacing:-.01em;font-family:Playfair Display,serif;font-size:clamp(1.75rem,4vw,3.2rem);font-weight:700;line-height:1.15}.heading-lg{color:var(--heading);letter-spacing:-.005em;font-family:Playfair Display,serif;font-size:clamp(1.35rem,3vw,2rem);font-weight:700;line-height:1.2}.heading-md{color:var(--heading);font-family:DM Sans,sans-serif;font-size:clamp(1rem,2vw,1.35rem);font-weight:700;line-height:1.25}.heading-sm{color:var(--heading);font-family:DM Sans,sans-serif;font-size:clamp(.88rem,1.5vw,1.05rem);font-weight:600;line-height:1.35}.text-body{color:var(--foreground);font-family:DM Sans,sans-serif;font-size:clamp(.85rem,1.5vw,.95rem);line-height:1.6}.text-muted{color:var(--text-muted)}.text-light{color:var(--text-light)}.text-accent{color:var(--accent)}.text-sm{font-size:clamp(.72rem,1.2vw,.82rem)}.text-xs{font-size:clamp(.65rem,1vw,.72rem)}.text-lg{font-size:clamp(.92rem,1.8vw,1.05rem)}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-justify{text-align:justify}.text-uppercase{text-transform:uppercase}.text-lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.text-truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.text-break{word-break:break-word;overflow-wrap:break-word}.text-nowrap{white-space:nowrap}.tracking-tight{letter-spacing:-.02em}.tracking-wide{letter-spacing:.04em}.tracking-wider{letter-spacing:.08em}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}@keyframes anim-fade-in{0%{opacity:0}to{opacity:1}}@keyframes anim-fade-out{0%{opacity:1}to{opacity:0}}@keyframes anim-slide-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes anim-slide-down{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes anim-slide-left{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes anim-slide-right{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes anim-scale-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes anim-pop-in{0%{opacity:0;transform:scale(.85)}70%{transform:scale(1.04)}to{opacity:1;transform:scale(1)}}.animate-fade-in{animation:.3s cubic-bezier(.22,1,.36,1) both anim-fade-in}.animate-slide-up{animation:.35s cubic-bezier(.22,1,.36,1) both anim-slide-up}.animate-slide-down{animation:.3s cubic-bezier(.22,1,.36,1) both anim-slide-down}.animate-slide-left{animation:.3s cubic-bezier(.22,1,.36,1) both anim-slide-left}.animate-slide-right{animation:.3s cubic-bezier(.22,1,.36,1) both anim-slide-right}.animate-scale-in{animation:.25s cubic-bezier(.22,1,.36,1) both anim-scale-in}.animate-pop-in{animation:.35s cubic-bezier(.22,1,.36,1) both anim-pop-in}.card-hover-lift{transition:transform .2s cubic-bezier(.22,1,.36,1),box-shadow .2s cubic-bezier(.22,1,.36,1)}.card-hover-lift:hover{box-shadow:0 8px 24px var(--shadow-md);transform:translateY(-2px)}.card-hover-lift:active{box-shadow:0 2px 8px var(--shadow-sm);transform:translateY(0)}.pressable{transition:transform .12s cubic-bezier(.22,1,.36,1),opacity .12s cubic-bezier(.22,1,.36,1)}.pressable:active{opacity:.85;transform:scale(.96)}.hover-glow{transition:border-color .2s,box-shadow .2s,transform .2s cubic-bezier(.22,1,.36,1)}.hover-glow:hover{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-dim);transform:translateY(-1px)}.hover-highlight{transition:background .15s,color .15s}.stagger-children>*{opacity:0;animation:.35s cubic-bezier(.22,1,.36,1) forwards anim-slide-up}.stagger-children>:first-child{animation-delay:50ms}.stagger-children>:nth-child(2){animation-delay:.1s}.stagger-children>:nth-child(3){animation-delay:.15s}.stagger-children>:nth-child(4){animation-delay:.2s}.stagger-children>:nth-child(5){animation-delay:.25s}.stagger-children>:nth-child(6){animation-delay:.3s}.stagger-children>:nth-child(7){animation-delay:.35s}.stagger-children>:nth-child(8){animation-delay:.4s}.stagger-children>:nth-child(9){animation-delay:.45s}.stagger-children>:nth-child(10){animation-delay:.5s}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg, var(--border) 25%, var(--hover-bg) 50%, var(--border) 75%);-webkit-user-select:none;user-select:none;pointer-events:none;background-size:200% 100%;border-radius:5px;animation:1.5s ease-in-out infinite skeleton-shimmer;color:#0000!important}@keyframes celebrate-pop{0%{opacity:0;transform:scale(0)}60%{opacity:1;transform:scale(1.25)}to{opacity:1;transform:scale(1)}}.celebrate-pop{animation:.45s cubic-bezier(.34,1.56,.64,1) both celebrate-pop}@keyframes celebrate-glow{0%,to{box-shadow:0 0 0 0 var(--accent-glow,#e6510066)}50%{box-shadow:0 0 0 12px #0000}}.celebrate-glow{animation:1.5s cubic-bezier(.22,1,.36,1) infinite celebrate-glow}@keyframes celebrate-shine{0%{background-position:-200%}to{background-position:200%}}.celebrate-shine{background-image:linear-gradient(105deg,#0000 40%,#ffffff26 45%,#ffffff40 50%,#ffffff26 55%,#0000 60%);background-size:200% 100%;animation:2s ease-in-out infinite celebrate-shine}@keyframes celebrate-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.celebrate-bounce{animation:.8s cubic-bezier(.22,1,.36,1) infinite celebrate-bounce}@keyframes confetti-particle-1{0%{opacity:1;transform:translate(0)rotate(0)scale(1)}to{transform:translate(var(--cx1,-30px), var(--cy1,70px)) rotate(var(--cr1,400deg)) scale(.2);opacity:0}}@keyframes confetti-particle-2{0%{opacity:1;transform:translate(0)rotate(0)scale(1)}to{transform:translate(var(--cx2,30px), var(--cy2,65px)) rotate(var(--cr2,-350deg)) scale(.1);opacity:0}}@keyframes confetti-particle-3{0%{opacity:1;transform:translate(0)rotate(0)scale(1)}to{transform:translate(var(--cx3,-50px), var(--cy3,50px)) rotate(var(--cr3,500deg)) scale(.15);opacity:0}}@keyframes confetti-particle-4{0%{opacity:1;transform:translate(0)rotate(0)scale(1)}to{transform:translate(var(--cx4,50px), var(--cy4,55px)) rotate(var(--cr4,-480deg)) scale(.15);opacity:0}}.celebrate-confetti{position:relative;overflow:visible}.celebrate-confetti:before,.celebrate-confetti:after{content:"";pointer-events:none;z-index:1;position:absolute}.celebrate-confetti:before{background:var(--accent,#e65100);border-radius:2px;width:6px;height:6px;animation:.9s ease-out forwards confetti-particle-1,.9s ease-out 80ms forwards confetti-particle-4;top:50%;left:50%;box-shadow:10px 0 #f97316,-18px 2px #34d399,22px -4px #facc15}.celebrate-confetti:after{background:#38bdf8;border-radius:2px;width:7px;height:5px;animation:.85s ease-out 50ms forwards confetti-particle-2,.85s ease-out .12s forwards confetti-particle-3;top:50%;left:50%;box-shadow:-12px 0 #a78bfa,15px -3px #fb923c,-24px 3px #facc15}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.stagger-children>*{opacity:1;animation:none}}.hero{background:linear-gradient(135deg, var(--hero-bg-start) 0%, var(--hero-bg-mid) 50%, var(--hero-bg-end) 100%);color:#fff;padding:2.5rem 1rem;padding-top:calc(2.5rem + var(--safe-top));text-align:center;position:relative;overflow:hidden}.hero:before{content:"";background:radial-gradient(ellipse at 20% 50%, var(--hero-glow-1) 0%, transparent 60%), radial-gradient(ellipse at 80% 50%, var(--hero-glow-2) 0%, transparent 60%);position:absolute;inset:0}.hero *{z-index:1;position:relative}.legend{background:var(--card);border-bottom:1px solid var(--border);z-index:100;flex-wrap:wrap;justify-content:center;gap:1rem;padding:.75rem 1rem;display:flex;position:sticky;top:0}.legend-item{align-items:center;gap:.4rem;font-size:.75rem;font-weight:600;display:flex}.legend-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.tips-bar{-webkit-overflow-scrolling:touch;scrollbar-width:none;background:var(--accent-light);scroll-snap-type:x mandatory;justify-content:center;gap:.6rem;padding:.75rem 1rem;display:flex;overflow-x:auto}.tips-bar::-webkit-scrollbar{display:none}.tip{white-space:nowrap;background:var(--card);color:var(--text-muted);-webkit-backdrop-filter:blur(4px);scroll-snap-align:start;box-shadow:0 1px 3px var(--shadow-medium);border-radius:5px;flex-shrink:0;align-items:center;gap:.4rem;padding:.4rem .8rem;font-size:.78rem;font-weight:500;display:flex}.tip-icon{font-size:1rem}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:5px;transition:background .2s}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}::-webkit-scrollbar-corner{background:0 0}*{scrollbar-width:thin;scrollbar-color:var(--border) transparent}html{scroll-behavior:smooth}.navbar{background:var(--navbar-bg,var(--card-bg));border-bottom:1px solid var(--card-border);z-index:400;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;display:flex;position:sticky;top:0}.navbar-brand{color:var(--heading);align-items:center;gap:.5rem;font-size:1.2rem;font-weight:700;text-decoration:none;display:flex}.navbar-logo{object-fit:contain;border-radius:5px;width:28px;height:28px}.navbar-brand{transition:color .18s cubic-bezier(.22,1,.36,1),opacity .18s}.navbar-brand:hover{color:var(--accent)}.navbar-links{align-items:center;gap:1.2rem;display:flex}.navbar-links a{color:var(--text-main);cursor:pointer;border-radius:5px;padding:.35rem .6rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:background .2s cubic-bezier(.22,1,.36,1),color .2s cubic-bezier(.22,1,.36,1),transform .15s cubic-bezier(.22,1,.36,1)}.navbar-links a:hover{background:var(--green-soft-bg);color:var(--accent)}.navbar-links .nav-btn-primary{background:var(--accent);color:var(--text-on-accent);cursor:pointer;padding:.45rem 1rem}.navbar-links .nav-btn-primary:hover{background:var(--accent-hover);color:var(--text-on-accent)}.navbar-right{align-items:center;gap:1rem;display:flex}.navbar-links.always-visible{flex-direction:row;gap:.5rem;position:static;display:flex!important}.navbar-links.always-visible a{cursor:pointer;pointer-events:auto}.navbar-links.always-visible .nav-link-text{display:inline!important}.navbar-links.always-visible .nav-link-with-icon{cursor:pointer;pointer-events:auto}.navbar-links .nav-logout{border:1px solid var(--card-border);cursor:pointer;color:var(--text-light);background:0 0;border-radius:5px;padding:.4rem .8rem;font-size:.85rem;font-weight:500;transition:all .2s}.navbar-links .nav-logout:hover{background:var(--error-bg);border-color:var(--danger-soft-border);color:var(--red-dark)}.nav-user-greeting{color:var(--text-light);margin-right:.25rem;font-size:.85rem}.nav-right-group{align-items:center;gap:.8rem;display:flex}.nav-profile-wrap{position:relative}.nav-profile-btn{border:1px solid var(--card-border);cursor:pointer;color:var(--foreground);background:0 0;border-radius:5px;align-items:center;gap:.4rem;padding:.3rem .5rem .3rem .3rem;transition:background .2s,border-color .2s;display:flex}.nav-profile-btn:hover{background:var(--accent-soft-bg);border-color:var(--accent)}.nav-dashboard-btn{border:1px solid var(--card-border);border-radius:5px;align-items:center;gap:.4rem;padding:.3rem .5rem .3rem .3rem;text-decoration:none;transition:background .2s,border-color .2s;display:inline-flex;color:var(--foreground)!important}.nav-dashboard-btn:hover{border-color:var(--accent);background:var(--accent-soft-bg)!important;color:var(--foreground)!important}.nav-dashboard-btn .nav-link-icon{flex-shrink:0;width:22px;height:22px}.nav-dashboard-btn .nav-link-text{font-size:.85rem;font-weight:500}.nav-avatar{background:linear-gradient(135deg, var(--accent), var(--accent-hover));width:32px;height:32px;color:var(--text-on-accent);letter-spacing:.5px;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:flex;overflow:hidden}.nav-avatar-img{object-fit:cover;border-radius:50%;width:100%;height:100%}.nav-chevron{color:var(--text-light);flex-shrink:0;transition:transform .2s}.nav-chevron.open{transform:rotate(180deg)}.nav-dropdown{background:var(--card-bg);border:1px solid var(--card-border);z-index:200;border-radius:5px;min-width:220px;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 12px 32px #0006}.nav-dropdown-header{padding:.85rem 1rem}.nav-dropdown-name{color:var(--heading);font-size:.9rem;font-weight:600;display:block}.nav-dropdown-email{color:var(--text-light);margin-top:.15rem;font-size:.78rem;display:block}.nav-dropdown-divider{border:none;border-top:1px solid var(--card-border);margin:0}.nav-dropdown-item{width:100%;color:var(--text-main);cursor:pointer;background:0 0;border:none;align-items:center;gap:.6rem;padding:.65rem 1rem;font-family:inherit;font-size:.85rem;text-decoration:none;transition:background .18s cubic-bezier(.22,1,.36,1),color .18s cubic-bezier(.22,1,.36,1),padding-left .18s cubic-bezier(.22,1,.36,1);display:flex}.nav-dropdown-item:hover{background:var(--accent-dim);color:var(--heading);padding-left:1.15rem}.nav-dropdown-item-danger:hover{background:var(--error-bg);color:var(--red-strong)}.nav-link-with-icon{align-items:center;gap:.4rem;display:inline-flex}.nav-link-icon{flex-shrink:0}.nav-mobile-profile-menu{display:none}@media (max-width:768px){.nav-dashboard-btn{border-radius:5px;justify-content:center;width:100%;padding:.35rem .6rem .35rem .4rem}.navbar-links.open .nav-dashboard-btn{justify-content:flex-start;gap:.5rem;padding:.55rem .6rem}.navbar-links:not(.open) .nav-dashboard-btn .nav-link-text{display:none}.navbar-links.open .nav-mobile-profile-menu{border-top:1px solid var(--card-border);margin-top:.25rem;padding:.75rem 0;display:block}.nav-mobile-profile-header{align-items:center;gap:12px;margin-bottom:.5rem;padding:.6rem .5rem;display:flex}.nav-mobile-profile-avatar{width:48px;height:48px;color:var(--text-on-accent);background:linear-gradient(135deg, var(--accent), var(--accent-hover));border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;font-weight:700;display:flex;overflow:hidden}.nav-mobile-profile-img{object-fit:cover;border-radius:50%;width:100%;height:100%}.nav-mobile-profile-info{flex-direction:column;flex:1;min-width:0;display:flex}.nav-mobile-profile-name{color:var(--heading);white-space:nowrap;text-overflow:ellipsis;font-size:.92rem;font-weight:700;overflow:hidden}.nav-mobile-profile-email{color:var(--text-light);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.navbar-links.open .nav-dropdown-item{width:100%;color:var(--text-main);cursor:pointer;background:0 0;border:none;border-radius:5px;align-items:center;gap:.6rem;padding:.65rem .5rem;font-family:inherit;font-size:.85rem;text-decoration:none;transition:background .15s;display:flex}.navbar-links.open .nav-dropdown-item:hover{background:var(--accent-dim);color:var(--heading)}.navbar-links.open .nav-dropdown-item-danger:hover{background:var(--error-bg);color:var(--red-strong)}.navbar-links{background:var(--card-bg);border-bottom:1px solid var(--card-border);flex-direction:column;gap:.5rem;padding:1rem;display:none;position:absolute;top:100%;left:0;right:0}.navbar-links.always-visible{background:0 0;border:none;flex-direction:row;gap:.5rem;padding:0;display:flex;position:static}.navbar-links.always-visible .nav-link-text{display:inline!important}.navbar-links.open{display:flex}.nav-profile-btn{border-radius:5px;justify-content:center;width:100%}.nav-dropdown{box-shadow:none;background:0 0;border:none;margin-top:.5rem;position:static}.navbar-links{box-shadow:none;background:0 0;border-bottom:none;flex-direction:row;align-items:center;gap:.1rem;padding:0;display:flex;position:relative;top:auto;left:auto;right:auto}.navbar-links.open{background:var(--card-bg);border-bottom:1px solid var(--card-border);box-shadow:0 8px 24px var(--shadow-md);flex-direction:column;gap:.5rem;padding:1rem;position:absolute;top:100%;left:0;right:0}.navbar-links:not(.open) .nav-link-text,.navbar-links:not(.open) .nav-avatar,.navbar-links:not(.open) .nav-chevron{display:none}.navbar-links:not(.open) .nav-link-with-icon{justify-content:center;padding:.45rem}.navbar-links:not(.open) .nav-link-icon{width:22px;height:22px}.navbar-links.open .nav-link-with-icon{justify-content:flex-start;width:100%;padding:.55rem .6rem}.navbar-links.open .nav-link-with-icon .nav-link-text{display:inline}.navbar-links.open .nav-profile-btn{justify-content:flex-start;gap:.5rem;width:100%;padding:.55rem .6rem}.navbar-links.open .nav-avatar{display:flex}.navbar-links.open .nav-chevron{display:inline}}.navbar-mobile-logged-in,.navbar-action-bar{display:none}.navbar-ai-input-group{background:var(--input-bg,var(--card-bg));border:1px solid var(--card-border);border-radius:14px;align-items:flex-end;gap:6px;padding:4px 5px 4px 14px;transition:border-color .2s cubic-bezier(.22,1,.36,1),box-shadow .2s cubic-bezier(.22,1,.36,1);display:flex}.navbar-ai-input-group:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.navbar-ai-input{color:var(--foreground);resize:none;scrollbar-width:none;-ms-overflow-style:none;background:0 0;border:none;outline:none;flex:1;width:100%;min-width:0;max-height:6.5em;padding:8px 0;font-family:inherit;font-size:16px;line-height:1.35;overflow-y:auto}.navbar-ai-input::-webkit-scrollbar{display:none}.navbar-ai-input::placeholder{color:var(--text-light);opacity:.7}.navbar-ai-input:disabled{opacity:.5;cursor:not-allowed}.navbar-ai-submit{background:var(--accent);color:var(--text-on-accent);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;transition:background .2s,transform .15s cubic-bezier(.22,1,.36,1);display:flex}.navbar-ai-submit:hover:not(:disabled){background:var(--accent-hover);transform:scale(1.05)}.navbar-ai-submit:active:not(:disabled){transform:scale(.95)}.navbar-ai-submit:disabled{opacity:.4;cursor:not-allowed}.navbar-ai-spinner{border:2px solid var(--text-on-accent);border-top-color:#0000;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite navbar-ai-spin}@keyframes navbar-ai-spin{to{transform:rotate(360deg)}}.navbar-mobile-hamburger{color:var(--text-muted);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:none;border-radius:14px;justify-content:center;align-items:center;transition:background .18s cubic-bezier(.22,1,.36,1),color .18s cubic-bezier(.22,1,.36,1),transform .18s cubic-bezier(.22,1,.36,1);display:flex}.navbar-mobile-hamburger:hover{background:var(--accent-dim);color:var(--foreground)}.navbar-mobile-hamburger:active{background:var(--accent-dim);transform:scale(.9)}@media (max-width:768px){.navbar{padding:.5rem 1rem;padding-bottom:calc(.5rem + var(--safe-bottom,0px));border-bottom:none;border-top:1px solid var(--card-border);background:var(--navbar-bg,var(--card-bg));z-index:400;position:fixed;inset:auto 0 0}[data-keyboard-open] .navbar{display:none!important}.navbar-links.open{border-top:1px solid var(--card-border);bottom:100%;border-bottom:none!important;top:auto!important}.navbar-links .hide-mobile{display:none!important}body:not(.sidebar-expanded):not(.sidebar-collapsed) .toast-container{bottom:calc(68px + var(--safe-bottom,0px))}}.float-logo{z-index:399;justify-content:flex-start;align-items:center;gap:.5rem;padding:.7rem 1rem;transition:opacity .3s;display:flex;position:fixed;top:0;left:52px}.float-logo.hidden{opacity:0;pointer-events:none}.float-logo img{object-fit:contain;width:24px;height:24px}.float-logo span{color:var(--heading);font-size:1rem;font-weight:700}.sidebar-vscode{z-index:301;background:var(--card-bg);border-right:1px solid var(--card-border);box-shadow:2px 0 12px var(--shadow-sm2);flex-direction:column;padding-bottom:0;transition:width .25s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden}.sidebar-vscode.has-pwa-banner{padding-bottom:60px}.sidebar-vscode.collapsed{width:52px}.sidebar-vscode.collapsed .sidebar-vscode-text{opacity:0;pointer-events:none;width:0}.sidebar-vscode.collapsed .sidebar-vscode-username{opacity:0;width:0}.sidebar-vscode.collapsed .sidebar-vscode-logo{opacity:0;pointer-events:none;width:0;overflow:hidden}.sidebar-vscode.collapsed .sidebar-vscode-title{opacity:0;width:0;overflow:hidden}.sidebar-vscode.expanded{width:220px}.sidebar-vscode.expanded .sidebar-vscode-logo{opacity:1;justify-content:flex-start;gap:.4rem;width:auto}.sidebar-vscode.expanded .sidebar-vscode-title{opacity:1;width:auto}.sidebar-vscode-header{border-bottom:1px solid var(--card-border);flex-shrink:0;justify-content:center;align-items:center;gap:.25rem;min-height:48px;padding:.5rem;transition:justify-content .25s cubic-bezier(.16,1,.3,1),padding .25s cubic-bezier(.16,1,.3,1);display:flex}.sidebar-vscode.expanded .sidebar-vscode-header{justify-content:space-between;padding:.5rem .6rem}.sidebar-hamburger{color:var(--text-light);cursor:pointer;background:0 0;border:none;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;transition:background .15s,color .15s,transform .3s;display:flex}.sidebar-hamburger:hover{background:var(--accent-dim);color:var(--foreground)}.sidebar-vscode.expanded .sidebar-hamburger{transform:rotate(90deg)}.sidebar-vscode-logo{cursor:pointer;justify-content:center;align-items:center;gap:0;text-decoration:none;transition:gap .25s cubic-bezier(.16,1,.3,1),justify-content .25s cubic-bezier(.16,1,.3,1);display:flex}.sidebar-vscode-logo:hover{opacity:.85}.sidebar-vscode-logo img{object-fit:contain;flex-shrink:0;width:22px;height:22px}.sidebar-vscode-title{color:var(--heading);white-space:nowrap;letter-spacing:-.02em;opacity:0;width:0;font-size:.95rem;font-weight:700;transition:opacity .25s cubic-bezier(.16,1,.3,1),width .25s cubic-bezier(.16,1,.3,1);overflow:hidden}.sidebar-vscode-nav{flex-direction:column;flex:1;align-items:center;gap:2px;padding:.5rem 0;display:flex;overflow:hidden auto}.sidebar-vscode.expanded .sidebar-vscode-nav{align-items:stretch}.sidebar-vscode-link{width:40px;height:40px;color:var(--text-muted);border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;gap:0;font-size:.82rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex;position:relative}.sidebar-vscode-link:hover{background:var(--accent-dim);color:var(--foreground)}.sidebar-vscode-link.active{color:var(--accent);background:var(--accent-soft-bg)}.sidebar-vscode-link.active:before{content:"";background:var(--accent);border-radius:5px;width:3px;position:absolute;top:8px;bottom:8px;left:0}.sidebar-vscode.expanded .sidebar-vscode-link{border-radius:5px;justify-content:flex-start;gap:.65rem;width:auto;height:auto;margin:0 .35rem;padding:.6rem .75rem}.sidebar-vscode.expanded .sidebar-vscode-link.active:before{top:6px;bottom:6px;left:-.35rem}.sidebar-vscode-icon{opacity:.9;flex-shrink:0;width:20px;height:20px}.sidebar-vscode-text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sidebar-vscode-bottom{border-top:1px solid var(--card-border);flex-direction:column;flex-shrink:0;align-items:center;gap:2px;padding:.35rem 0;display:flex}.sidebar-vscode.expanded .sidebar-vscode-bottom{align-items:stretch}.sidebar-vscode-bottom-btn{width:40px;height:40px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;gap:0;font-family:inherit;font-size:.82rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.sidebar-vscode-bottom-btn:hover{background:var(--accent-dim);color:var(--heading)}.sidebar-vscode-bottom-btn.active{color:var(--accent);background:var(--accent-soft-bg)}.sidebar-vscode-bottom-btn svg{opacity:.85;flex-shrink:0;width:18px;height:18px}.sidebar-vscode-bottom-btn:hover svg{opacity:1}.sidebar-signout:hover{background:var(--error-bg)!important;color:var(--red-strong)!important}.sidebar-signout:hover svg{color:var(--red-strong)!important}.sidebar-pricing-btn,.sidebar-pricing-btn svg{color:#d4a017}.sidebar-pricing-btn:hover{color:gold!important;background:#d4a01726!important}.sidebar-pricing-btn:hover svg{color:gold!important}.sidebar-vscode.expanded .sidebar-vscode-bottom-btn{border-radius:5px;justify-content:flex-start;gap:.65rem;width:auto;height:auto;margin:0 .35rem;padding:.6rem .75rem}.sidebar-vscode-user{border-top:1px solid var(--card-border);justify-content:center;align-items:center;gap:0;width:100%;margin-top:.15rem;padding:.4rem 0;display:flex}.sidebar-vscode.expanded .sidebar-vscode-user{justify-content:flex-start;gap:.6rem;padding:.5rem .75rem}.sidebar-vscode-avatar{background:linear-gradient(135deg, var(--accent), var(--accent-hover));width:28px;height:28px;color:var(--text-on-accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.65rem;font-weight:700;display:flex;overflow:hidden}.sidebar-vscode-avatar img{object-fit:cover;border-radius:50%;width:100%;height:100%}.sidebar-vscode-username{color:var(--heading);white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;font-weight:600;overflow:hidden}body.sidebar-expanded main{margin-left:220px;transition:margin-left .25s cubic-bezier(.16,1,.3,1)}body.sidebar-collapsed main{margin-left:52px;transition:margin-left .25s cubic-bezier(.16,1,.3,1)}.sidebar-mobile-overlay{display:none}@media (max-width:768px){.sidebar-vscode{z-index:402;padding-top:var(--safe-top,0px);position:fixed}.sidebar-vscode.collapsed{border-right:none;width:0;overflow:hidden}body.sidebar-expanded main,body.sidebar-collapsed main{margin-left:0}.float-logo{display:none}.sidebar-mobile-overlay{z-index:401;background:#0006;display:block;position:fixed;inset:0}}[data-native=true]{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}[data-native=true],[data-native=true] body{overscroll-behavior:none}[data-native=true] input,[data-native=true] textarea,[data-native=true] [contenteditable=true]{-webkit-user-select:text;user-select:text}[data-native=true] .pwa-banner,[data-native=true] footer,[data-native=true] .float-logo{display:none}.auth-page{justify-content:center;align-items:center;height:100dvh;padding:2rem 1rem;display:flex;position:relative;overflow:hidden}.auth-page:before{content:"";background:radial-gradient(circle, var(--accent-soft-bg) 0%, transparent 70%);pointer-events:none;border-radius:50%;width:400px;height:400px;animation:8s ease-in-out infinite authFloat;position:absolute;top:-100px;right:-100px}.auth-page:after{content:"";background:radial-gradient(circle, var(--accent-soft-bg-dim) 0%, transparent 70%);pointer-events:none;border-radius:50%;width:300px;height:300px;animation:10s ease-in-out infinite reverse authFloat;position:absolute;bottom:-80px;left:-80px}@keyframes authFloat{0%,to{transform:translate(0)scale(1)}33%{transform:translate(30px,-20px)scale(1.05)}66%{transform:translate(-20px,15px)scale(.95)}}.auth-card{background:var(--card-bg);border:1px solid var(--card-border);width:100%;max-width:680px;max-height:calc(100dvh - 2rem);box-shadow:0 8px 40px var(--shadow-subtle), 0 1px 3px var(--shadow-faint);z-index:1;border-radius:5px;flex-direction:column;padding:2.75rem 2.25rem;animation:.5s cubic-bezier(.16,1,.3,1) authCardIn;display:flex;position:relative;overflow:hidden}@keyframes authCardIn{0%{opacity:0;transform:translateY(20px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.auth-card:before{content:"";background:linear-gradient(90deg, var(--accent), var(--accent-hover), var(--green-bright));border-radius:5px;height:4px;position:absolute;top:0;left:0;right:0}.auth-header{text-align:center;flex-direction:column;flex-shrink:0;align-items:center;margin-bottom:2rem;display:flex;position:relative}.auth-header-icon{background:linear-gradient(135deg, var(--accent), var(--accent-hover));width:56px;height:56px;color:var(--text-on-accent);box-shadow:0 4px 16px var(--accent-btn-shadow-subtle);border-radius:5px;justify-content:center;align-items:center;margin-bottom:1rem;font-size:1.5rem;display:inline-flex}.auth-title{color:var(--heading);letter-spacing:-.02em;margin:0 0 .35rem;font-size:1.65rem;font-weight:800;line-height:1.25}.auth-subtitle{color:var(--text-light);margin:0;font-size:.92rem;line-height:1.5}.auth-form{flex-direction:column;gap:1.15rem;display:flex}.form-group{flex-direction:column;gap:.35rem;display:flex}.form-group label{color:var(--heading);letter-spacing:-.01em;font-size:.82rem;font-weight:600}.input-wrapper{align-items:center;display:flex;position:relative}.input-icon{color:var(--text-light);pointer-events:none;opacity:.6;align-items:center;transition:opacity .2s,color .2s;display:flex;position:absolute;left:.85rem}.form-group input:focus~.input-icon,.form-group input.filled~.input-icon,.form-group textarea:focus~.input-icon{opacity:.9;color:var(--accent)}.form-group input,.form-group select{border:1.5px solid var(--card-border);background:var(--input-bg);width:100%;color:var(--text-main);border-radius:5px;padding:.75rem .9rem;font-family:DM Sans,sans-serif;font-size:.92rem;transition:border-color .2s,box-shadow .2s,background .2s}.form-group input.has-icon{padding-left:2.5rem}.form-group input.has-toggle{padding-right:2.5rem}.input-toggle{color:var(--text-light);cursor:pointer;opacity:.6;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;line-height:0;transition:color .2s,opacity .2s;display:flex;position:absolute;right:.75rem}.input-toggle:hover{opacity:1;color:var(--accent)}.form-group input:hover{border-color:var(--text-muted)}.form-group input:focus,.form-group select:focus{border-color:var(--accent);background:var(--card-bg);box-shadow:0 0 0 4px var(--accent-focus-shadow);outline:none}.form-group input::placeholder{color:var(--text-light);opacity:.7;font-weight:400}.form-group input:-webkit-autofill{-webkit-text-fill-color:var(--text-main);caret-color:var(--text-main);-webkit-box-shadow:0 0 0 1000px var(--input-bg) inset;box-shadow:0 0 0 1000px var(--input-bg) inset;transition:background-color 9999s ease-in-out}.form-group input:-webkit-autofill:hover{-webkit-text-fill-color:var(--text-main);caret-color:var(--text-main);-webkit-box-shadow:0 0 0 1000px var(--input-bg) inset;box-shadow:0 0 0 1000px var(--input-bg) inset;transition:background-color 9999s ease-in-out}.form-group input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text-main);caret-color:var(--text-main);-webkit-box-shadow:0 0 0 1000px var(--input-bg) inset;box-shadow:0 0 0 1000px var(--input-bg) inset;transition:background-color 9999s ease-in-out}.email-check-status{margin-top:4px;font-size:.75rem;font-weight:500;display:block}.email-check-status.checking{color:var(--text-muted)}.email-check-status.available{color:#16a34a}.email-check-status.taken{color:#dc2626}.email-login-link{color:inherit;font-weight:600;text-decoration:underline}.email-login-link:hover{opacity:.8}.wizard-btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.register-wizard{flex-direction:column;flex:1;min-height:0;display:flex}.wizard-scroll{flex:1;min-height:0;overflow-y:auto}.wizard-scroll .country-dropdown{margin-top:0;margin-bottom:4px;top:auto;bottom:100%}.wizard-actions{flex-shrink:0}.wizard-actions-split{align-items:center}.wizard-actions-split .wizard-btn-next{margin-left:auto}html.keyboard-open .auth-header,html.keyboard-open .form-footer{display:none}.form-footer{flex-shrink:0;margin:0}.form-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.form-input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.form-input[type=number]{-moz-appearance:textfield;text-align:left}.recalc-icon{color:var(--accent);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.recalc-icon:hover{background:var(--accent-soft-bg);color:var(--accent-hover)}.recalc-icon.disabled{opacity:.3;cursor:not-allowed;pointer-events:none}.recalc-icon svg{animation:2s linear infinite paused recalc-spin}.recalc-icon:not(.disabled):hover svg{animation-play-state:running}@keyframes recalc-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.form-group textarea{border:1.5px solid var(--card-border);background:var(--input-bg);width:100%;color:var(--text-main);resize:vertical;border-radius:5px;min-height:80px;padding:.75rem .9rem;font-family:DM Sans,sans-serif;font-size:.92rem;transition:border-color .2s,box-shadow .2s,background .2s}.form-group textarea:focus{border-color:var(--accent);background:var(--card-bg);box-shadow:0 0 0 4px var(--accent-focus-shadow);outline:none}.form-hint{color:var(--text-light);margin-top:.15rem;font-size:.73rem;line-height:1.4}.form-row{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.form-row-age-gender{grid-template-columns:120px 1fr}.form-row-weight-height{grid-template-columns:1fr 1fr}.form-row-3{grid-template-columns:1fr 1fr 1fr}.form-row-4{grid-template-columns:1fr 1fr 1fr 1fr}.form-group-age{min-width:0}.form-group.checkbox{flex-direction:row;align-items:center;gap:.6rem}.form-group.checkbox input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}.form-group .required:after{content:" *";color:var(--red-dark)}.btn-auth{background:linear-gradient(135deg, var(--accent), var(--accent-hover));color:var(--text-on-accent);cursor:pointer;letter-spacing:-.01em;border:none;border-radius:5px;margin-top:.5rem;padding:.85rem;font-family:DM Sans,sans-serif;font-size:.95rem;font-weight:700;transition:all .25s;position:relative;overflow:hidden}.btn-auth:before{content:"";background:linear-gradient(135deg, var(--accent-hover), var(--green-bright));opacity:0;border-radius:5px;transition:opacity .3s;position:absolute;inset:0}.btn-auth:hover{box-shadow:0 8px 25px var(--accent-btn-shadow);transform:translateY(-2px)}.btn-auth:hover:before{opacity:1}.btn-auth:active{box-shadow:0 4px 12px var(--accent-btn-shadow-subtle);transform:translateY(0)}.btn-auth:disabled{opacity:.55;cursor:not-allowed;box-shadow:none!important;transform:none!important}.btn-auth>span{z-index:1;justify-content:center;align-items:center;gap:8px;display:inline-flex;position:relative}.btn-auth-spinner{border:2.5px solid var(--white-trans-30);border-top-color:var(--text-on-accent);border-radius:50%;width:18px;height:18px;animation:.6s linear infinite authSpin;display:inline-block}@keyframes authSpin{to{transform:rotate(360deg)}}.auth-error{background:var(--error-bg);border:1px solid var(--danger-soft-border);color:var(--red-dark);border-radius:5px;align-items:center;gap:8px;padding:.7rem 1rem;font-size:.85rem;font-weight:500;line-height:1.5;animation:.35s authShake;display:flex}.auth-error svg{flex-shrink:0;width:18px;height:18px}@keyframes authShake{0%,to{transform:translate(0)}20%{transform:translate(-5px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}.auth-success{background:var(--accent-soft-bg);border:1px solid var(--accent-soft-border);color:var(--accent);border-radius:5px;align-items:center;gap:8px;padding:.7rem 1rem;font-size:.85rem;font-weight:500;line-height:1.5;display:flex}.auth-success svg{flex-shrink:0;width:18px;height:18px}.form-footer{text-align:center;color:var(--text-light);margin-top:1.25rem;font-size:.88rem;line-height:1.6}.form-link{color:var(--accent);font-weight:600;text-decoration:none;transition:color .15s}.form-link:hover{color:var(--accent-hover);text-decoration:underline}.auth-back-button{background:var(--card);width:40px;height:40px;color:var(--foreground);border:1px solid var(--border);cursor:pointer;z-index:10;border-radius:50%;justify-content:center;align-items:center;text-decoration:none;transition:all .2s;display:flex;position:absolute;top:0;left:0}.auth-back-button:hover{background:var(--accent-soft-bg);border-color:var(--accent);color:var(--accent);transform:scale(1.08)}.auth-back-button:active{transform:scale(.95)}.section-label{text-transform:uppercase;letter-spacing:2px;color:var(--hp-accent);justify-content:center;align-items:center;gap:12px;margin-bottom:12px;font-size:.8rem;font-weight:600;display:flex}.section-label.light{color:var(--hp-accent-2)}.section-label.left{justify-content:flex-start}.section-label-line{background:var(--hp-accent);opacity:.5;border-radius:5px;width:32px;height:1.5px;display:inline-block}.section-label.light .section-label-line{background:var(--hp-accent-2)}.section-title-center{text-align:center;color:var(--hp-text);margin-bottom:12px;font-size:clamp(1.6rem,4vw,2.4rem);font-weight:700;line-height:1.3}.section-title-center.light{color:var(--text-on-accent)}.section-desc-center{text-align:center;color:var(--hp-text-muted);max-width:600px;margin:0 auto 48px;font-size:1rem;line-height:1.6}.hero-modern{background:var(--hp-bg);justify-content:center;align-items:center;min-height:85vh;padding:120px 24px 80px;display:flex;position:relative;overflow:hidden}.hero-grid-bg{background-image:linear-gradient(var(--white-trans-02) 1px, transparent 1px), linear-gradient(90deg, var(--white-trans-02) 1px, transparent 1px);pointer-events:none;background-size:60px 60px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(at 50% 40%,#000 30%,#0000 70%);mask-image:radial-gradient(at 50% 40%,#000 30%,#0000 70%)}.hero-glow-1{background:radial-gradient(circle, var(--hp-glow-1) 0%, transparent 70%);pointer-events:none;width:500px;height:500px;position:absolute;top:10%;left:5%}.hero-glow-2{background:radial-gradient(circle, var(--hp-glow-2) 0%, transparent 70%);pointer-events:none;width:400px;height:400px;position:absolute;bottom:10%;right:5%}.hero-layout{z-index:2;justify-content:center;align-items:center;gap:60px;width:100%;max-width:1200px;margin:0 auto;display:flex;position:relative}.hero-content{z-index:2;text-align:center;flex-direction:column;flex:1;align-items:center;max-width:720px;display:flex;position:relative}.hero-banner-wrap{width:400px;height:500px;box-shadow:0 20px 60px var(--hp-accent-ovl-15), 0 0 0 1px var(--hp-accent-ovl-08);border-radius:5px;flex-shrink:0;position:relative;overflow:hidden}.hero-banner-img{object-fit:cover;width:100%;height:100%;display:block}.hero-badge-modern{border:1px solid var(--hp-accent-ovl-25);background:var(--hp-accent-ovl-08);color:var(--hp-accent);letter-spacing:.5px;border-radius:5px;align-items:center;gap:8px;margin-bottom:28px;padding:8px 18px;font-size:.8rem;font-weight:600;display:inline-flex}.hero-badge-dot{background:var(--hp-accent);border-radius:50%;width:8px;height:8px;animation:2s infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.hero-title{color:var(--hp-text);letter-spacing:-.5px;margin-bottom:20px;font-size:clamp(2.2rem,6vw,3.6rem);font-weight:800;line-height:1.15}.hero-title-accent{background:linear-gradient(135deg, var(--hp-accent), var(--hp-accent-2));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero-title-gradient{background:linear-gradient(135deg, var(--hp-accent-3), var(--hp-accent), var(--hp-accent-2));-webkit-text-fill-color:transparent;background-size:200% 200%;-webkit-background-clip:text;background-clip:text;animation:4s infinite gradient-shift}@keyframes gradient-shift{0%,to{background-position:0%}50%{background-position:100%}}.hero-subtitle{color:var(--hp-text-muted);max-width:560px;margin-bottom:36px;font-size:1.05rem;line-height:1.65}.hero-subtitle strong{color:var(--hp-text)}.hero-actions{flex-wrap:wrap;justify-content:center;gap:14px;margin-bottom:56px;display:flex}.hero-btn-glow{background:linear-gradient(135deg, var(--hp-accent), var(--hp-accent-deep));color:var(--text-on-accent);box-shadow:0 0 30px var(--hp-accent-ovl-25);border:none;border-radius:5px;align-items:center;gap:8px;padding:14px 30px;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .25s;display:inline-flex}.hero-btn-glow:hover{box-shadow:0 0 45px var(--hp-accent-ovl-40);transform:translateY(-2px)}.hero-btn-ghost{background:var(--hp-overlay-subtle);color:var(--hp-text);border:1px solid var(--hp-border);border-radius:5px;align-items:center;gap:8px;padding:14px 30px;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .25s;display:inline-flex}.hero-btn-ghost:hover{border-color:var(--hp-accent);background:var(--hp-accent-ovl-08)}.hero-btn-ghost.light{border-color:var(--white-trans-15);color:var(--text-on-accent)}.hero-btn-ghost.light:hover{border-color:var(--hp-accent-2);background:var(--hp-accent2-ovl-10)}.hero-secondary-links{justify-content:center;gap:14px;margin-bottom:40px;display:flex}.hero-link-secondary{background:var(--hp-overlay-subtle);color:var(--hp-text-muted);border:1px solid var(--hp-border);border-radius:5px;align-items:center;gap:6px;padding:8px 18px;font-size:.85rem;font-weight:500;text-decoration:none;transition:all .25s;display:inline-flex}.hero-link-secondary:hover{border-color:var(--hp-accent);color:var(--hp-accent);background:var(--hp-accent-ovl-08)}.hero-stats-row{align-items:center;gap:28px;display:flex}.hero-stat-item{flex-direction:column;align-items:center;gap:2px;display:flex}.hero-stat-num{color:var(--hp-text);letter-spacing:-.5px;font-size:1.6rem;font-weight:800}.hero-stat-label{color:var(--hp-text-muted);text-transform:uppercase;letter-spacing:1px;font-size:.78rem}.hero-stat-divider{background:var(--hp-border);width:1px;height:32px}.features-section{background:var(--hp-surface);padding:100px 24px;position:relative;overflow:hidden}.features-bg-shape{background:radial-gradient(circle, var(--hp-accent-ovl-06) 0%, transparent 70%);pointer-events:none;width:600px;height:600px;position:absolute;top:-200px;right:-200px}.features-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;max-width:1200px;margin:0 auto;display:grid}.feature-card{background:var(--hp-card);border:1px solid var(--hp-border);border-radius:5px;padding:36px 28px;transition:all .3s;position:relative;overflow:hidden}.feature-card:hover{border-color:var(--hp-accent-ovl-20);transform:translateY(-4px)}.feature-card-glow{background:linear-gradient(90deg, transparent, var(--hp-accent), transparent);opacity:0;height:1px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.feature-card:hover .feature-card-glow{opacity:1}.feature-icon-wrap{border-radius:5px;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:20px;display:inline-flex}.ai-icon{color:var(--hp-accent);background:#6c5ce71f}.import-icon{color:var(--hp-accent-2);background:#00cec91f}.plan-icon{color:var(--hp-accent-3);background:#fd79a81f}.community-icon{background:var(--hp-accent3-ovl-12);color:var(--hp-accent-4)}.feature-card-title{color:var(--hp-text);margin-bottom:10px;font-size:1.15rem;font-weight:700}.feature-card-desc{color:var(--hp-text-muted);margin-bottom:18px;font-size:.9rem;line-height:1.6}.feature-card-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.feature-card-list li{color:var(--hp-text-muted);align-items:center;gap:10px;font-size:.85rem;display:flex}.feature-card-list li svg{color:var(--hp-accent-2);flex-shrink:0}.how-section{background:var(--hp-bg);padding:100px 24px}.how-grid{flex-direction:column;align-items:center;gap:0;max-width:700px;margin:48px auto 0;display:flex}.how-step{border-radius:5px;align-items:flex-start;gap:20px;width:100%;padding:28px;transition:all .3s;display:flex}.how-step:hover{background:var(--white-trans-02)}.how-step-number{width:48px;height:48px;color:var(--text-on-accent);background:linear-gradient(135deg, var(--hp-accent), var(--hp-accent-deep));border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;font-weight:800;display:flex}.how-step-content{flex:1}.how-step-icon-wrap{background:var(--hp-accent-ovl-10);width:40px;height:40px;color:var(--hp-accent);border-radius:5px;justify-content:center;align-items:center;margin-bottom:12px;display:inline-flex}.how-step-title{color:var(--hp-text);margin-bottom:6px;font-size:1.15rem;font-weight:700}.how-step-desc{color:var(--hp-text-muted);font-size:.9rem;line-height:1.6}.how-step-connector{color:var(--hp-border);justify-content:center;align-items:center;padding:4px 0;display:flex;transform:rotate(90deg)}.stats-showcase-section{background:var(--hp-surface);padding:100px 24px;position:relative;overflow:hidden}.stats-showcase-bg{background:radial-gradient(ellipse at center, var(--hp-accent-ovl-04) 0%, transparent 60%);pointer-events:none;position:absolute;inset:0}.stats-showcase-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;max-width:900px;margin:0 auto;display:grid}.stats-showcase-card{text-align:center;background:var(--hp-card);border:1px solid var(--hp-border);border-radius:5px;padding:40px 24px;transition:all .3s}.stats-showcase-card:hover{border-color:var(--hp-accent-ovl-20);transform:translateY(-3px)}.stats-showcase-icon{color:var(--hp-accent);margin-bottom:16px;display:inline-flex}.stats-showcase-number{color:var(--hp-text);letter-spacing:-.5px;margin-bottom:4px;font-size:2.2rem;font-weight:800}.stats-showcase-label{color:var(--hp-text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.85rem}.ai-spotlight-section{background:var(--hp-bg);padding:100px 24px}.ai-spotlight-inner{flex-wrap:wrap;align-items:center;gap:60px;max-width:1100px;margin:0 auto;display:flex}.ai-spotlight-visual{flex:0 0 280px;justify-content:center;align-items:center;display:flex}.ai-spotlight-ring{border:1px solid var(--hp-accent-ovl-15);border-radius:50%;justify-content:center;align-items:center;width:240px;height:240px;animation:20s linear infinite spin-slow;display:flex;position:relative}.ai-spotlight-ring-inner{border:1px solid var(--hp-accent2-ovl-12);border-radius:50%;justify-content:center;align-items:center;width:180px;height:180px;display:flex}@keyframes spin-slow{to{transform:rotate(360deg)}}.ai-spotlight-icon{color:var(--hp-accent);position:absolute}.ai-spotlight-content{flex:1;min-width:300px}.ai-spotlight-title{color:var(--hp-text);margin-bottom:16px;font-size:clamp(1.5rem,3.5vw,2.2rem);font-weight:800;line-height:1.3}.ai-spotlight-desc{color:var(--hp-text-muted);margin-bottom:24px;font-size:.95rem;line-height:1.65}.ai-spotlight-features{flex-direction:column;gap:12px;display:flex}.ai-spotlight-feature{color:var(--hp-text);align-items:center;gap:12px;font-size:.9rem;display:flex}.ai-spotlight-feature svg{color:var(--hp-accent-2);flex-shrink:0}.community-modern-section{background:var(--hp-bg);padding:100px 24px}.community-modern-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;max-width:1100px;margin:0 auto;display:grid}.community-modern-card{border:1px solid var(--hp-border);background:var(--hp-card);border-radius:5px;padding:20px 24px;text-decoration:none;transition:all .3s;display:block}.community-modern-card:hover{border-color:var(--hp-accent-ovl-20);transform:translateY(-2px)}.community-card-top{align-items:center;gap:14px;margin-bottom:12px;display:flex}.community-avatar{background:linear-gradient(135deg, var(--hp-accent), var(--hp-accent-deep));width:44px;height:44px;color:var(--text-on-accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;font-weight:700;display:flex;overflow:hidden}.community-avatar-img{object-fit:cover;width:100%;height:100%}.community-card-info{flex:1;min-width:0}.community-card-name{color:var(--hp-text);white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:700;overflow:hidden}.community-card-goal{color:var(--hp-text-muted);font-size:.8rem}.community-card-arrow{color:var(--hp-text-muted);opacity:0;flex-shrink:0;transition:opacity .25s}.community-modern-card:hover .community-card-arrow{opacity:1}.community-card-details{color:var(--hp-text-muted);flex-wrap:wrap;gap:10px 16px;font-size:.82rem;display:flex}.community-empty{text-align:center;max-width:400px;margin:0 auto;padding:60px 24px}.community-empty-icon{color:var(--hp-text-muted);opacity:.4;margin-bottom:16px}.community-empty h3{color:var(--hp-text);margin-bottom:8px;font-size:1.15rem}.community-empty p{color:var(--hp-text-muted);font-size:.9rem;line-height:1.6}.inline-link{color:var(--hp-accent);text-underline-offset:3px;text-decoration:underline}.cta-modern-section{background:var(--hp-surface);padding:80px 24px 100px}.cta-modern-card{background:var(--hp-card);border:1px solid var(--hp-border);text-align:center;border-radius:5px;max-width:700px;margin:0 auto;padding:60px 48px;position:relative;overflow:hidden}.cta-glow-1{background:radial-gradient(circle, var(--hp-accent-ovl-08) 0%, transparent 70%);pointer-events:none;width:300px;height:300px;position:absolute;top:-80px;left:-80px}.cta-glow-2{background:radial-gradient(circle, var(--hp-accent2-ovl-06) 0%, transparent 70%);pointer-events:none;width:300px;height:300px;position:absolute;bottom:-80px;right:-80px}.cta-content{z-index:2;position:relative}.cta-title{color:var(--hp-text);margin-bottom:14px;font-size:clamp(1.4rem,3.5vw,2rem);font-weight:800}.cta-desc{color:var(--hp-text-muted);max-width:500px;margin:0 auto 32px;font-size:.95rem;line-height:1.6}.cta-actions{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.footer-modern{background:var(--footer-bg);border-top:1px solid var(--border-soft-2);padding:60px 24px 32px}.footer-modern-content{flex-wrap:wrap;justify-content:space-between;gap:48px;max-width:1100px;margin:0 auto;display:flex}.footer-modern-brand{flex:1;min-width:200px}.footer-modern-logo{color:var(--hp-text);align-items:center;gap:8px;margin-bottom:10px;font-size:1.15rem;font-weight:700;display:flex}.footer-modern-logo svg{color:var(--hp-accent)}.footer-modern-desc{color:var(--hp-text-muted);max-width:280px;font-size:.85rem;line-height:1.6}.footer-modern-links{flex-direction:column;gap:10px;min-width:120px;display:flex}.footer-modern-link-label{text-transform:uppercase;letter-spacing:1.5px;color:var(--hp-text-muted);margin-bottom:4px;font-size:.78rem;font-weight:600}.footer-modern-links a{color:var(--hp-text);font-size:.9rem;text-decoration:none;transition:color .2s}.footer-modern-links a:hover{color:var(--hp-accent)}.footer-modern-bottom{border-top:1px solid var(--border-soft-2);max-width:1100px;color:var(--hp-text-muted);flex-flow:column wrap;gap:12px;margin:40px auto 0;padding-top:24px;font-size:.78rem;display:flex}.footer-modern-legal-links{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.footer-modern-legal-links a{color:var(--hp-accent);font-size:.82rem;font-weight:500;text-decoration:none;transition:opacity .15s}.footer-modern-legal-links a:hover{opacity:.75}.footer-modern-legal-sep{color:var(--hp-text-muted);opacity:.5}.footer-disclaimer{max-width:700px;color:var(--hp-text-muted);opacity:.85;font-size:.76rem;line-height:1.6}.footer-disclaimer strong{font-weight:600}.library-modern-section{background:var(--card-bg);padding:100px 24px}.library-modern-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;max-width:800px;margin:0 auto;display:grid}.library-modern-card{border:1px solid var(--border);border-radius:5px;flex-direction:column;align-items:flex-start;padding:36px 28px;text-decoration:none;transition:all .3s;display:flex;position:relative;overflow:hidden}.library-modern-card:hover{transform:translateY(-4px)}.meals-card-modern{background:linear-gradient(135deg, var(--accent), var(--accent))}@supports (color:color-mix(in lab, red, red)){.meals-card-modern{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 6%, transparent), color-mix(in srgb, var(--accent) 2%, transparent))}}.meals-card-modern:hover{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.meals-card-modern:hover{border-color:color-mix(in srgb, var(--accent) 30%, transparent)}}.drinks-card-modern{background:linear-gradient(135deg, var(--accent-western), var(--accent-western))}@supports (color:color-mix(in lab, red, red)){.drinks-card-modern{background:linear-gradient(135deg, color-mix(in srgb, var(--accent-western) 6%, transparent), color-mix(in srgb, var(--accent-western) 2%, transparent))}}.drinks-card-modern:hover{border-color:var(--accent-western)}@supports (color:color-mix(in lab, red, red)){.drinks-card-modern:hover{border-color:color-mix(in srgb, var(--accent-western) 30%, transparent)}}.library-modern-icon{margin-bottom:16px}.meals-card-modern .library-modern-icon{color:var(--accent)}.drinks-card-modern .library-modern-icon{color:var(--accent-western)}.library-modern-title{color:var(--foreground);margin-bottom:4px;font-size:1.3rem;font-weight:700}.library-modern-count{color:var(--foreground);letter-spacing:-.5px;margin-bottom:4px;font-size:2rem;font-weight:800}.library-modern-desc{color:var(--text-muted);margin-bottom:16px;font-size:.88rem}.library-modern-tags{flex-wrap:wrap;gap:8px;display:flex}.library-modern-tags span{background:var(--hover-bg);color:var(--text-muted);border:1px solid var(--border);border-radius:5px;padding:4px 12px;font-size:.75rem;font-weight:500}.lb-container{max-width:1200px;margin:0 auto;padding:0 1rem 3rem}.lb-hero{text-align:center;padding:2.5rem 1rem 1.5rem;position:relative}.lb-hero:after{content:"";background:linear-gradient(90deg, var(--accent), var(--orange));border-radius:5px;width:60px;height:3px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.lb-hero-title{font-family:var(--font-display);color:var(--foreground);margin:0 0 .4rem;font-size:clamp(1.8rem,4vw,2.6rem);font-weight:900;line-height:1.2}.lb-hero-subtitle{color:var(--text-muted);margin:0;font-size:.95rem}.lb-tabs{background:var(--card);border:1px solid var(--border);border-radius:5px;gap:.5rem;margin:1rem 0 1.25rem;padding:.5rem;display:flex}.lb-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:5px;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.7rem 1rem;font-size:.9rem;font-weight:600;transition:all .25s;display:flex}.lb-tab:hover{background:var(--hover-bg);color:var(--foreground)}.lb-tab.active{background:var(--accent);color:#fff;box-shadow:0 4px 14px #e6510040}.lb-tab-count{background:#fff3;border-radius:5px;padding:.1rem .55rem;font-size:.7rem;font-weight:700}.lb-search-bar{align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.lb-search-input-wrap{flex:1;align-items:center;display:flex;position:relative}.lb-search-icon{color:var(--text-muted);pointer-events:none;position:absolute;left:12px}.lb-search-input{border:1px solid var(--border);background:var(--card);width:100%;color:var(--foreground);font-size:.9rem;font-family:var(--font-sans);border-radius:5px;outline:none;padding:.7rem 2.5rem .7rem 2.2rem;transition:border-color .2s,box-shadow .2s}.lb-search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #e651001f}.lb-search-input::placeholder{color:var(--text-muted);opacity:.7}.lb-search-clear{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:5px;align-items:center;padding:4px;transition:color .2s;display:flex;position:absolute;right:8px}.lb-search-clear:hover{color:var(--foreground)}.lb-filter-actions{gap:.4rem;display:flex}.lb-filter-toggle{border:1px solid var(--border);background:var(--card);color:var(--text-muted);cursor:pointer;white-space:nowrap;border-radius:5px;align-items:center;gap:.35rem;padding:.7rem 1rem;font-size:.85rem;font-weight:600;transition:all .2s;display:flex}.lb-filter-toggle:hover,.lb-filter-toggle.active{border-color:var(--accent);color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.lb-filter-toggle:hover,.lb-filter-toggle.active{background:color-mix(in srgb, var(--accent) 8%, var(--card))}}.lb-filter-dot{background:var(--accent);border-radius:50%;width:6px;height:6px;display:inline-block}.lb-filter-panel{background:var(--card);border:1px solid var(--border);border-radius:5px;flex-direction:column;gap:1rem;margin-bottom:1rem;padding:1rem 1.25rem;animation:.25s lbSlideDown;display:flex}@keyframes lbSlideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.lb-filter-group{flex-direction:column;gap:.5rem;display:flex}.lb-filter-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.78rem;font-weight:700}.lb-filter-chips{flex-wrap:wrap;gap:.4rem;display:flex}.lb-chip{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:5px;align-items:center;gap:.3rem;padding:.4rem .75rem;font-size:.8rem;font-weight:500;transition:all .2s;display:flex}.lb-chip:hover{border-color:var(--accent);color:var(--foreground)}.lb-chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.lb-results{min-height:200px}.lb-loading{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:3rem 1rem;display:flex}.lb-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;animation:.65s linear infinite lbSpin}@keyframes lbSpin{to{transform:rotate(360deg)}}.lb-empty{text-align:center;padding:3rem 1.5rem}.lb-empty-icon{opacity:.6;margin-bottom:1rem;font-size:3rem}.lb-empty-title{font-family:var(--font-display);color:var(--foreground);margin:0 0 .5rem;font-size:1.3rem;font-weight:700}.lb-empty-text{color:var(--text-muted);max-width:300px;margin:0 auto;font-size:.9rem}.lb-grid{grid-template-columns:repeat(3,1fr);gap:1.25rem;display:grid}.lb-card{background:var(--card);border:1px solid var(--border);cursor:pointer;border-radius:5px;flex-direction:column;transition:transform .25s,box-shadow .3s;display:flex;overflow:hidden}.lb-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px #0000001a}@media (prefers-color-scheme:dark){.lb-card:hover{box-shadow:0 12px 30px #00000059}}.lb-card-image-wrap{aspect-ratio:16/9;background:var(--hover-bg);width:100%;position:relative;overflow:hidden}.lb-card-image{object-fit:cover;width:100%;height:100%;transition:transform .4s}.lb-card:hover .lb-card-image{transform:scale(1.05)}.lb-card-image-overlay{background:linear-gradient(#0000,#0000008c);justify-content:flex-start;padding:.75rem;display:flex;position:absolute;bottom:0;left:0;right:0}.lb-card-kcal-badge{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;background:#000000a6;border-radius:5px;align-items:center;gap:.25rem;padding:.25rem .6rem;font-size:.78rem;font-weight:700;display:inline-flex}.lb-card-action-btns{z-index:2;gap:6px;display:flex;position:absolute;top:8px;right:8px}.lb-card-action-btns .lb-quick-add-btn{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;cursor:pointer;background:#00000073;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:all .25s;display:flex}.lb-card-action-btns .lb-quick-add-btn:hover{background:var(--accent);transform:scale(1.1)}.lb-fav-btn{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;cursor:pointer;background:#00000073;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:all .25s;display:flex}.lb-fav-btn:hover{background:#e6510099;transform:scale(1.1)}.lb-fav-btn.active{background:var(--accent);color:#fff}.lb-card-content{flex-direction:column;flex:1;gap:.6rem;padding:.9rem 1rem 1rem;display:flex}.lb-card-header{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.lb-card-title{font-family:var(--font-display);color:var(--foreground);-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;margin:0;font-size:1.05rem;font-weight:700;line-height:1.3;display:-webkit-box;overflow:hidden}.lb-label-tag{white-space:nowrap;border-radius:5px;flex-shrink:0;padding:.2rem .5rem;font-size:.65rem;font-weight:700}.lb-label-desi,.lb-label-mix{background:var(--orange)}@supports (color:color-mix(in lab, red, red)){.lb-label-desi,.lb-label-mix{background:color-mix(in srgb, var(--orange) 20%, transparent)}}.lb-label-desi,.lb-label-mix{color:var(--orange)}.lb-label-western,.lb-label-strength{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.lb-label-western,.lb-label-strength{background:color-mix(in srgb, var(--accent) 18%, transparent)}}.lb-label-western,.lb-label-strength{color:var(--accent)}.lb-label-cardio{color:#06b6d4;background:#06b6d42e}.lb-label-flexibility{color:#8b5cf6;background:#8b5cf62e}.lb-card-ingredients{flex-wrap:wrap;gap:.3rem;display:flex}.lb-ingredient-chip{background:var(--hover-bg);color:var(--text-muted);border-radius:5px;padding:.2rem .55rem;font-size:.7rem}.lb-more-chip{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.lb-more-chip{background:color-mix(in srgb, var(--accent) 12%, transparent)}}.lb-more-chip{color:var(--accent);font-weight:600}.lb-card-macros{flex-direction:column;gap:.35rem;display:flex}.lb-macro-bar-wrap{flex-direction:column;gap:.15rem;display:flex}.lb-macro-bar-label{color:var(--text-muted);justify-content:space-between;font-size:.7rem;display:flex}.lb-macro-bar-track{background:var(--hover-bg);border-radius:5px;height:4px;overflow:hidden}.lb-macro-bar-fill{border-radius:5px;height:100%;transition:width .5s}.lb-card-recipe-preview{color:var(--text-muted);margin:0;font-size:.78rem;line-height:1.4}.lb-card-footer{border-top:1px solid var(--border);margin-top:auto;padding-top:.4rem}.lb-card-type{color:var(--text-muted);font-size:.72rem;font-weight:600}.lb-sentinel{grid-column:1/-1;justify-content:center;min-height:80px;padding:2rem 1rem;display:flex}.lb-loading-more{color:var(--text-muted);align-items:center;gap:.6rem;font-size:.85rem;display:flex}.lb-spinner-sm{border-width:2px;width:20px;height:20px}.lb-end-message{text-align:center;color:var(--text-muted);opacity:.7;grid-column:1/-1;padding:2rem 1rem;font-size:.85rem}@media (max-width:768px){.lb-container{padding:0 .6rem 2rem}.lb-hero{padding:1.25rem .5rem 1rem}.lb-hero-title{font-size:clamp(1.3rem,5vw,1.8rem)}.lb-hero-subtitle{font-size:.82rem}.lb-tabs{-webkit-overflow-scrolling:touch;gap:.3rem;margin:.75rem 0;padding:.4rem;overflow-x:auto}.lb-tab{flex-shrink:0;gap:.3rem;padding:.5rem .65rem;font-size:.78rem}.lb-tab-count{padding:.05rem .4rem;font-size:.6rem}.lb-search-bar{flex-wrap:wrap;gap:.4rem}.lb-search-input-wrap{flex:100%;order:1}.lb-search-input{padding:.6rem 2.2rem .6rem 2rem;font-size:.85rem}.lb-filter-actions{-webkit-overflow-scrolling:touch;order:2;width:100%;padding-bottom:2px;overflow-x:auto}.lb-filter-toggle{white-space:nowrap;flex-shrink:0;padding:.5rem .75rem;font-size:.78rem}.lb-filter-dot{width:5px;height:5px}.lb-filter-panel{gap:.75rem;margin-bottom:.75rem;padding:.75rem .9rem}.lb-filter-chips{gap:.3rem}.lb-chip{padding:.3rem .6rem;font-size:.72rem}.lb-grid{grid-template-columns:repeat(2,1fr);gap:.65rem}.lb-card{border-radius:5px}.lb-card-content{gap:.3rem;padding:.5rem .55rem .6rem}.lb-card-title{-webkit-line-clamp:1;line-clamp:1;font-size:.85rem}.lb-card-image-wrap{aspect-ratio:4/3}.lb-card-kcal-badge{padding:.18rem .45rem;font-size:.65rem}.lb-card-action-btns{gap:5px;top:5px;right:5px}.lb-card-action-btns .lb-quick-add-btn,.lb-fav-btn{width:26px;height:26px}.lb-card-ingredients,.lb-card-macros,.lb-card-recipe-preview,.lb-card-footer{display:none}.lb-modal-backdrop{align-items:flex-end;padding:.5rem}.lb-modal{border-radius:5px;max-width:100%;max-height:85vh}.lb-modal-title{font-size:1.2rem}.lb-modal-body{gap:1rem;padding:1rem}.lb-modal-stats{gap:.5rem}.lb-modal-stat{min-width:60px;padding:.5rem}.lb-modal-stat-value{font-size:.95rem}.lb-modal-stat-label{font-size:.58rem}.lb-modal-section-title{font-size:.8rem}.lb-modal-ingredient{padding:.3rem .55rem;font-size:.75rem}.lb-modal-recipe-step{font-size:.8rem}}@media (max-width:480px){.lb-container{padding:0 .4rem 1.5rem}.lb-hero-title{font-size:clamp(1.1rem,6vw,1.4rem)}.lb-hero-subtitle{font-size:.78rem}.lb-tab{padding:.4rem .55rem;font-size:.72rem}.lb-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}.lb-card{border-radius:5px}.lb-card-content{gap:.25rem;padding:.4rem .45rem .5rem}.lb-card-header{gap:.25rem}.lb-card-title{-webkit-line-clamp:1;line-clamp:1;font-size:.78rem}.lb-card-image-wrap{aspect-ratio:4/3}.lb-card-kcal-badge{padding:.15rem .4rem;font-size:.6rem}.lb-card-action-btns{gap:4px;top:4px;right:4px}.lb-card-action-btns .lb-quick-add-btn,.lb-fav-btn{width:24px;height:24px}.lb-label-tag{padding:.1rem .35rem;font-size:.5rem}.lb-card-ingredients,.lb-card-macros,.lb-card-recipe-preview,.lb-card-footer{display:none}.lb-filter-toggle{padding:.45rem .6rem;font-size:.72rem}.lb-search-input{padding:.5rem 1.8rem;font-size:.8rem}.lb-empty{padding:2rem 1rem}.lb-empty-icon{font-size:2.2rem}.lb-empty-title{font-size:1.1rem}.lb-empty-text{font-size:.82rem}}@media (max-width:380px){.lb-grid{grid-template-columns:1fr;gap:.6rem}.lb-card-content{gap:.35rem;padding:.45rem .5rem .55rem}.lb-card-header{flex-direction:column;gap:.3rem}.lb-card-ingredients{gap:.2rem}.lb-ingredient-chip{padding:.1rem .35rem;font-size:.58rem}.lb-tab{padding:.35rem .45rem;font-size:.65rem}.lb-tab-count{padding:.02rem .35rem;font-size:.55rem}.lb-filter-toggle{padding:.4rem .5rem;font-size:.68rem}}.lb-modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0000008c;justify-content:center;align-items:center;padding:1rem;animation:.2s lbFadeIn;display:flex;position:fixed;inset:0}@keyframes lbFadeIn{0%{opacity:0}to{opacity:1}}.lb-modal{background:var(--card);border-radius:5px;width:100%;max-width:600px;max-height:90vh;animation:.25s lbScaleIn;position:relative;overflow-y:auto}@keyframes lbScaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.lb-modal-close{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;cursor:pointer;z-index:10;background:#00000080;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:background .2s;display:flex;position:absolute;top:12px;right:12px}.lb-modal-close:hover{background:#000000bf}.lb-modal-image-wrap{aspect-ratio:16/9;width:100%;position:relative;overflow:hidden}.lb-modal-image{object-fit:cover;width:100%;height:100%}.lb-modal-image-overlay{background:linear-gradient(#0000,#000000b3);padding:1.5rem 1.25rem 1rem;position:absolute;bottom:0;left:0;right:0}.lb-modal-title{font-family:var(--font-display);color:#fff;text-shadow:0 2px 8px #0000004d;margin:0;font-size:1.5rem;font-weight:900}.lb-modal-body{flex-direction:column;gap:1.25rem;padding:1.25rem;display:flex}.lb-modal-stats{flex-wrap:wrap;gap:.75rem;display:flex}.lb-modal-stat{background:var(--hover-bg);border-radius:5px;flex-direction:column;flex:1;align-items:center;gap:.2rem;min-width:70px;padding:.6rem;display:flex}.lb-modal-stat-value{color:var(--foreground);font-size:1.1rem;font-weight:800}.lb-modal-stat-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:.65rem;font-weight:600}.lb-modal-section{flex-direction:column;gap:.6rem;display:flex}.lb-modal-section-title{color:var(--foreground);margin:0;font-size:.85rem;font-weight:700}.lb-modal-ingredients{flex-wrap:wrap;gap:.4rem;display:flex}.lb-modal-ingredient{background:var(--hover-bg);color:var(--foreground);border-radius:5px;padding:.35rem .7rem;font-size:.8rem}.lb-modal-recipe{flex-direction:column;gap:.5rem;margin:0;padding-left:1.25rem;display:flex}.lb-modal-recipe-step{color:var(--foreground);font-size:.85rem;line-height:1.5}.lb-modal-fav-btn{border:2px solid var(--border);width:100%;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:5px;justify-content:center;align-items:center;gap:.5rem;padding:.8rem;font-size:.9rem;font-weight:600;transition:all .25s;display:flex}.lb-modal-fav-btn:hover{border-color:var(--accent);color:var(--accent)}.lb-modal-fav-btn.active{border-color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.lb-modal-fav-btn.active{background:color-mix(in srgb, var(--accent) 10%, transparent)}}.lb-modal-fav-btn.active{color:var(--accent)}.lb-modal-actions{flex-direction:column;gap:.6rem;display:flex}.lb-modal-quick-add-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:5px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.8rem;font-size:.9rem;font-weight:600;transition:all .25s;display:flex}.lb-modal-quick-add-btn:hover{opacity:.88;transform:translateY(-1px)}.lb-modal-quick-add-btn:active{transform:translateY(0)}.lb-quick-add-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;transition:all .2s;display:flex}.lb-quick-add-btn:hover{opacity:.88;transform:scale(1.1)}.community-container{max-width:1300px;margin:0 auto;padding:0 1rem 3rem}.community-hero{margin-bottom:1rem;padding:3rem 1rem 2rem;position:relative}.community-hero:before{content:"";pointer-events:none;z-index:-1;border-radius:10px;position:absolute;inset:0}.community-hero-content{text-align:center;position:relative}.community-hero-title{font-family:var(--font-display);color:var(--foreground);background:linear-gradient(135deg, var(--foreground), var(--text-light));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 .5rem;font-size:clamp(2rem,4vw,2.8rem);font-weight:900;line-height:1.2}.community-hero-subtitle{color:var(--text-muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;margin:0;font-size:1rem;display:flex}.community-hero-total{color:var(--accent);font-weight:600}.community-search-bar{align-items:center;gap:.75rem;margin:2rem 0 1.5rem;display:flex}.community-search-input-wrap{flex:1;align-items:center;display:flex;position:relative}.community-search-icon{color:var(--text-muted);pointer-events:none;position:absolute;left:12px}.community-search-input{border:1px solid var(--border);background:var(--card);width:100%;color:var(--foreground);font-size:.9rem;font-family:var(--font-sans);border-radius:8px;outline:none;padding:.8rem 2.5rem .8rem 2.2rem;transition:all .2s}.community-search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #e651001f}.community-search-input::placeholder{color:var(--text-muted);opacity:.7}.community-search-clear{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:5px;align-items:center;padding:4px;transition:color .2s;display:flex;position:absolute;right:8px}.community-search-clear:hover{color:var(--foreground)}.community-filter-toggle{border:1px solid var(--border);background:var(--card);color:var(--text-muted);cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:.35rem;padding:.8rem 1rem;font-size:.85rem;font-weight:600;transition:all .2s;display:flex}.community-filter-toggle:hover,.community-filter-toggle.active{border-color:var(--accent);color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.community-filter-toggle:hover,.community-filter-toggle.active{background:color-mix(in srgb, var(--accent) 8%, var(--card))}}.community-filter-dot{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;min-width:20px;height:20px;margin-left:.25rem;font-size:.7rem;font-weight:700;display:inline-flex}.community-filter-panel{background:var(--card);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:1.25rem;margin-bottom:1.5rem;padding:1.5rem;animation:.25s communitySlideDown;display:flex}@keyframes communitySlideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.community-filter-group{flex-direction:column;gap:.75rem;display:flex}.community-filter-group-row{flex-flow:wrap;gap:.75rem}.community-checkbox-btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;text-align:left;background:0 0;border-radius:6px;align-items:center;gap:.75rem;width:fit-content;padding:.75rem 1rem;font-size:.9rem;font-weight:500;transition:all .2s;display:flex}.community-checkbox-btn:hover,.community-checkbox-btn.active{border-color:var(--accent);color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.community-checkbox-btn:hover,.community-checkbox-btn.active{background:color-mix(in srgb, var(--accent) 8%, transparent)}}.community-checkbox-btn svg{flex-shrink:0}.community-results{min-height:200px}.community-error-banner{color:#ef4444;background:#ef444414;border:1px solid #ef444433;border-radius:8px;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:.9rem 1.25rem;font-size:.85rem;font-weight:500;display:flex}.community-error-banner svg{flex-shrink:0}.community-error-banner span{flex:1}.community-error-banner button{color:#ef4444;cursor:pointer;background:0 0;border:1px solid #ef44444d;border-radius:5px;flex-shrink:0;padding:.4rem .9rem;font-size:.8rem;font-weight:600;transition:all .15s}.community-error-banner button:hover{background:#ef44441f;border-color:#ef444480}.community-loading{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:3rem 1rem;display:flex}.community-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;animation:.65s linear infinite communitySpin}.community-spinner-sm{border-width:2px;width:20px;height:20px}@keyframes communitySpin{to{transform:rotate(360deg)}}.community-empty{text-align:center;padding:3rem 1.5rem}.community-empty-icon{opacity:.6;margin-bottom:1rem;font-size:3rem}.community-empty-title{font-family:var(--font-display);color:var(--foreground);margin:0 0 .5rem;font-size:1.3rem;font-weight:700}.community-empty-text{color:var(--text-muted);max-width:300px;margin:0 auto;font-size:.9rem}.community-sentinel{height:1px;margin:2rem 0}.community-loading-more{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:2rem 1rem;display:flex}.community-end-message{text-align:center;color:var(--text-muted);padding:2rem 1rem;font-size:.9rem}.community-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));align-items:stretch;gap:1rem;display:grid}.community-grid>*{height:100%}.community-card{background:var(--card);border:1px solid var(--border);cursor:pointer;border-radius:12px;flex-direction:column;height:100%;padding:1.1rem 1rem 1rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.community-card:hover{border-color:var(--accent);transform:translateY(-4px);box-shadow:0 12px 28px #0000001a}.community-card-accent{background:linear-gradient(90deg, var(--accent), var(--accent-hover,#f59e0b));opacity:.6;height:3px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.community-card:hover .community-card-accent{opacity:1}.community-card-header{align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.community-card-avatar-wrap{flex-shrink:0;width:56px;height:56px;position:relative}.community-card-avatar-ring{background:linear-gradient(135deg, var(--accent), var(--accent-hover,#f59e0b));border-radius:50%;width:100%;height:100%;padding:3px}.community-card-avatar{background:linear-gradient(135deg, var(--accent), var(--accent-hover));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:100%;height:100%;font-size:1.1rem;font-weight:700;display:flex;overflow:hidden}.community-card-avatar-img{object-fit:cover}.community-card-badge{background:var(--accent);border:2px solid var(--card);z-index:1;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.6rem;display:flex;position:absolute;bottom:-2px;right:-2px}.community-card-info{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}.community-follow-btn{z-index:2;justify-content:center;align-items:center;width:28px;min-width:28px;height:28px;padding:0;display:flex;position:absolute;top:.65rem;right:.65rem}.community-card-info.has-follow-btn{padding-right:1.6rem}.community-follow-btn.following{color:var(--accent);border-color:var(--accent)}.community-follow-btn.following:hover{background:var(--danger-bg,#dc262614);color:var(--red-dark);border-color:var(--red-dark)}.community-card-name{font-family:var(--font-display);color:var(--foreground);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.95rem;font-weight:700;line-height:1.25;overflow:hidden}.community-card-subtitle{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.73rem;font-weight:500;line-height:1.3;overflow:hidden}.community-card-subtitle-sep{opacity:.5;margin:0 .3rem}.community-card-goal{color:var(--accent);background:var(--accent);font-size:.7rem;font-weight:600;display:inline-block}@supports (color:color-mix(in lab, red, red)){.community-card-goal{background:color-mix(in srgb, var(--accent) 10%, transparent)}}.community-card-goal{white-space:nowrap;text-overflow:ellipsis;border-radius:20px;width:fit-content;max-width:100%;padding:.15rem .55rem;line-height:1.4;overflow:hidden}.community-card-steps{background:var(--accent);justify-content:center;align-items:center;gap:.4rem;margin-bottom:.6rem;padding:.55rem .75rem;display:flex}@supports (color:color-mix(in lab, red, red)){.community-card-steps{background:color-mix(in srgb, var(--accent) 8%, transparent)}}.community-card-steps{border-radius:8px}.community-card-steps-icon{flex-shrink:0;font-size:1rem}.community-card-steps-value{color:var(--accent);font-size:1rem;font-weight:800;font-family:var(--font-display);letter-spacing:-.02em}.community-card-steps-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.65rem;font-weight:600}.community-card-stat-grid{grid-template-columns:repeat(2,1fr);gap:.4rem;display:grid}.community-stat-badge{background:var(--hover-bg);border-radius:6px;align-items:center;gap:.3rem;min-width:0;padding:.35rem .5rem;display:flex;overflow:hidden}.community-stat-icon{flex-shrink:0;font-size:.8rem;line-height:1}.community-stat-value{color:var(--foreground);white-space:nowrap;text-overflow:ellipsis;font-size:.73rem;font-weight:700;overflow:hidden}.community-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;font-size:.6rem;font-weight:500}@media (min-width:1025px){.community-container{max-width:1200px;padding:0 2rem 4rem}.community-hero{margin-bottom:1.5rem;padding:3.5rem 1rem 2.5rem}.community-hero-title{font-size:2.8rem}.community-hero-subtitle{font-size:1.1rem}.community-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1.25rem}.community-card{border-radius:14px;padding:1.4rem 1.25rem 1.25rem}.community-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px #0000001f}.community-card-accent{height:4px}.community-card-avatar-wrap{width:68px;height:68px}.community-card-avatar{font-size:1.35rem}.community-card-avatar-ring{padding:3px}.community-card-badge{width:22px;height:22px;font-size:.65rem;bottom:-2px;right:-2px}.community-card-header{gap:.9rem}.community-follow-btn{width:30px;min-width:30px;height:30px;top:.75rem;right:.75rem}.community-card-name{font-size:1.05rem}.community-card-subtitle{font-size:.78rem}.community-card-goal{padding:.2rem .65rem;font-size:.75rem}.community-card-steps{margin-bottom:.75rem;padding:.65rem .85rem}.community-card-steps-value{font-size:1.15rem}.community-card-stat-grid{gap:.5rem}.community-stat-badge{border-radius:8px;padding:.45rem .6rem}.community-stat-value{font-size:.78rem}.community-stat-label{font-size:.63rem}.community-stat-icon{font-size:.9rem}.community-search-bar{gap:1rem;margin:2.5rem 0 2rem}.community-search-input{padding:.9rem 2.5rem;font-size:.95rem}.community-filter-toggle{padding:.9rem 1.2rem;font-size:.9rem}.community-filter-panel{border-radius:10px;padding:1.75rem}.community-empty{padding:4rem 2rem}.community-empty-icon{font-size:3.5rem}.community-loading{padding:4rem 2rem}}@media (min-width:1025px) and (prefers-color-scheme:dark){.community-card:hover{box-shadow:0 20px 40px #00000073}}@media (max-width:768px){.community-container{padding:0 1rem 2rem}.community-hero{margin-bottom:.5rem;padding:2rem .75rem 1.5rem}.community-hero-title{font-size:clamp(1.6rem,3vw,2rem)}.community-search-bar{gap:.5rem;margin:1.5rem 0 1rem}.community-search-input{padding:.7rem 2.2rem .7rem 2rem;font-size:.9rem}.community-filter-toggle{padding:.7rem .8rem;font-size:.8rem}.community-filter-panel{gap:1rem;padding:1rem}.community-grid{grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:.75rem}.community-card{padding:.9rem .8rem .8rem}.community-card-header{gap:.65rem}.community-follow-btn{width:26px;min-width:26px;height:26px;top:.6rem;right:.6rem}.community-card-avatar-wrap{width:48px;height:48px}.community-card-avatar{font-size:.95rem}.community-card-avatar-ring{padding:2px}.community-card-name{font-size:.88rem}.community-card-subtitle{font-size:.7rem}.community-card-goal{font-size:.68rem}.community-card-steps{padding:.45rem .6rem}.community-card-steps-value{font-size:.9rem}.community-stat-badge{padding:.3rem .4rem}.community-stat-value{font-size:.7rem}}@media (max-width:640px){.community-container{padding:0 .75rem 2rem}.community-hero{padding:1.8rem .5rem 1.2rem}.community-hero-title{font-size:clamp(1.5rem,5vw,2rem)}.community-hero-subtitle{font-size:.85rem}.community-search-bar{flex-direction:column;gap:.5rem;margin:1rem 0 .75rem}.community-search-input-wrap{width:100%}.community-filter-toggle{justify-content:center;width:100%}.community-filter-panel{gap:.75rem;padding:.75rem}.community-filter-group-row{flex-direction:column;align-items:stretch}.multiselect-dropdown{width:100%}.multiselect-trigger{justify-content:space-between;width:100%}.multiselect-panel{width:100%;max-width:100%}.community-grid{grid-template-columns:repeat(2,1fr);gap:.65rem}.community-card{border-radius:10px;padding:.85rem .7rem .7rem}.community-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #00000014}.community-card-accent{height:2px}.community-card-header{gap:.6rem}.community-follow-btn{width:24px;min-width:24px;height:24px;top:.55rem;right:.55rem}.community-card-avatar-wrap{width:42px;height:42px}.community-card-avatar{font-size:.85rem}.community-card-avatar-ring{padding:2px}.community-card-badge{width:16px;height:16px;font-size:.5rem}.community-card-name{font-size:.82rem}.community-card-subtitle{white-space:normal;font-size:.68rem}.community-card-goal{padding:.12rem .45rem;font-size:.65rem}.community-card-steps{gap:.3rem;margin-bottom:.45rem;padding:.4rem .5rem}.community-card-steps-value{font-size:.85rem}.community-card-steps-label{font-size:.6rem}.community-card-stat-grid{gap:.3rem}.community-stat-badge{border-radius:5px;gap:.2rem;padding:.28rem .35rem}.community-stat-icon{font-size:.7rem}.community-stat-value{font-size:.68rem}.community-stat-label{font-size:.55rem}}@media (max-width:480px){.community-hero{padding:1.4rem .4rem .9rem}.community-hero-title{font-size:clamp(1.4rem,5vw,1.8rem)}.community-grid{grid-template-columns:repeat(2,1fr);gap:.55rem}.community-card{padding:1rem .85rem .85rem}.community-card-header{gap:.75rem}.community-card-name{font-size:.9rem}.community-card-subtitle{white-space:normal;font-size:.73rem}.community-card-steps{padding:.5rem .65rem}.community-card-steps-value{font-size:.95rem}.community-card-stat-grid{gap:.35rem}.community-stat-badge{padding:.35rem .5rem}.community-stat-value{font-size:.73rem}.community-stat-icon{font-size:.78rem}}.ingredients-page{flex-direction:column;width:100%;max-width:800px;min-height:100dvh;margin:0 auto;display:flex}.ingredients-page-shell{width:100%;max-width:720px;margin:0 auto;padding:1rem}.ingredients-month-picker{border-bottom:1px solid var(--card-border);-webkit-user-select:none;user-select:none;-webkit-backdrop-filter:blur(8px);background:var(--card-bg);z-index:5;flex-shrink:0;justify-content:center;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex;position:sticky;top:0}.ingredients-month-nav{border:1px solid var(--border);background:var(--card-bg);width:36px;height:36px;color:var(--foreground);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:all .2s cubic-bezier(.25,.46,.45,.94);display:flex}.ingredients-month-nav:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--accent-dim);box-shadow:0 0 0 4px var(--accent-dim)}.ingredients-month-nav:active:not(:disabled){transform:scale(.92)}.ingredients-month-nav:disabled{opacity:.25;cursor:not-allowed}.ingredients-month-label-wrap{justify-content:center;align-items:center;gap:.5rem;min-width:180px;display:flex}.ingredients-month-label{color:var(--heading,var(--foreground));font-variant-numeric:tabular-nums;letter-spacing:-.2px;font-size:1.1rem;font-weight:700}.ingredients-month-badge{text-transform:uppercase;letter-spacing:.5px;background:var(--accent);color:var(--text-on-accent);border-radius:5px;padding:2px 8px;font-size:.6rem;font-weight:700}.ingredients-summary-section{border-bottom:1px solid var(--card-border);background:linear-gradient(180deg, var(--card-bg), transparent);flex-shrink:0;padding:.6rem 1rem .5rem}.ingredients-summary-bar{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.4rem;display:flex}.ingredients-summary-stats{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:.35rem;font-size:.75rem;display:flex}.ingredients-summary-stat strong{color:var(--foreground);font-weight:700}.ingredients-summary-sep{color:var(--text-muted);opacity:.4;-webkit-user-select:none;user-select:none;font-weight:300}.ingredients-copy-btn{border:1px solid var(--border);background:var(--card-bg);color:var(--text-muted);cursor:pointer;white-space:nowrap;border-radius:5px;flex-shrink:0;align-items:center;gap:5px;padding:5px 12px;font-family:inherit;font-size:.68rem;font-weight:600;transition:all .2s cubic-bezier(.25,.46,.45,.94);display:inline-flex}.ingredients-copy-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.ingredients-copy-btn:active{transform:scale(.96)}.ingredients-progress-wrap{align-items:center;gap:.55rem;display:flex}.ingredients-progress-bar{background:var(--border);border-radius:5px;flex:1;height:3px;overflow:hidden}.ingredients-progress-fill{background:var(--accent);will-change:width;border-radius:5px;height:100%;transition:width .5s cubic-bezier(.25,.46,.45,.94)}.ingredients-progress-text{color:var(--text-muted);white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:.2px;font-size:.62rem;font-weight:700}.ingredients-categories-list{-webkit-overflow-scrolling:touch;scroll-behavior:smooth;flex:1;min-height:0;padding:0 1rem .5rem;overflow-y:auto}.ingredients-categories-list::-webkit-scrollbar{width:5px}.ingredients-categories-list::-webkit-scrollbar-track{background:0 0}.ingredients-categories-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:5px}.ingredients-categories-list::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.ingredients-category{margin-bottom:.2rem}.ingredients-category-header{background:var(--card-bg);-webkit-backdrop-filter:blur(12px);z-index:2;cursor:pointer;align-items:center;gap:.5rem;padding:.65rem 0 .35rem;display:flex;position:sticky;top:0;-webkit-mask-image:linear-gradient(#000 85%,#0000 100%);mask-image:linear-gradient(#000 85%,#0000 100%)}.ingredients-category-header:hover .ingredients-category-chevron{color:var(--foreground)}.ingredients-category-toggle{border:1.5px solid var(--border);color:#0000;cursor:pointer;background:0 0;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;padding:0;transition:all .2s cubic-bezier(.25,.46,.45,.94);display:flex}.ingredients-category-toggle.partial{color:var(--accent);border-color:var(--accent)}.ingredients-category-toggle:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.ingredients-category-toggle:active{transform:scale(.9)}.ingredients-category-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ingredients-category-label{color:var(--heading,var(--foreground));letter-spacing:-.1px;margin:0;font-size:.78rem;font-weight:700}.ingredients-category-count{color:var(--text-muted);background:var(--border);text-align:center;border-radius:5px;min-width:18px;padding:1px 6px;font-size:.62rem;font-weight:700}.ingredients-category-chevron{color:var(--text-muted);flex-shrink:0;align-items:center;margin-left:auto;transition:transform .25s cubic-bezier(.25,.46,.45,.94),color .15s;display:flex}.ingredients-category-chevron.collapsed{transform:rotate(-90deg)}.ingredients-category-items{opacity:1;flex-direction:column;max-height:3000px;transition:max-height .35s cubic-bezier(.25,.46,.45,.94),opacity .25s;display:flex;overflow:hidden}.ingredients-category-items.collapsed{opacity:0;max-height:0}.ingredients-row{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border-radius:5px;align-items:center;gap:.55rem;padding:.45rem .5rem .45rem 0;transition:background .12s,padding-left .2s;display:flex}.ingredients-row:hover{background:var(--hover-bg);padding-left:.3rem}.ingredients-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:5px}.ingredients-row.checked .ingredients-row-name{color:var(--text-muted);opacity:.5;text-decoration:line-through}.ingredients-row.checked .ingredients-row-qty,.ingredients-row.checked .ingredients-row-meals{opacity:.3}.ingredients-checkbox{appearance:none;border:1.5px solid var(--border);cursor:pointer;background:0 0;border-radius:4px;flex-shrink:0;width:17px;height:17px;margin:0;transition:all .2s cubic-bezier(.25,.46,.45,.94);position:relative}.ingredients-checkbox:hover{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.ingredients-checkbox:checked{background:var(--accent);border-color:var(--accent)}.ingredients-checkbox:checked:after{content:"";border:solid var(--text-on-accent);border-width:0 2px 2px 0;width:5px;height:9px;position:absolute;top:1px;left:4px;transform:rotate(45deg)}.ingredients-row-name{min-width:0;color:var(--foreground);flex:1;font-size:.83rem;font-weight:500;line-height:1.35;transition:color .2s,opacity .2s}.ingredients-row-qty{color:var(--accent);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.76rem;font-weight:700;transition:opacity .2s}.ingredients-row-meals{color:var(--text-muted);background:var(--border);white-space:nowrap;border-radius:3px;padding:1px 5px;font-size:.58rem;font-weight:700;transition:opacity .2s}.ingredients-empty-month{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:3rem 1rem;animation:.5s ingredients-empty-fadein;display:flex}@keyframes ingredients-empty-fadein{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ingredients-empty-icon{opacity:.45;filter:grayscale(.3);margin-bottom:.75rem;font-size:3.5rem}.ingredients-empty-title{color:var(--heading,var(--foreground));margin:0 0 .35rem;font-size:1.05rem;font-weight:700}.ingredients-empty-text{color:var(--text-muted);max-width:320px;margin:0;font-size:.82rem;line-height:1.5}.ingredients-error-banner{background:var(--error-bg);border:1px solid var(--error-border);color:var(--error-color);border-radius:5px;align-items:center;gap:.5rem;margin:.5rem 1rem;padding:.5rem .85rem;font-size:.76rem;font-weight:500;animation:.4s ingredients-error-shake;display:flex}@keyframes ingredients-error-shake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-2px)}80%{transform:translate(2px)}}.ingredients-bottom-bar{border-top:1px solid var(--card-border);background:var(--card-bg);-webkit-backdrop-filter:blur(12px);z-index:5;flex-shrink:0;align-items:center;gap:.75rem;padding:.45rem 1rem .7rem;display:flex;position:sticky;bottom:0}.ingredients-bottom-progress{flex:1;min-width:0}.ingredients-bottom-bar-wrap{background:var(--border);border-radius:5px;width:100%;height:3px;overflow:hidden}.ingredients-bottom-fill{background:linear-gradient(90deg, var(--accent), var(--accent-hover,var(--accent)));will-change:width;border-radius:5px;height:100%;transition:width .5s cubic-bezier(.25,.46,.45,.94)}.ingredients-bottom-clear{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:5px;padding:4px 12px;font-family:inherit;font-size:.68rem;font-weight:600;transition:all .2s cubic-bezier(.25,.46,.45,.94)}.ingredients-bottom-clear:hover{border-color:var(--error-color);color:var(--error-color);background:var(--error-bg)}.ingredients-bottom-clear:active{transform:scale(.95)}.ingredients-page-shell .dashboard-loading{text-align:center;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;padding:3rem 1rem;display:flex}.ingredients-page-shell .loading-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;margin-bottom:.75rem;animation:.7s linear infinite ingredients-spin}@keyframes ingredients-spin{to{transform:rotate(360deg)}}.ingredients-imported-banner{border-bottom:1px solid var(--card-border);flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;padding:.55rem 1rem;display:flex}.ingredients-imported-banner-left{flex-wrap:wrap;align-items:center;gap:.6rem;min-width:0;display:flex}.ingredients-imported-badge{text-transform:uppercase;letter-spacing:.4px;background:linear-gradient(135deg, var(--accent), var(--accent-hover,var(--accent)));color:var(--text-on-accent);white-space:nowrap;border-radius:5px;padding:2px 8px;font-size:.65rem;font-weight:700}.ingredients-imported-meta{color:var(--text-muted);font-size:.73rem}.ingredients-imported-clear{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:5px;flex-shrink:0;align-items:center;gap:4px;padding:4px 10px;font-family:inherit;font-size:.68rem;font-weight:600;transition:all .2s;display:inline-flex}.ingredients-imported-clear:hover{border-color:var(--error-color);color:var(--error-color);background:var(--error-bg)}.ingredients-imported-summary{color:var(--foreground);flex-shrink:0;margin:0;padding:.5rem 1rem 0;font-size:.78rem;line-height:1.45}.ingredients-ai-fab{background:linear-gradient(135deg, var(--accent), var(--accent-hover,var(--accent)));width:52px;height:52px;color:var(--text-on-accent);cursor:pointer;z-index:50;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border:none;border-radius:50%;outline:none;justify-content:center;align-items:center;transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s,left .3s,bottom .3s;display:flex;position:fixed;bottom:1.5rem;left:1.5rem}.ingredients-ai-fab:hover{box-shadow:0 0 0 6px var(--accent-dim), 0 8px 28px var(--accent-glow);transform:scale(1.1)}.ingredients-ai-fab:hover .ingredients-ai-fab-tooltip{opacity:1;pointer-events:auto;transform:translateY(-50%)translate(0)}.ingredients-ai-fab:active{transition:transform .1s;transform:scale(.92)}.ingredients-ai-fab:focus-visible{box-shadow:0 0 0 3px var(--card-bg), 0 0 0 5px var(--accent)}.ingredients-ai-fab:before{content:"";border:1.5px solid var(--accent-dim,#e6510033);pointer-events:none;border-radius:50%;position:absolute;inset:-6px}.ingredients-ai-fab:after{content:"";border:2px solid var(--accent);opacity:0;pointer-events:none;border-radius:50%;animation:2.4s ease-out infinite ingredients-ai-pulse-outer;position:absolute;inset:-8px}@keyframes ingredients-ai-pulse-outer{0%{opacity:.6;transform:scale(.85)}50%{opacity:.25}to{opacity:0;transform:scale(1.6)}}.ingredients-ai-fab-tooltip{background:var(--card-bg);color:var(--foreground);white-space:nowrap;border:1px solid var(--card-border);opacity:0;pointer-events:none;z-index:51;border-radius:5px;padding:.4rem .75rem;font-size:.73rem;font-weight:600;transition:opacity .2s,transform .25s cubic-bezier(.34,1.56,.64,1);position:absolute;top:50%;left:calc(100% + 12px);transform:translateY(-50%)translate(-6px);box-shadow:0 4px 16px #00000059}.ingredients-ai-fab-tooltip:before{content:"";border:6px solid #0000;border-right-color:var(--card-border);position:absolute;top:50%;right:100%;transform:translateY(-50%)}.ingredients-ai-fab-icon{z-index:1;transition:transform .3s cubic-bezier(.34,1.56,.64,1);position:relative}.ingredients-ai-fab:hover .ingredients-ai-fab-icon{transform:rotate(-15deg)scale(1.1)}.ingredients-ai-fab-shimmer{pointer-events:none;border-radius:50%;position:absolute;inset:0;overflow:hidden}.ingredients-ai-fab-shimmer:after{content:"";background:linear-gradient(90deg,#0000,#ffffff1f,#0000);width:60%;height:100%;animation:3s ease-in-out infinite ingredients-ai-shimmer;position:absolute;top:0;left:-100%;transform:skew(-20deg)}@keyframes ingredients-ai-shimmer{0%{left:-100%}60%{left:-100%}80%{left:150%}to{left:150%}}.ingredients-ai-fab-badge{border:2px solid var(--card-bg);z-index:2;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:14px;height:14px;display:flex;position:absolute;top:-2px;right:-2px}.ingredients-ai-fab-badge:after{content:"";background:var(--error-color,var(--red));border-radius:50%;width:6px;height:6px;animation:1.8s ease-in-out infinite ingredients-ai-badge-pulse}@keyframes ingredients-ai-badge-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}.sidebar-expanded~main .ingredients-ai-fab,body.sidebar-expanded .ingredients-ai-fab{left:calc(220px + 1.5rem)}.sidebar-collapsed~main .ingredients-ai-fab,body.sidebar-collapsed .ingredients-ai-fab{left:calc(52px + 1.5rem)}.ingredients-page .ingredients-ai-fab{bottom:calc(3.5rem + var(--safe-bottom,0px))}.ingredients-ai-overlay{z-index:1000;background:var(--overlay-dark,#0000008c);-webkit-backdrop-filter:blur(6px);justify-content:center;align-items:center;padding:1rem;animation:.18s ingredients-ai-fadein;display:flex;position:fixed;inset:0}@keyframes ingredients-ai-fadein{0%{opacity:0}to{opacity:1}}.ingredients-ai-modal{background:var(--card-bg);border:1px solid var(--card-border);width:100%;max-width:560px;max-height:85dvh;box-shadow:0 0 0 1px var(--border-soft,#ffffff0a), 0 20px 60px #00000080;border-radius:5px;flex-direction:column;animation:.25s cubic-bezier(.34,1.56,.64,1) ingredients-ai-modal-pop;display:flex;overflow:hidden}@keyframes ingredients-ai-modal-pop{0%{opacity:0;transform:scale(.92)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}.ingredients-ai-header{border-bottom:1px solid var(--card-border);background:var(--card-bg);flex-shrink:0;justify-content:space-between;align-items:center;padding:.9rem 1.2rem;display:flex}.ingredients-ai-title{color:var(--heading,var(--foreground));align-items:center;gap:.5rem;margin:0;font-size:.95rem;font-weight:700;display:flex}.ingredients-ai-title svg{color:var(--accent);flex-shrink:0}.ingredients-ai-close{width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;transition:all .15s;display:flex}.ingredients-ai-close:hover{background:var(--accent-dim);color:var(--foreground)}.ingredients-ai-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ingredients-ai-body{-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow-y:auto}.ingredients-ai-input-state{flex-direction:column;gap:1.1rem;padding:1.2rem;display:flex}.ingredients-ai-intro{text-align:center;flex-direction:column;align-items:center;gap:.55rem;display:flex}.ingredients-ai-intro-icon{opacity:.7;font-size:2.5rem}.ingredients-ai-description{color:var(--text-muted);margin:0;font-size:.85rem;line-height:1.55}.ingredients-ai-description strong{color:var(--foreground);font-weight:700}.ingredients-ai-people-section{background:var(--accent-soft);border:1px solid var(--border);border-radius:5px;flex-direction:column;align-items:center;gap:.55rem;padding:.85rem;display:flex}.ingredients-ai-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.75rem;font-weight:700}.ingredients-ai-people-control{align-items:center;gap:1rem;display:flex}.ingredients-ai-people-btn{border:1.5px solid var(--border);background:var(--card-bg);width:40px;height:40px;color:var(--foreground);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:all .2s cubic-bezier(.25,.46,.45,.94);display:flex}.ingredients-ai-people-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--accent-dim);box-shadow:0 0 0 4px var(--accent-dim)}.ingredients-ai-people-btn:active:not(:disabled){transform:scale(.9)}.ingredients-ai-people-btn:disabled{opacity:.25;cursor:not-allowed}.ingredients-ai-people-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ingredients-ai-people-value{color:var(--accent);font-variant-numeric:tabular-nums;text-align:center;min-width:3rem;font-size:2rem;font-weight:800;line-height:1}.ingredients-ai-people-hint{color:var(--text-muted);font-size:.68rem}.ingredients-ai-error{background:var(--error-bg);border:1px solid var(--error-border);color:var(--error-color);border-radius:5px;align-items:center;gap:.5rem;padding:.5rem .8rem;font-size:.76rem;font-weight:500;display:flex}.ingredients-ai-error span{flex:1;min-width:0}.ingredients-ai-error-retry{border:1px solid var(--error-color);color:var(--error-color);cursor:pointer;background:0 0;border-radius:5px;flex-shrink:0;padding:3px 10px;font-family:inherit;font-size:.68rem;font-weight:700;transition:all .15s}.ingredients-ai-error-retry:hover{background:var(--error-color);color:#fff}.ingredients-ai-actions{justify-content:flex-end;gap:.6rem;display:flex}.ingredients-ai-btn-primary{background:linear-gradient(135deg, var(--accent), var(--accent-hover,var(--accent)));color:var(--text-on-accent);cursor:pointer;border:none;border-radius:5px;align-items:center;gap:6px;padding:.55rem 1.15rem;font-family:inherit;font-size:.83rem;font-weight:700;transition:all .2s cubic-bezier(.25,.46,.45,.94);display:inline-flex}.ingredients-ai-btn-primary:hover{box-shadow:0 4px 12px var(--accent-glow);transform:translateY(-1px)}.ingredients-ai-btn-primary:active{transform:scale(.97)}.ingredients-ai-btn-primary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ingredients-ai-btn-secondary{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:5px;align-items:center;gap:6px;padding:.55rem 1.15rem;font-family:inherit;font-size:.83rem;font-weight:500;transition:all .2s cubic-bezier(.25,.46,.45,.94);display:inline-flex}.ingredients-ai-btn-secondary:hover{border-color:var(--text-muted);color:var(--foreground)}.ingredients-ai-btn-secondary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ingredients-ai-loading{flex-direction:column;justify-content:center;align-items:center;gap:.9rem;padding:2.5rem 1.5rem;display:flex}.ingredients-ai-loading-orb{width:56px;height:56px;position:relative}.ingredients-ai-orb{background:var(--accent);opacity:.3;border-radius:50%;animation:1.5s ease-in-out infinite ingredients-ai-orb-pulse;position:absolute;inset:0}.ingredients-ai-orb.secondary{opacity:.5;animation-delay:.2s;inset:8px}.ingredients-ai-orb.tertiary{opacity:.8;animation-delay:.4s;inset:16px}@keyframes ingredients-ai-orb-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.ingredients-ai-loading-text{color:var(--foreground);margin:0;font-size:.92rem;font-weight:600}.ingredients-ai-loading-sub{color:var(--text-muted);margin:0;font-size:.73rem}.ingredients-ai-result{flex-direction:column;gap:.65rem;padding:.9rem 1.1rem 1.1rem;display:flex}.ingredients-ai-summary-card{background:linear-gradient(135deg, var(--accent-soft), var(--accent-soft-2,transparent));border:1px solid var(--accent-dim);border-radius:5px;flex-direction:column;gap:.25rem;padding:.55rem .8rem;display:flex}.ingredients-ai-summary-text{color:var(--foreground);margin:0;font-size:.78rem;font-weight:500;line-height:1.45}.ingredients-ai-summary-stats{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.ingredients-ai-stat{color:var(--text-muted);white-space:nowrap;font-size:.7rem;font-weight:500}.ingredients-ai-stat strong{color:var(--accent);font-weight:700}.ingredients-ai-stat-sep{color:var(--text-muted);opacity:.35;-webkit-user-select:none;user-select:none;font-size:.6rem}.ingredients-ai-progress-wrap{align-items:center;gap:.5rem;margin-top:.1rem;display:flex}.ingredients-ai-progress-bar{background:var(--border);border-radius:5px;flex:1;height:3px;overflow:hidden}.ingredients-ai-progress-fill{background:var(--accent);will-change:width;border-radius:5px;height:100%;transition:width .4s cubic-bezier(.25,.46,.45,.94)}.ingredients-ai-progress-text{color:var(--text-muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.6rem;font-weight:700}.ingredients-ai-sections{flex-direction:column;gap:.35rem;display:flex}.ingredients-ai-section{border:1px solid var(--border);border-radius:5px;transition:border-color .2s;overflow:hidden}.ingredients-ai-section:hover{border-color:var(--accent-dim)}.ingredients-ai-section-title{color:var(--heading,var(--foreground));background:var(--accent-soft-2,#ffffff05);border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.4px;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.4rem;margin:0;padding:.4rem .7rem;font-size:.7rem;font-weight:700;transition:background .15s;display:flex}.ingredients-ai-section-title:hover{background:var(--accent-soft,#ffffff0a)}.ingredients-ai-section-icon{flex-shrink:0;font-size:.85rem;line-height:1}.ingredients-ai-section-chevron{color:var(--text-muted);flex-shrink:0;align-items:center;margin-left:auto;transition:transform .25s cubic-bezier(.25,.46,.45,.94);display:flex}.ingredients-ai-section-chevron.collapsed{transform:rotate(-90deg)}.ingredients-ai-section-count{color:var(--text-muted);background:var(--border);text-align:center;border-radius:3px;min-width:16px;padding:1px 6px;font-size:.58rem;font-weight:700}.ingredients-ai-section-items{opacity:1;flex-direction:column;max-height:2000px;padding:.3rem .7rem;transition:max-height .35s cubic-bezier(.25,.46,.45,.94),opacity .25s,padding .25s;display:flex;overflow:hidden}.ingredients-ai-section-items.collapsed{opacity:0;max-height:0;padding-top:0;padding-bottom:0}.ingredients-ai-item{border-bottom:1px solid var(--border-soft-2,#ffffff08);cursor:pointer;border-radius:3px;align-items:flex-start;gap:.45rem;padding:.3rem 0;transition:background .15s;display:flex}.ingredients-ai-item:hover{background:var(--hover-bg,#ffffff05)}.ingredients-ai-item:last-child{border-bottom:none}.ingredients-ai-item-checkbox{appearance:none;border:1.5px solid var(--border);cursor:pointer;background:0 0;border-radius:3px;flex-shrink:0;width:16px;height:16px;margin:2px 0 0;transition:all .2s cubic-bezier(.25,.46,.45,.94);position:relative}.ingredients-ai-item-checkbox:hover{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.ingredients-ai-item-checkbox:checked{background:var(--accent);border-color:var(--accent)}.ingredients-ai-item-checkbox:checked:after{content:"";border:solid var(--text-on-accent);border-width:0 2px 2px 0;width:4px;height:8px;position:absolute;top:1px;left:4px;transform:rotate(45deg)}.ingredients-ai-item.checked .ingredients-ai-item-name{opacity:.45;text-decoration:line-through}.ingredients-ai-item.checked .ingredients-ai-item-qty{opacity:.3}.ingredients-ai-item.checked .ingredients-ai-item-brand{opacity:.35}.ingredients-ai-item.checked .ingredients-ai-item-bullet,.ingredients-ai-item.checked .ingredients-ai-item-note{opacity:.3}.ingredients-ai-essential.checked .ingredients-ai-essential-name{opacity:.4;text-decoration:line-through}.ingredients-ai-essential.checked .ingredients-ai-essential-qty{opacity:.25}.ingredients-ai-item-bullet{background:var(--accent);opacity:.7;border-radius:50%;flex-shrink:0;width:4px;height:4px;margin-top:.5rem}.ingredients-ai-item-info{flex-direction:column;flex:1;gap:.08rem;min-width:0;display:flex}.ingredients-ai-item-name{color:var(--foreground);font-size:.78rem;font-weight:500;line-height:1.4}.ingredients-ai-item-brand{color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-dim);vertical-align:middle;letter-spacing:.2px;border-radius:3px;margin-left:5px;padding:0 5px;font-size:.6rem;font-weight:700;line-height:1.5;display:inline-block}.ingredients-ai-item-note{color:var(--text-muted);font-size:.63rem;font-style:italic;line-height:1.35}.ingredients-ai-item-qty{color:var(--accent);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.74rem;font-weight:700;line-height:1.45}.ingredients-ai-essentials{background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:5px;padding:.65rem .75rem}.ingredients-ai-essentials-title{color:var(--heading,var(--foreground));margin:0 0 .1rem;font-size:.75rem;font-weight:700}.ingredients-ai-essentials-hint{color:var(--text-muted);margin:0 0 .45rem;font-size:.63rem;font-style:italic}.ingredients-ai-essentials-grid{flex-direction:column;gap:.2rem;display:flex}.ingredients-ai-essential{cursor:pointer;border-radius:3px;align-items:center;gap:.35rem;padding:.18rem 0;font-size:.75rem;transition:background .12s;display:flex}.ingredients-ai-essential:hover{background:var(--hover-bg)}.ingredients-ai-essential.likely-have{opacity:.5}.ingredients-ai-essential.checked.likely-have{opacity:.25}.ingredients-ai-essential-icon{color:var(--amber,var(--warning-color));text-align:center;flex-shrink:0;width:14px;font-size:.65rem}.ingredients-ai-essential-info{flex:1;align-items:center;min-width:0;display:flex}.ingredients-ai-essential-name{color:var(--foreground);font-weight:500}.ingredients-ai-essential-qty{color:var(--text-muted);white-space:nowrap;font-size:.7rem;font-weight:700}.ingredients-ai-tips{background:var(--card-bg);border:1px solid var(--border);border-radius:5px;padding:.65rem .75rem}.ingredients-ai-tips-title{color:var(--heading,var(--foreground));margin:0 0 .35rem;font-size:.75rem;font-weight:700}.ingredients-ai-tips-list{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.ingredients-ai-tip{color:var(--text-main,var(--text-muted));padding-left:.6rem;font-size:.75rem;line-height:1.45;position:relative}.ingredients-ai-tip:before{content:"";background:var(--accent);border-radius:50%;width:4px;height:4px;position:absolute;top:.45rem;left:0}@media (max-width:640px){.ingredients-page-shell{padding:.65rem;padding-top:calc(.65rem + var(--safe-top,0px))}.ingredients-month-picker{gap:.55rem;padding:.55rem .65rem}.ingredients-month-label{font-size:.95rem}.ingredients-month-label-wrap{min-width:150px}.ingredients-summary-section{padding:.5rem .75rem .4rem}.ingredients-summary-stats{font-size:.68rem}.ingredients-categories-list{padding:0 .75rem .5rem}.ingredients-row{padding:.45rem .35rem .45rem 0}.ingredients-row-name{font-size:.78rem}.ingredients-row-qty{font-size:.7rem}.ingredients-bottom-bar{padding:.4rem .75rem .65rem}.ingredients-ai-fab{bottom:calc(3rem + var(--safe-bottom,0px));width:46px;height:46px;left:.85rem}.ingredients-ai-fab-tooltip{display:none}.ingredients-ai-fab-badge{width:12px;height:12px;top:-3px;right:-3px}.ingredients-ai-fab-badge:after{width:5px;height:5px}.ingredients-ai-fab:hover{box-shadow:0 0 0 4px var(--accent-dim), 0 6px 20px var(--accent-glow)}.sidebar-expanded~main .ingredients-ai-fab,body.sidebar-expanded .ingredients-ai-fab,.sidebar-collapsed~main .ingredients-ai-fab,body.sidebar-collapsed .ingredients-ai-fab{left:.85rem}.ingredients-imported-banner{padding:.45rem .75rem}.ingredients-imported-badge{padding:2px 6px;font-size:.6rem}.ingredients-imported-meta{font-size:.68rem}.ingredients-imported-summary{padding:.4rem .75rem 0;font-size:.74rem}.ingredients-ai-modal{border-radius:5px;max-width:100%;max-height:90dvh;margin:.5rem}.ingredients-ai-header{padding:.75rem .9rem}.ingredients-ai-title{font-size:.88rem}.ingredients-ai-input-state{gap:.9rem;padding:.9rem}.ingredients-ai-result{padding:.7rem .9rem .9rem}.ingredients-ai-people-control{gap:.7rem}.ingredients-ai-people-btn{width:36px;height:36px}.ingredients-ai-people-value{min-width:2.2rem;font-size:1.6rem}.ingredients-ai-summary-card{padding:.45rem .65rem}.ingredients-ai-section-title{padding:.35rem .6rem;font-size:.68rem}.ingredients-ai-section-items{padding:.25rem .6rem}}@media (min-width:641px) and (max-width:1024px){.ingredients-page-shell{max-width:600px;padding:1rem}}@media (max-width:768px){.ingredients-page{min-height:calc(100dvh - 58px - 70px - var(--safe-bottom,0px));padding-bottom:0}.ingredients-bottom-bar{bottom:calc(70px + var(--safe-bottom,0px))}}@media (min-width:1025px){.ingredients-page-shell{max-width:800px;padding:1.5rem}}.profile-page{min-height:100%;padding:2rem 1rem 3rem;padding-top:calc(2rem + var(--safe-top));padding-bottom:calc(3rem + var(--safe-bottom));box-sizing:border-box;flex-direction:column;display:flex}.profile-shell{box-sizing:border-box;flex-direction:column;flex:1;width:100%;min-width:0;max-width:900px;min-height:0;margin:0 auto;display:flex}.profile-shell .register-wizard{max-width:100%}.register-wizard{max-width:480px;margin:0 auto}.wizard-steps{box-sizing:border-box;justify-content:center;align-items:center;gap:0;width:100%;margin-bottom:1.75rem;display:flex;position:relative}.wizard-step{z-index:1;flex-direction:column;flex:none;align-items:center;gap:6px;min-width:0;display:flex;position:relative}.profile-form .wizard-step{cursor:pointer;touch-action:manipulation}.profile-form .wizard-step:active .wizard-step-number{transform:scale(.92)}.wizard-step-number{background:var(--card-bg);border:2px solid var(--border);width:36px;height:36px;color:var(--text-light);border-radius:50%;justify-content:center;align-items:center;font-size:.82rem;font-weight:700;transition:all .25s;display:flex}.wizard-step.active .wizard-step-number{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent);box-shadow:0 2px 8px var(--accent-glow)}.wizard-step.completed .wizard-step-number{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent);font-size:.75rem}.wizard-step-label{color:var(--text-light);text-transform:uppercase;letter-spacing:.4px;white-space:nowrap;font-size:.68rem;font-weight:600}.wizard-step.active .wizard-step-label{color:var(--accent)}.wizard-step-connector{background:var(--border);flex:auto;width:auto;min-width:10px;max-width:60px;height:2px;margin:0 8px;position:relative;top:-14px}.wizard-step.completed+.wizard-step-connector{background:var(--accent)}.wizard-content{flex-direction:column;gap:1.35rem;animation:.3s ease-out fadeInUp;display:flex}.wizard-content .form-group{gap:.4rem}.wizard-content .form-group .input-wrapper+.form-hint{margin-top:.15rem}.wizard-content .form-row{gap:1rem}.wizard-content .reg-photo-group{margin-bottom:.35rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.wizard-content-forward{animation:.28s ease-out wizardSlideFromRight}.wizard-content-back{animation:.28s ease-out wizardSlideFromLeft}@keyframes wizardSlideFromRight{0%{opacity:0;transform:translate(26px)}to{opacity:1;transform:translate(0)}}@keyframes wizardSlideFromLeft{0%{opacity:0;transform:translate(-26px)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.wizard-content,.wizard-content-forward,.wizard-content-back{animation:none}}.wizard-content-title{color:var(--heading);margin:0 0 .2rem;font-size:1.2rem;font-weight:700}.wizard-content-subtitle{color:var(--text-light);margin:0 0 1.25rem;font-size:.85rem}.wizard-actions{gap:10px;margin-top:1.5rem;display:flex}.wizard-actions .wizard-btn:first-child:last-child{margin-left:auto}.wizard-actions .wizard-btn:first-child:nth-last-child(2){margin-right:auto}.wizard-actions .wizard-btn:first-child:nth-last-child(2)~.wizard-btn{margin-left:auto}.wizard-btn{cursor:pointer;border:1.5px solid var(--border);background:var(--card-bg);color:var(--foreground);touch-action:manipulation;border-radius:5px;align-items:center;gap:6px;padding:.65rem 1.5rem;font-family:DM Sans,sans-serif;font-size:.85rem;font-weight:600;transition:all .15s;display:inline-flex}.wizard-btn:hover{border-color:var(--accent);background:var(--accent-light)}.wizard-btn:active:not(:disabled){transform:scale(.97)}.wizard-btn-next{background:var(--accent);color:var(--text-on-accent);border-color:var(--accent);box-shadow:0 4px 14px var(--accent-glow)}.wizard-btn-next:hover{background:var(--accent-hover);box-shadow:0 6px 20px var(--accent-glow);transform:translateY(-1px)}.wizard-btn-submit{background:var(--accent);color:var(--text-on-accent);border-color:var(--accent);box-shadow:0 4px 14px var(--accent-glow)}.wizard-btn-submit:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 6px 20px var(--accent-glow);transform:translateY(-1px)}.wizard-btn-submit:disabled{opacity:.5;cursor:not-allowed}.wizard-btn-back{border-color:var(--border);color:var(--text-muted);background:0 0}.wizard-btn-back:hover{border-color:var(--text-muted);color:var(--foreground)}.bmi-display{background:var(--card-bg);border:1px solid var(--border);border-radius:5px;align-items:center;gap:10px;margin-bottom:1rem;padding:.75rem 1rem;display:flex}.bmi-value{color:var(--heading);font-size:1rem;font-weight:700}.reg-gender-pills{flex-wrap:wrap;gap:10px;display:flex}.reg-gender-pill{border:1.5px solid var(--border);background:var(--card);cursor:pointer;min-width:70px;color:var(--text-muted);-webkit-user-select:none;user-select:none;touch-action:manipulation;appearance:none;box-sizing:border-box;border-radius:5px;flex:auto;justify-content:center;align-items:center;gap:8px;padding:.75rem 1rem;font-family:DM Sans,sans-serif;font-size:.85rem;font-weight:600;transition:all .2s;display:flex;position:relative}.reg-gender-pill:active{transform:scale(.97)}.reg-gender-pill input{opacity:0;pointer-events:none;border:0;width:1px;height:1px;margin:0;padding:0;position:absolute;top:0;left:0}.reg-gender-pill:hover{border-color:var(--accent-mix);color:var(--accent-mix);background:var(--accent-soft-bg-faint)}.reg-gender-pill.active{border-color:var(--accent);color:var(--accent);background:var(--accent-soft-bg);box-shadow:0 2px 8px var(--accent-focus-shadow-strong)}.reg-gender-pill svg{flex-shrink:0}.reg-photo-group{text-align:center;box-sizing:border-box;flex-direction:column;align-items:center;gap:8px;width:100%;min-width:0;margin-bottom:.25rem;display:flex;overflow:hidden}.reg-photo-group label{color:var(--heading);font-size:.82rem;font-weight:600}.reg-photo-group .image-uploader{flex-direction:column;align-items:center;display:flex}.profile-personal-header{box-sizing:border-box;flex-direction:column;align-items:center;gap:.35rem;width:100%;min-width:0;display:flex}.profile-personal-header .reg-photo-group{margin-bottom:0}.profile-personal-info{flex-direction:column;align-items:center;gap:.25rem;width:100%;min-width:0;display:flex}.profile-personal-info .form-group{width:100%}@media (prefers-color-scheme:dark){.reg-gender-pill{background:var(--white-soft-3)}.reg-gender-pill:hover{background:var(--accent-soft-bg)}.reg-gender-pill.active{background:var(--accent-focus-shadow-strong)}}.bmi-category{text-transform:uppercase;letter-spacing:.5px;border-radius:5px;padding:2px 10px;font-size:.72rem;font-weight:700}.bmi-underweight{background:var(--warning-bg);color:var(--warning-color)}.bmi-normal{background:var(--green-soft-bg);color:var(--accent)}.bmi-overweight{background:var(--orange-soft-bg);color:var(--orange-light)}.bmi-obese{background:var(--danger-soft-bg-dark);color:var(--red)}.calorie-input-wrap{align-items:center;width:100%;display:flex;position:relative}.calorie-input-wrap input{width:100%;padding-right:2.2rem}.calorie-refresh-btn{color:#16a34a;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;transition:color .2s,background .2s;display:inline-flex;position:absolute;top:50%;right:.45rem;transform:translateY(-50%)}.calorie-refresh-btn:hover{color:#15803d;background:#16a34a1a}.calorie-refresh-btn:active svg{animation:.6s ease-out calorie-spin}.calorie-refresh-btn.disabled{opacity:.35;cursor:not-allowed;pointer-events:none}@keyframes calorie-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.form-radio-group{gap:1rem;display:flex}.form-radio-label{cursor:pointer;align-items:center;gap:6px;font-size:.9rem;display:flex}.form-radio-label input[type=radio]{accent-color:var(--accent);width:16px;height:16px}.form-radio-text{color:var(--foreground)}.form-toggle-label{cursor:pointer;color:var(--text-muted);align-items:center;gap:10px;font-size:.85rem;display:flex}.form-toggle-switch{display:inline-flex}.form-toggle-track{background:var(--border);cursor:pointer;border-radius:5px;width:40px;height:22px;transition:background .2s;position:relative}.form-toggle-track.active{background:var(--accent)}.form-toggle-thumb{background:var(--bg-white);width:18px;height:18px;box-shadow:0 1px 3px var(--shadow-medium);border-radius:50%;transition:left .2s;position:absolute;top:2px;left:2px}.form-toggle-track.active .form-toggle-thumb{left:20px}.change-password-btn{border:1px solid var(--border);background:var(--card-bg);color:var(--text-muted);cursor:pointer;white-space:nowrap;border-radius:5px;flex-shrink:0;align-items:center;gap:.35rem;padding:.35rem .65rem;font-size:.72rem;font-weight:600;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.change-password-btn:hover{color:var(--foreground);border-color:var(--text-muted)}.change-password-form{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:.75rem;margin-bottom:1rem;padding:1rem;display:flex}.btn-cancel{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:5px;padding:.55rem 1rem;font-size:.82rem;font-weight:600;transition:color .15s,border-color .15s}.btn-cancel:hover{color:var(--foreground);border-color:var(--text-muted)}.form-select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;padding-right:2.2rem!important}.country-select-wrapper{position:relative}.country-dropdown{background:var(--card-bg);border:1px solid var(--border);z-index:50;max-height:200px;box-shadow:0 8px 24px var(--shadow-soft-mid);border-radius:5px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.country-option{cursor:pointer;padding:.55rem .75rem;font-size:.85rem;transition:background .1s}.country-option:hover{background:var(--accent-light)}.country-option.selected{background:var(--accent-light);color:var(--accent);font-weight:600}.country-option.no-results{color:var(--text-light);cursor:default}.wizard-summary{border:1px solid var(--border);border-radius:5px;margin:1.25rem 0;overflow:hidden}.wizard-summary-toggle{color:var(--accent);cursor:pointer;background:var(--card-bg);-webkit-user-select:none;user-select:none;padding:.75rem 1rem;font-size:.85rem;font-weight:600}.wizard-summary-toggle:hover{background:var(--accent-light)}.wizard-summary-content{border-top:1px solid var(--border);background:var(--card-bg);padding:.5rem 1rem 1rem}.wizard-summary-row{justify-content:space-between;align-items:center;padding:.35rem 0;font-size:.85rem;display:flex}.wizard-summary-label{color:var(--text-light)}.wizard-summary-value{color:var(--heading);font-weight:600}.form-footer{text-align:center;color:var(--text-muted);margin-top:1.5rem;font-size:.85rem}.form-link{color:var(--accent);font-weight:600;text-decoration:none}.form-link:hover{text-decoration:underline}.profile-top-tabs{background:var(--card-bg);border:1px solid var(--card-border);border-radius:5px;gap:.35rem;margin-bottom:1.5rem;padding:.35rem;display:flex;box-shadow:0 1px 4px #0000000a}.profile-top-tab{color:var(--text-light);cursor:pointer;white-space:nowrap;touch-action:manipulation;background:0 0;border:none;border-radius:5px;flex:1;justify-content:center;align-items:center;gap:.45rem;padding:.6rem 1.15rem;font-family:inherit;font-size:.85rem;font-weight:600;transition:all .2s;display:inline-flex}.profile-top-tab:active{transform:scale(.98)}.profile-top-tab:hover{color:var(--foreground);background:var(--accent-soft-bg)}.profile-top-tab.active{color:var(--text-on-accent);background:var(--accent);box-shadow:0 2px 8px #0000001f}.profile-top-tab.active:hover{background:var(--accent-hover)}.profile-top-tab svg{flex-shrink:0;width:16px;height:16px}.profile-top-tab-label-short{display:none}.profile-top-tab.active svg{stroke:var(--text-on-accent)}.profile-top-tab.premium{color:#b45309;background:linear-gradient(135deg,#eab3081a,#f59e0b12)}.profile-top-tab.premium svg{stroke:#b45309}.profile-top-tab.premium:hover{color:#92400e;background:linear-gradient(135deg,#eab3082e,#f59e0b1f)}.profile-top-tab.premium.active{color:#fff;background:linear-gradient(135deg,#eab308,#d97706);box-shadow:0 2px 10px #eab30859}.profile-top-tab.premium.active:hover{background:linear-gradient(135deg,#f59e0b,#d97706)}.profile-top-tab.premium.active svg{stroke:#fff}.profile-top-tab-content{flex-direction:column;flex:1;min-height:0;animation:.3s ease-out fadeInUp;display:flex}.profile-top-tab-content>.profile-form,.profile-top-tab-content>.subscription-manager{flex-direction:column;flex:1;min-height:0;display:flex}.subscription-manager{min-height:0;overflow-y:auto}.profile-form{box-sizing:border-box;flex-direction:column;flex:1;width:100%;min-width:0;min-height:0;display:flex}.profile-form-header{z-index:10;background:var(--background);flex-shrink:0;padding-bottom:.5rem;position:sticky;top:55px}.profile-form-header .auth-error{margin-bottom:.5rem}.profile-form-body{box-sizing:border-box;flex:1;width:100%;min-width:0;min-height:0;padding:.125rem .25rem;overflow-y:auto}.wizard-nav-bar{align-items:center;gap:.35rem;min-height:36px;margin-bottom:.5rem;display:flex}.wizard-nav-bar .wizard-steps{flex:1;margin-bottom:0}.wizard-nav-btn{color:var(--text-muted);cursor:pointer;white-space:nowrap;touch-action:manipulation;background:0 0;border:1px solid #0000;border-radius:5px;flex-shrink:0;align-items:center;gap:2px;padding:.35rem .5rem;font-family:inherit;font-size:.78rem;font-weight:600;transition:all .2s;display:inline-flex}.wizard-nav-btn:hover{color:var(--accent);background:var(--accent-soft-bg)}.wizard-nav-btn:active{transform:scale(.95)}.wizard-nav-btn--hidden{visibility:hidden;pointer-events:none}.auto-save-indicator{opacity:0;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;transition:opacity .25s,transform .25s;display:inline-flex;transform:scale(.5)}.auto-save-indicator--visible{opacity:1;transform:scale(1)}.auto-save-spinner{border:2px solid var(--border);border-top-color:var(--accent);border-right-color:var(--accent);border-radius:50%;width:16px;height:16px;animation:.5s linear infinite auto-save-spin}@keyframes auto-save-spin{to{transform:rotate(360deg)}}.auto-save-check{color:#fff;background:#22c55e;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;animation:.4s cubic-bezier(.34,1.56,.64,1) auto-save-pop;display:flex;box-shadow:0 2px 8px #22c55e66}@keyframes auto-save-pop{0%{transform:scale(0)rotate(-45deg)}60%{transform:scale(1.25)rotate(0)}to{transform:scale(1)rotate(0)}}.auto-save-check svg{stroke-dasharray:22;stroke-dashoffset:22px;animation:.3s .15s forwards auto-save-draw}@keyframes auto-save-draw{to{stroke-dashoffset:0}}.delete-account-section{border:1px solid var(--red,#ef4444);background:var(--danger-soft-bg-dark,#ef44440a);border-radius:8px;margin-top:2.5rem;padding:1.5rem}.delete-account-header{margin-bottom:1rem}.delete-account-header h3{color:var(--red,#ef4444);margin-bottom:.35rem;font-size:1rem;font-weight:700}.delete-account-header p{color:var(--text-muted);font-size:.82rem;line-height:1.5}.delete-account-btn{color:#fff;background:var(--red,#ef4444);cursor:pointer;touch-action:manipulation;border:none;border-radius:5px;align-items:center;gap:.5rem;padding:.6rem 1.2rem;font-family:inherit;font-size:.85rem;font-weight:600;transition:background .15s,transform .1s;display:inline-flex}.delete-account-btn:hover{background:#dc2626}.delete-account-btn:active{transform:scale(.97)}.delete-account-actions{flex-wrap:nowrap;align-items:center;gap:.75rem;display:flex}.delete-account-actions .btn{white-space:nowrap;flex:1;justify-content:center;min-width:0}.export-data-btn{color:var(--foreground);background:var(--card-bg);border:1px solid var(--border);cursor:pointer;touch-action:manipulation;border-radius:5px;flex-shrink:1;align-items:center;gap:.5rem;padding:.6rem .8rem;font-family:inherit;font-size:.85rem;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s;display:inline-flex}.export-data-btn:hover{background:var(--hover-bg);border-color:var(--accent);color:var(--accent)}@media (max-width:480px){.delete-account-actions{gap:.5rem}.delete-account-btn,.export-data-btn{gap:.35rem;padding:.5rem .6rem;font-size:.78rem}.delete-account-btn svg,.export-data-btn svg{flex-shrink:0;width:14px;height:14px}}.notification-preferences-card{background:var(--card);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.notification-preferences-header{flex-direction:column;gap:.25rem;display:flex}.notification-preferences-title{color:var(--foreground);align-items:center;gap:.5rem;margin:0;font-size:1rem;font-weight:600;display:flex}.notification-preferences-title svg{color:var(--accent);flex-shrink:0}.notification-preferences-desc{color:var(--text-muted);margin:0;font-size:.85rem;line-height:1.4}.notification-preferences-control{align-items:center;gap:.75rem;display:flex}.notification-preferences-control .form-toggle-switch{cursor:pointer;align-items:center;gap:.5rem;display:inline-flex}.notification-preferences-control .toggle-label{color:var(--foreground);font-size:.9rem;font-weight:500}.notification-preferences-status{color:var(--accent);background:var(--accent);margin:0;padding:.5rem .75rem;font-size:.82rem}@supports (color:color-mix(in lab, red, red)){.notification-preferences-status{background:color-mix(in srgb, var(--accent) 10%, transparent)}}.notification-preferences-status{border-radius:8px;line-height:1.4}.notification-preferences-hint{color:var(--text-muted);background:var(--text-muted);margin:0;padding:.5rem .75rem;font-size:.8rem}@supports (color:color-mix(in lab, red, red)){.notification-preferences-hint{background:color-mix(in srgb, var(--text-muted) 8%, transparent)}}.notification-preferences-hint{border-radius:8px;line-height:1.4}.meal-reminder-times{border-top:1px solid var(--border);flex-direction:column;gap:.75rem;padding-top:.75rem;display:flex}.meal-reminder-times-title{color:var(--foreground);margin:0;font-size:.9rem;font-weight:600}.meal-reminder-row{justify-content:space-between;align-items:center;gap:.75rem;min-width:0;display:flex}.meal-reminder-row .form-toggle-switch{cursor:pointer;flex-wrap:wrap;align-items:center;gap:.5rem;min-width:0;display:inline-flex}.meal-reminder-row .toggle-label{color:var(--foreground);word-break:break-word;min-width:0;font-size:.9rem;font-weight:500}.meal-reminder-time-field{background:var(--background);border:1px solid var(--border);width:10rem;min-height:44px;color:var(--foreground);cursor:pointer;text-align:center;box-sizing:border-box;border-radius:8px;flex-shrink:0;padding:.4rem .85rem;font-size:.85rem;font-weight:600;transition:border-color .15s,background .15s}.meal-reminder-time-field:hover:not(:disabled){border-color:var(--accent)}.meal-reminder-time-field:disabled{opacity:.5;cursor:default}@media (max-width:640px){.notification-preferences-card{border-radius:10px;gap:.75rem;padding:1rem}.notification-preferences-title{font-size:.92rem}.notification-preferences-desc{font-size:.8rem}.meal-reminder-row{flex-wrap:wrap}}.admin-tab-bar .profile-top-tab{flex:none;gap:0}.admin-tab-bar .profile-top-tab.active{flex:auto;gap:.45rem}.admin-tab-bar .profile-top-tab-label{display:none}.admin-tab-bar .profile-top-tab.active .profile-top-tab-label{display:inline}.admin-tabs-track{width:100%;min-width:0;overflow:hidden}.admin-tabs-slides{touch-action:pan-y;width:200%;display:flex}.admin-tabs-slide{box-sizing:border-box;flex-shrink:0;width:50%;min-width:0;padding-right:1px}.admin-section{background:var(--card);border:1px solid var(--border);box-sizing:border-box;border-radius:12px;flex-direction:column;gap:1.25rem;width:100%;min-width:0;padding:1.5rem;display:flex}.admin-section-header{flex-direction:column;gap:.25rem;display:flex}.admin-section-title{color:var(--foreground);align-items:center;gap:.5rem;margin:0;font-size:1rem;font-weight:600;display:flex}.admin-section-title svg{color:var(--accent);flex-shrink:0}.admin-section-desc{color:var(--text-muted);margin:0;font-size:.85rem;line-height:1.4}.admin-notify-form{flex-direction:column;gap:1rem;width:100%;min-width:0;display:flex}.admin-notify-result{color:var(--accent);background:var(--accent);margin:0;padding:.5rem .75rem;font-size:.82rem}@supports (color:color-mix(in lab, red, red)){.admin-notify-result{background:color-mix(in srgb, var(--accent) 10%, transparent)}}.admin-notify-result{border-radius:8px;line-height:1.4}.admin-users-toolbar{flex-direction:column;gap:.75rem;width:100%;min-width:0;display:flex}.admin-users-search-wrap{align-items:center;width:100%;min-width:0;display:flex;position:relative}.admin-users-search-icon{color:var(--text-muted);pointer-events:none;position:absolute;left:.85rem}.admin-users-search{box-sizing:border-box;width:100%;height:44px;color:var(--foreground);background:var(--hover-bg);appearance:none;border:1px solid #0000;border-radius:999px;outline:none;padding-left:2.5rem;padding-right:2.5rem;font-family:inherit;font-size:.9rem;transition:background-color .15s,box-shadow .15s}.admin-users-search::placeholder{color:var(--text-muted)}.admin-users-search::-webkit-search-cancel-button{display:none}.admin-users-search:focus{background:var(--background);box-shadow:0 0 0 2px var(--accent)}@supports (color:color-mix(in lab, red, red)){.admin-users-search:focus{box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 35%, transparent)}}.admin-users-search-clear{width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.3rem;line-height:1;transition:transform .15s;display:flex;position:absolute;right:.4rem}.admin-users-search-clear:hover{color:var(--foreground);background:var(--hover-bg)}.admin-users-search-clear:active{transform:scale(.88)}.admin-users-filters{scrollbar-width:none;-ms-overflow-style:none;gap:.4rem;padding-bottom:2px;display:flex;overflow:auto hidden}.admin-users-filters::-webkit-scrollbar{display:none}.admin-filter-chip{min-height:36px;color:var(--text-muted);background:var(--hover-bg);cursor:pointer;white-space:nowrap;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:1px solid #0000;border-radius:999px;flex-shrink:0;padding:.4rem .85rem;font-family:inherit;font-size:.78rem;font-weight:600;transition:background-color .15s,color .15s,transform .1s}.admin-filter-chip:hover{color:var(--foreground)}.admin-filter-chip:active{transform:scale(.94)}.admin-filter-chip.active{color:var(--text-on-accent);background:var(--accent)}.admin-filter-chip-reset{color:var(--accent);border-color:var(--border);background:0 0}.admin-users-empty{text-align:center;color:var(--text-muted);padding:1.5rem 0;font-size:.9rem}.admin-users-list{flex-direction:column;gap:.5rem;min-width:0;max-height:520px;display:flex;overflow-y:auto}.admin-user-row{border:1px solid var(--border);background:var(--background);box-sizing:border-box;border-radius:10px;flex-wrap:wrap;align-items:center;gap:.85rem;min-width:0;padding:.75rem;display:flex}.admin-user-link{min-width:0;color:inherit;border-radius:8px;flex:1;align-items:center;gap:.85rem;text-decoration:none;display:flex}.admin-user-link:hover .admin-user-name{color:var(--accent)}.admin-user-link:active{background:var(--hover-bg)}.admin-user-avatar{background:var(--accent);border-radius:50%;flex-shrink:0;width:40px;height:40px;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.admin-user-avatar{background:color-mix(in srgb, var(--accent) 15%, transparent)}}.admin-user-avatar{color:var(--accent);justify-content:center;align-items:center;font-size:.95rem;font-weight:600;display:flex}.admin-user-avatar img{object-fit:cover;width:100%;height:100%}.admin-user-info{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.admin-user-name{color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.92rem;font-weight:600;overflow:hidden}.admin-user-email{color:var(--text-muted);overflow-wrap:anywhere;word-break:break-word;font-size:.8rem}.admin-user-actions{border-left:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:1rem;margin-left:auto;padding-left:1rem;display:flex}.admin-users-header{align-items:center;gap:.85rem;padding:0 .75rem;display:flex}.admin-users-header-info{text-transform:uppercase;letter-spacing:.03em;min-width:0;color:var(--text-muted);flex:1;font-size:.72rem;font-weight:600}.admin-users-header-actions{border-left:1px solid var(--border);gap:1rem;margin-left:auto;padding-left:1rem;display:flex}.admin-users-header-col{text-align:center;text-transform:uppercase;letter-spacing:.02em;width:46px;color:var(--text-muted);flex-shrink:0;font-size:.7rem;font-weight:600}.admin-switch{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-shrink:0;width:46px;height:44px;padding:0;position:relative}.admin-switch:before{content:"";background:var(--hover-bg);border:1px solid var(--border);border-radius:999px;width:42px;height:24px;transition:background-color .2s,border-color .2s;position:absolute;top:50%;left:0;transform:translateY(-50%)}.admin-switch.on:before{background:var(--accent);border-color:var(--accent)}.admin-switch-thumb{background:var(--text-on-accent);border-radius:50%;width:18px;height:18px;transition:transform .2s,width .15s;position:absolute;top:50%;left:3px;transform:translateY(-50%)translate(0);box-shadow:0 1px 3px #00000040}.admin-switch.on .admin-switch-thumb{transform:translateY(-50%)translate(18px)}.admin-switch:active .admin-switch-thumb{width:22px}.admin-switch.on:active .admin-switch-thumb{transform:translateY(-50%)translate(14px)}.admin-switch:disabled{cursor:not-allowed;opacity:.5}.admin-user-delete{width:46px;height:44px;color:var(--text-muted);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background-color .15s,color .15s,transform .1s;display:flex}.admin-user-delete:hover{color:var(--red);background:var(--red)}@supports (color:color-mix(in lab, red, red)){.admin-user-delete:hover{background:color-mix(in srgb, var(--red) 12%, transparent)}}.admin-user-delete:active{transform:scale(.9)}.admin-user-delete:disabled{cursor:not-allowed;opacity:.35}body:has(.diary-page){overflow:hidden}.diary-page{flex-direction:column;width:100%;max-width:1100px;height:94dvh;min-height:0;margin:0 auto;display:flex;overflow:hidden}.diary-swipe-area{touch-action:pan-y;flex-direction:column;flex:auto;width:100%;min-height:0;display:flex;overflow:hidden}.diary-page:not([data-mounted]) .diary-swipe-area{visibility:hidden}.diary-track{will-change:transform;flex-direction:row;width:100%;height:100%;min-height:0;transition:none;display:flex}.diary-page.is-animating .diary-track{transition:transform .3s}.diary-track-page{box-sizing:border-box;flex-direction:column;flex:0 0 100%;width:100%;height:100%;min-height:0;padding:0 1rem 10px;display:flex}.diary-day-content{flex-direction:column;flex:1;min-height:0;display:flex}.diary-page-shell{width:100%;max-width:720px;margin:0 auto;padding:1rem}.diary-date-strip-wrap{border-bottom:1px solid var(--card-border);-webkit-user-select:none;user-select:none;background:var(--background);z-index:5;will-change:margin-bottom;flex-direction:row;align-items:stretch;margin-bottom:.5rem;transition:margin-bottom .7s cubic-bezier(.25,.46,.45,.94);display:flex;position:sticky;top:0}.diary-date-strip-wrap.has-sticky-widget{margin-bottom:0}.diary-date-strip{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex:1;gap:0;min-width:0;padding:0;display:flex;overflow-x:auto}.diary-date-strip::-webkit-scrollbar{display:none}.diary-date-strip-item{color:var(--text-muted,#aaa);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:none;border-radius:0;flex-direction:column;flex-shrink:0;align-items:center;gap:1px;min-width:48px;padding:8px 12px;font-size:.75rem;font-weight:500;transition:color .2s cubic-bezier(.25,.46,.45,.94),border-color .2s cubic-bezier(.25,.46,.45,.94);display:flex;position:relative}.diary-date-strip-item:after{content:"";background:var(--accent,#e65100);border-radius:5px;width:60%;height:3px;transition:transform .3s cubic-bezier(.25,.46,.45,.94);position:absolute;bottom:0;left:50%;transform:translate(-50%)scaleX(0)}.diary-date-strip-item.active:after{transform:translate(-50%)scaleX(1)}.diary-date-strip-item:hover{color:var(--foreground,#eee);background:0 0}.diary-date-strip-item:active{transform:none}.diary-date-strip-item.active{color:var(--accent,#e65100);background:0 0}.diary-date-strip-item.today{font-weight:700}.diary-date-strip-item.today:before{content:"";background:#2196f3;border-radius:5px;width:60%;height:3px;position:absolute;top:0;left:50%;transform:translate(-50%)}.diary-date-strip-item.active.today{color:var(--accent,#e65100);font-weight:700}.diary-date-strip-item.completed{border:1.5px solid var(--green,#4ade80);border-radius:8px;animation:2.4s ease-in-out infinite diary-date-glow-pulse}@keyframes diary-date-glow-pulse{0%,to{box-shadow:inset 0 0 4px 0 color-mix(in srgb, var(--green,#4ade80) 25%, transparent)}50%{box-shadow:inset 0 0 10px 2px color-mix(in srgb, var(--green,#4ade80) 55%, transparent)}}.diary-date-strip-weekday{text-transform:uppercase;letter-spacing:.3px;opacity:.75;font-size:.6rem}.diary-date-strip-daynum{font-size:.9rem;font-weight:600}.diary-date-strip-month{color:var(--text-light,#888);text-transform:uppercase;letter-spacing:.3px;margin-top:-1px;font-size:.55rem;font-weight:500}.diary-top-panel{flex-shrink:0;margin-bottom:.6rem;transition:height .35s cubic-bezier(.25,.46,.45,.94);position:relative}.diary-top-panel:after{content:"";background:var(--border);border-radius:999px;height:4px;position:absolute;bottom:0;left:0;right:0}.diary-top-panel.is-dragging,.diary-top-panel.is-dragging .diary-top-panel-content{transition:none}.diary-top-panel-content{will-change:transform;transition:transform .35s cubic-bezier(.25,.46,.45,.94);position:absolute;top:0;left:0;right:0;overflow:hidden}.diary-widgets{contain:layout;flex-shrink:0;margin-bottom:1rem}.diary-widgets-row{flex-shrink:0;align-items:flex-start;gap:.5rem;margin-bottom:1rem;display:flex}.diary-widgets-row>.diary-widgets{flex:0 0 60%;width:60%;min-width:0;margin-bottom:0}.diary-widgets-row>.timeline-carousel{flex-direction:column;flex:0 0 40%;align-self:stretch;width:40%;min-width:0;margin-bottom:0;display:flex}.diary-widgets-row .timeline-chart-wrap{flex:1;justify-content:center;align-items:center;min-height:120px;padding:.2rem .15rem .1rem;display:flex}.diary-widgets-row .timeline-empty{flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.diary-widgets-row .timeline-header{padding:.35rem .6rem}.diary-widgets-row .timeline-title{font-size:.6rem}.diary-widgets-row .timeline-change{padding:.1rem .35rem;font-size:.6rem}.diary-widgets-row .timeline-footer{padding:.2rem .6rem .3rem}.diary-widgets-row .timeline-range,.diary-widgets-row .timeline-count{font-size:.52rem}.diary-date-strip-actions{flex-shrink:0;align-items:stretch;margin-left:auto;display:flex}.diary-date-strip-streak{border-left:1px solid var(--card-border);color:var(--green,#4ade80);white-space:nowrap;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:4px 8px;font-size:.95rem;font-weight:700;display:flex}.diary-date-strip-streak-icon{font-size:.85rem;line-height:1}.diary-date-strip-streak-count{line-height:1}.diary-date-strip-cal-btn{border:none;border-left:1px solid var(--card-border);color:var(--text-muted,#aaa);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;justify-content:center;align-items:center;padding:6px 10px;transition:color .2s cubic-bezier(.25,.46,.45,.94),background .2s cubic-bezier(.25,.46,.45,.94);display:flex}.diary-date-strip-cal-btn:hover{color:var(--accent,#e65100);background:var(--accent-dim,#e6510014)}.diary-date-strip-date-picker{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.diary-calendar-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);background:#00000080;justify-content:center;align-items:center;animation:.2s diary-cal-fadein;display:flex;position:fixed;inset:0}@keyframes diary-meal-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes diary-cal-fadein{0%{opacity:0}to{opacity:1}}.diary-calendar-popover{background:var(--card-bg,#1e1e1e);border:1px solid var(--border,#333);border-radius:5px;width:min(320px,90vw);padding:1rem;animation:.25s cubic-bezier(.34,1.56,.64,1) diary-cal-pop;box-shadow:0 12px 40px #00000080}@keyframes diary-cal-pop{0%{opacity:0;transform:scale(.9)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.diary-cal-header{justify-content:space-between;align-items:center;margin-bottom:.85rem;display:flex}.diary-cal-nav{width:32px;height:32px;color:var(--text-muted,#aaa);cursor:pointer;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;transition:background .2s cubic-bezier(.25,.46,.45,.94),color .2s cubic-bezier(.25,.46,.45,.94);display:flex}.diary-cal-nav:hover{background:var(--accent-dim,#e651001a);color:var(--accent,#e65100)}.diary-cal-month-label{color:var(--text,#fff);font-size:.85rem;font-weight:700}.diary-cal-today-btn{border:1px solid var(--border,#333);color:var(--accent,#e65100);cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;background:0 0;border-radius:5px;align-items:center;margin-left:auto;padding:4px 10px;font-size:.7rem;font-weight:600;transition:color .2s cubic-bezier(.25,.46,.45,.94),background .2s cubic-bezier(.25,.46,.45,.94);display:inline-flex}.diary-cal-today-btn:hover{color:#fff;background:var(--accent,#e65100)}.diary-cal-weekdays{grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:.4rem;display:grid}.diary-cal-weekday{text-align:center;color:var(--text-muted,#888);text-transform:uppercase;letter-spacing:.5px;padding:4px 0;font-size:.65rem;font-weight:600}.diary-cal-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.diary-cal-empty{aspect-ratio:1}.diary-cal-day{aspect-ratio:1;color:var(--text,#ddd);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;font-size:.8rem;font-weight:500;transition:background .2s cubic-bezier(.25,.46,.45,.94),color .2s cubic-bezier(.25,.46,.45,.94),transform .2s cubic-bezier(.25,.46,.45,.94);display:flex}.diary-cal-day:hover{background:var(--accent-dim,#e651001f);color:var(--accent,#e65100)}.diary-cal-day:active{transform:scale(.9)}.diary-cal-day.today{color:var(--accent,#e65100);background:#e6510014;font-weight:700}.diary-cal-day.active{background:var(--accent,#e65100);color:#fff;font-weight:700}.diary-compact-card{will-change:padding, box-shadow;cursor:pointer;-webkit-tap-highlight-color:transparent;background:linear-gradient(135deg,#2196f31a,#03a9f40f);border:1px solid #2196f32e;border-radius:5px;flex-direction:column;padding:.55rem .85rem;transition:padding .7s cubic-bezier(.25,.46,.45,.94),border-radius .7s cubic-bezier(.25,.46,.45,.94),box-shadow .7s cubic-bezier(.25,.46,.45,.94),border-color .25s cubic-bezier(.25,.46,.45,.94);display:flex;overflow:hidden}.diary-compact-card:hover{border-color:#2196f361}.diary-compact-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.diary-compact-header-chevron{color:var(--text-muted);opacity:.7;flex-shrink:0;margin-left:auto;transition:opacity .2s cubic-bezier(.25,.46,.45,.94)}.diary-compact-header-pct~.diary-compact-header-chevron{margin-left:4px}.diary-compact-card:hover .diary-compact-header-chevron{opacity:1}.diary-compact-collapsible{opacity:1;filter:blur();will-change:max-height, opacity, filter;max-height:260px;transition:max-height .7s cubic-bezier(.25,.46,.45,.94),opacity .6s cubic-bezier(.25,.46,.45,.94),filter .5s cubic-bezier(.25,.46,.45,.94),margin .7s cubic-bezier(.25,.46,.45,.94),padding .7s cubic-bezier(.25,.46,.45,.94);overflow:hidden}.diary-compact-card.is-sticky{border-radius:5px;padding:.35rem .85rem;box-shadow:0 4px 12px #00000026}.diary-compact-card.is-sticky .diary-compact-collapsible{opacity:0;filter:blur(8px);pointer-events:none;max-height:0;margin:0;padding:0}.diary-compact-sticky-row{opacity:0;filter:blur(8px);will-change:max-height, opacity, filter;max-height:0;transition:max-height .7s cubic-bezier(.25,.46,.45,.94),opacity .6s cubic-bezier(.25,.46,.45,.94),filter .5s cubic-bezier(.25,.46,.45,.94);overflow:hidden}.diary-compact-card.is-sticky .diary-compact-sticky-row{opacity:1;filter:blur();flex-direction:row;align-items:stretch;gap:.5rem;width:100%;max-height:64px;display:flex}.diary-compact-sticky-item{flex-direction:column;flex:1;align-items:flex-start;gap:.1rem;min-width:0;display:flex}.diary-compact-sticky-label{color:var(--text-muted,#999);text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;font-size:.5rem;font-weight:700;line-height:1}.diary-compact-sticky-progress{width:100%}.diary-compact-sticky-bar{background:var(--border,#333);border-radius:5px;width:100%;height:3px;overflow:hidden}.diary-compact-sticky-bar-fill{background:var(--accent,#e65100);will-change:width;border-radius:5px;height:100%;transition:width .6s cubic-bezier(.25,.46,.45,.94)}.diary-compact-sticky-bar-fill.over,.diary-compact-sticky-bar-fill.protein.over,.diary-compact-sticky-bar-fill.sugar.over{background:var(--red,#f44336)}.diary-compact-sticky-bar-fill.protein,.diary-compact-sticky-bar-fill.sugar{background:var(--blue,#1565c0)}.diary-compact-sticky-values{color:var(--foreground,#eee);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.7rem;font-weight:800;line-height:1}.diary-compact-sticky-value{color:var(--accent,#e65100)}.diary-compact-sticky-value.negative,.diary-compact-sticky-value.over{color:var(--red,#f44336)}.diary-compact-sticky-slash{color:var(--text-muted,#666);font-size:.65rem;font-weight:600}.diary-compact-sticky-goal{color:var(--text-muted,#888);font-size:.65rem;font-weight:600}.diary-compact-card.is-sticky~.diary-meals-list{margin-top:0}.diary-goals-met-badge{color:#22c55e;background:linear-gradient(135deg,#34d3991f,#34d3990a);border:1.5px solid #34d39959;border-radius:5px;justify-content:center;align-items:center;gap:8px;margin-top:8px;padding:.55rem 1rem;font-size:.8rem;font-weight:700;display:flex}.diary-goals-met-icon{font-size:1.1rem}.diary-compact-header{align-items:center;gap:6px;margin-bottom:.1rem;display:flex}.diary-compact-header-icon{font-size:1rem}.diary-compact-header-label{color:var(--text-muted,#aaa);text-transform:uppercase;letter-spacing:.4px;font-size:.62rem;font-weight:700}.diary-compact-header-pct{color:var(--accent,#e65100);margin-left:auto;font-size:.68rem;font-weight:700}.diary-compact-progress-wrap{flex-direction:column;gap:4px;margin-bottom:.3rem;display:flex}.diary-compact-progress-bar{background:var(--border,#333);border-radius:6px;width:100%;height:8px;overflow:hidden}.diary-compact-progress-fill{background:linear-gradient(90deg, var(--accent,#e65100), var(--accent-bright,#ff9800));border-radius:6px;min-width:0;height:100%;transition:width .4s cubic-bezier(.25,.46,.45,.94)}.diary-compact-progress-fill.over{background:linear-gradient(90deg, var(--red-dark,#dc2626), var(--red,#f87171))}.diary-compact-progress-text{color:var(--text-muted,#888);text-align:right;font-size:.58rem;font-weight:600}.diary-compact-progress-text.over{color:var(--red,#f87171)}.cal-goal-met{box-shadow:0 0 0 4px #22c55e1f, 0 8px 24px var(--shadow-md)!important;border-color:#22c55e80!important}.any-goal-met{border-left:3px solid #22c55e!important}.diary-compact-progress-wrap.goal-met{background:linear-gradient(135deg,#34d3990f,#34d39905);border-radius:5px;margin:0 -4px;padding:6px 8px}.diary-compact-progress-fill.goal-met{transition:width .6s cubic-bezier(.22,1,.36,1),background .3s,box-shadow .3s;box-shadow:0 0 8px #34d39966;background:linear-gradient(90deg,#34d399,#22c55e)!important}.diary-compact-progress-text.goal-met{font-weight:700;color:#22c55e!important}.diary-compact-macro-item.goal-met .diary-compact-bar-fill.goal-met{box-shadow:0 0 6px #34d39959;background:linear-gradient(90deg,#34d399,#22c55e)!important}.diary-compact-macro-values.goal-met{font-weight:700;color:#22c55e!important}.diary-compact-bar-fill.steps.goal-met,.diary-compact-bar-fill.steps.met{box-shadow:0 0 6px #34d39959;background:linear-gradient(90deg,#34d399,#22c55e)!important}.diary-compact-progress-fill,.diary-compact-bar-fill{transition:width .6s cubic-bezier(.22,1,.36,1),background .3s,box-shadow .3s}.diary-compact-cal-row{align-items:stretch;gap:0;margin:0 -.1rem;display:flex}.diary-compact-cal-item{flex-direction:column;flex:1;align-items:flex-start;gap:.05rem;min-width:0;padding:.2rem .1rem;display:flex}.diary-compact-cal-label{color:var(--text-muted,#999);text-transform:uppercase;letter-spacing:.3px;font-size:.55rem;font-weight:600}.diary-compact-cal-value{color:var(--foreground,#eee);font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:800;line-height:1.1}.diary-compact-cal-value.exercise{color:var(--blue,#2196f3)}.diary-compact-cal-value.remaining{color:var(--accent,#e65100)}.diary-compact-cal-value.remaining.negative{color:var(--red,#f44336)}.diary-compact-dividers{margin:0}.diary-compact-divider-wrap{background:var(--border,#333);border-radius:5px;width:100%;height:4px;overflow:hidden}.diary-compact-divider-fill{background:var(--blue,#1565c0);will-change:width;border-radius:5px;height:100%;transition:width .6s cubic-bezier(.25,.46,.45,.94)}.diary-compact-divider-fill.over{background:var(--red,#f44336)}.diary-compact-macros{align-items:stretch;gap:0;display:flex}.diary-compact-macro-item{flex-direction:column;flex:1;gap:.2rem;padding:0 .3rem;display:flex}.diary-compact-macro-bar-row{align-items:center;gap:.3rem;width:100%;display:flex}.diary-compact-macro-bar-row .diary-compact-bar{flex:1}.diary-compact-macro-label{color:var(--text-muted,#999);text-transform:uppercase;letter-spacing:.4px;font-size:.6rem;font-weight:600}.diary-compact-macro-values{color:var(--foreground,#eee);font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right;font-size:.7rem;font-weight:700}.diary-compact-macro-values.over{color:var(--red,#f44336)}.diary-compact-macro-goal{color:var(--text-muted,#888);font-size:.85em;font-weight:500}.diary-compact-macro-value{color:var(--foreground,#eee);font-variant-numeric:tabular-nums;font-size:.85rem;font-weight:700}.diary-compact-macro-value.over{color:var(--red,#f44336)}.diary-compact-unit{color:var(--text-muted,#888);font-size:.6rem;font-weight:500}.diary-compact-bar{background:var(--border,#333);border-radius:5px;width:100%;height:3px;overflow:hidden}.diary-compact-bar-fill{will-change:width;border-radius:5px;height:100%;transition:width .6s cubic-bezier(.25,.46,.45,.94)}.diary-compact-bar-fill.protein{background:var(--blue,#1565c0)}.diary-compact-bar-fill.protein.over{background:var(--red,#f44336)}.diary-compact-bar-fill.sugar{background:var(--blue,#1565c0)}.diary-compact-bar-fill.sugar.over{background:var(--red,#f44336)}.diary-compact-bar-fill.steps{background:var(--orange-light)}.diary-compact-bar-fill.steps.met{background:var(--accent)}.diary-compact-macros-header{align-items:center;gap:5px;margin-top:.05rem;display:flex}.diary-compact-macros-header-icon{color:var(--text-muted,#999);align-items:center;display:flex}.diary-compact-macros-header-label{color:var(--text-muted,#aaa);text-transform:uppercase;letter-spacing:.4px;font-size:.62rem;font-weight:700}.diary-meals-list{-webkit-overflow-scrolling:touch;contain:layout;flex-direction:column;flex:1;gap:.7rem;min-height:0;display:flex;overflow-y:auto}.diary-compact-bottom-row{align-items:stretch;gap:.75rem;margin-top:.5rem;display:flex}.diary-compact-pie-wrap{border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;align-items:center;gap:.35rem;padding-right:.75rem;display:flex}.diary-compact-pie-label{color:var(--text-muted,#888);text-transform:uppercase;letter-spacing:.3px;font-size:.55rem;font-weight:700}.diary-compact-pie{border-radius:50%;flex-shrink:0;width:52px;height:52px}.diary-compact-pie-legend{flex-direction:column;gap:1px;display:flex}.pie-legend-item{color:var(--text-muted,#888);align-items:center;gap:4px;font-size:.52rem;font-weight:500;display:flex}.pie-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.diary-compact-weight-spark{border-left:1px solid var(--border);flex-direction:column;flex:1 1 0;align-items:center;gap:.12rem;min-width:0;padding-left:.45rem;display:flex}.diary-compact-weight-spark-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;font-size:.45rem;font-weight:700}.diary-compact-weight-spark-svg{flex-shrink:0;width:56px;height:22px}.diary-compact-weight-spark-change{white-space:nowrap;font-size:.48rem;font-weight:600;line-height:1}.diary-compact-weight-spark-change.down{color:var(--green-bright,#34a853)}.diary-compact-weight-spark-change.up{color:var(--red-dark,#dc2626)}.diary-compact-macros-side{border-right:1px solid var(--border);flex-direction:column;flex:1 1 0;gap:.35rem;min-width:0;padding-right:.75rem;display:flex}.diary-compact-macros-side-label{color:var(--text-muted,#888);text-transform:uppercase;letter-spacing:.3px;font-size:.55rem;font-weight:700}.diary-compact-steps-side{box-sizing:border-box;min-width:0;font:inherit;color:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:4px;flex-direction:column;flex:1 1 0;gap:.2rem;margin:0;padding:.1rem .15rem;transition:background .2s cubic-bezier(.25,.46,.45,.94);display:flex;overflow:hidden}.diary-compact-steps-side:hover{background:var(--hover-bg)}.diary-compact-steps-side:active{background:var(--hover-bg-active)}.diary-compact-steps-side:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.diary-compact-steps-chevron{vertical-align:middle;opacity:.7;flex-shrink:0;margin-left:auto}.diary-compact-steps-side:hover .diary-compact-steps-chevron{opacity:1}.diary-compact-steps-body{flex-direction:column;flex:1;justify-content:center;gap:.2rem;display:flex}.diary-compact-steps-goal{color:var(--text-muted,#888);text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;text-overflow:ellipsis;align-items:center;font-size:.52rem;font-weight:600;display:flex;overflow:hidden}.diary-compact-steps-value{color:var(--heading);font-variant-numeric:tabular-nums;word-break:break-word;font-size:1.15rem;font-weight:800;line-height:1}.diary-compact-steps-value.met{color:var(--accent)}.diary-compact-steps-target{color:var(--text-muted,#888);text-align:right;font-size:.6rem;font-weight:500}.diary-compact-macro-sm{color:var(--foreground,#ccc);text-align:right;min-width:28px;font-size:.6rem;font-weight:600}.diary-compact-macro-sm.over{color:var(--red,#f87171)}.diary-meal-section{background:var(--card-bg,#1e1e1e);border:1px solid var(--border);border-radius:5px;flex-shrink:0;overflow:hidden}.diary-section-header{background:var(--card-bg);border-bottom:1px solid var(--border);align-items:center;gap:.5rem;padding:.65rem .9rem;display:flex}.diary-section-name{color:var(--foreground,#eee);text-transform:uppercase;letter-spacing:.5px;font-size:.85rem;font-weight:600}.diary-section-labels{flex-shrink:0;gap:.35rem;display:flex}.diary-section-label-tag{color:var(--text-muted,#999);background:var(--card-bg);border:1px solid var(--border);white-space:nowrap;border-radius:5px;padding:.1rem .45rem;font-size:.6rem;font-weight:500;line-height:1.4}.diary-section-kcal{color:var(--text-muted,#aaa);margin-left:auto;font-size:.78rem;font-weight:600}.diary-section-ai-btn{border:1px solid var(--ai-purple-soft,#6a1b9a4d);background:var(--ai-soft-bg,#6a1b9a14);color:var(--ai-purple,#9c27b0);cursor:pointer;border-radius:5px;flex-shrink:0;align-items:center;gap:4px;margin-left:auto;padding:.3rem .6rem;font-size:.68rem;font-weight:600;transition:all .25s cubic-bezier(.25,.46,.45,.94);display:inline-flex}.diary-section-ai-btn:hover{background:var(--ai-purple,#9c27b0);color:#fff;border-color:var(--ai-purple,#9c27b0)}.diary-section-ai-btn:active{transform:scale(.95)}.diary-section-ai-btn svg{flex-shrink:0}.diary-section-body{padding:0}.diary-meal-entry{cursor:pointer;border-bottom:1px solid var(--border);align-items:stretch;min-height:60px;padding:0;transition:background .2s cubic-bezier(.25,.46,.45,.94);animation:.3s cubic-bezier(.22,1,.36,1) both diary-meal-in;display:flex}.diary-meal-entry:last-child{border-bottom:none}.diary-meal-entry:hover{background:var(--hover-bg,#2a2a2a)}.diary-meal-entry:active{background:var(--hover-bg-active,#333)}.diary-meal-entry.exercise{border-left:3px solid var(--blue,#2196f3)}.diary-meal-cover-wrap{background:var(--card-bg);border-right:1px solid var(--border);flex-shrink:0;align-self:stretch;width:72px;position:relative;overflow:hidden}.diary-meal-cover{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.diary-meal-icon{background:var(--card-bg);border-right:1px solid var(--border);flex-shrink:0;justify-content:center;align-items:center;width:72px;min-height:60px;font-size:1.2rem;display:flex}.diary-meal-info{flex-direction:column;flex:1;gap:.15rem;min-width:0;padding:.65rem .9rem;display:flex}.diary-meal-title{color:var(--foreground,#eee);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.88rem;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.diary-meal-title-list{flex-direction:column;gap:.15rem;margin:0;padding:0 0 0 1.1rem;list-style:outside;display:flex}.diary-meal-title-item{color:var(--foreground,#eee);font-size:.78rem;font-weight:700;line-height:1.35}.diary-meal-title-item::marker{color:var(--accent,#e65100);font-size:.65rem}.diary-meal-title-qty{color:var(--text-muted,#999);font-size:.65rem;font-weight:700}.diary-meal-label{color:var(--text-muted,#999);font-size:.68rem;font-weight:500}.diary-meal-side{border-left:1px solid var(--border);flex-direction:column;flex-shrink:0;justify-content:center;align-items:flex-end;gap:.35rem;padding:.5rem .75rem;display:flex}.diary-meal-actions{align-self:stretch}.diary-meal-actions+.diary-meal-cal{border-top:1px solid var(--border);align-self:stretch;padding-top:.35rem}.diary-meal-cal{text-align:left;flex-direction:column;flex-shrink:0;justify-content:center;gap:.35rem;min-width:76px;display:flex}.diary-meal-kcal-row{align-items:baseline;gap:.25rem;display:flex}.diary-meal-kcal{font-variant-numeric:tabular-nums;color:var(--foreground,#eee);font-size:1.05rem;font-weight:800;line-height:1}.diary-meal-kcal.exercise{color:var(--blue,#2196f3)}.diary-meal-unit{color:var(--text-muted,#888);text-transform:uppercase;letter-spacing:.3px;font-size:.58rem;font-weight:600}.diary-meal-macros{flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}.diary-macro-chip{white-space:nowrap;border-radius:999px;align-items:center;padding:0 .4rem;font-size:.6rem;font-weight:700;line-height:1.5;display:inline-flex}.diary-macro-chip.macro-p{color:var(--blue,#4dabf7);background:var(--blue,#4dabf7)}@supports (color:color-mix(in lab, red, red)){.diary-macro-chip.macro-p{background:color-mix(in srgb, var(--blue,#4dabf7) 16%, transparent)}}.diary-macro-chip.macro-s{color:var(--purple,#b388ff);background:var(--purple,#b388ff)}@supports (color:color-mix(in lab, red, red)){.diary-macro-chip.macro-s{background:color-mix(in srgb, var(--purple,#b388ff) 16%, transparent)}}.diary-section-empty{justify-content:center;align-items:center;padding:.7rem .9rem;display:flex}.diary-empty-text{color:var(--text-muted,#666);font-size:.85rem}.diary-add-btn{border:1px dashed var(--border);color:var(--text-muted,#aaa);cursor:pointer;background:0 0;border-radius:5px;justify-content:center;align-items:center;gap:.4rem;width:100%;padding:.5rem 1rem;font-size:.78rem;font-weight:500;transition:all .25s cubic-bezier(.25,.46,.45,.94);display:flex}.diary-add-btn:hover{border-color:var(--accent,#e65100);color:var(--accent,#e65100);background:var(--accent-dim,#e6510014)}.diary-add-btn:active{transform:scale(.98)}.diary-meal-actions{flex-direction:row;flex-shrink:0;justify-content:flex-end;align-items:center;gap:.3rem;display:flex}.diary-status-btn{border:1.5px solid var(--border,#444);width:22px;height:22px;color:var(--text-muted,#8a847c);cursor:pointer;opacity:.6;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:all .2s cubic-bezier(.25,.46,.45,.94);display:inline-flex}.diary-meal-entry:hover .diary-status-btn{opacity:1}.diary-status-btn:hover{transform:scale(1.15)}.diary-status-btn.confirm:hover{color:var(--green-bright,#34a853);border-color:var(--green-bright,#34a853);background:#34a8531a}.diary-status-btn.confirm.active{opacity:1;color:var(--green-bright,#34a853);border-color:var(--green-bright,#34a853);background:0 0}.diary-status-btn.skip:hover{color:var(--red-dark,#dc2626);border-color:var(--red-dark,#dc2626);background:#dc262614}.diary-status-btn.skip.active{opacity:1;color:var(--red-dark,#dc2626);border-color:var(--red-dark,#dc2626);background:0 0}.diary-status-btn.refresh:hover{color:var(--accent,#e65100);border-color:var(--accent,#e65100);background:#e651001a}.diary-meal-entry.status-confirmed{border-left:3px solid var(--green-bright,#34a853)}.diary-meal-entry.status-skipped{opacity:.55;border-left:3px solid var(--red-dark,#dc2626)}.diary-meal-title.skipped{color:var(--text-muted,#999);text-decoration:line-through}.timeline-card{background:var(--card-bg,#1e1e1e);border:1px solid var(--border);box-sizing:border-box;border-radius:5px;overflow:hidden}.timeline-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.timeline-title{color:var(--foreground);text-transform:uppercase;letter-spacing:.4px;font-size:.72rem;font-weight:700}.timeline-change{letter-spacing:.2px;border-radius:5px;padding:.15rem .5rem;font-size:.68rem;font-weight:600}.timeline-change.down{color:var(--green-bright,#34a853);background:#34a8531a}.timeline-change.up{color:var(--accent,#e65100);background:#e6510014}.timeline-chevron{color:var(--text-muted);opacity:.5;flex-shrink:0;margin-left:2px;transition:opacity .2s,transform .2s}.timeline-card:hover .timeline-chevron{opacity:.8;transform:translate(1px)}.timeline-chart-wrap{box-sizing:border-box;width:100%;padding:.35rem .25rem .15rem;overflow:hidden}.timeline-svg{width:100%;height:auto;display:block}.timeline-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:.35rem .75rem .5rem;display:flex}.timeline-range{color:var(--text-muted);font-size:.62rem;font-weight:500}.timeline-count{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;font-size:.58rem;font-weight:500}.timeline-empty{text-align:center;color:var(--text-muted);padding:1.25rem .75rem;font-size:.72rem;line-height:1.4}.timeline-carousel{box-sizing:border-box;width:100%;min-width:0;position:relative;overflow:hidden}.timeline-carousel-timer{z-index:4;background:0 0;height:2px;position:absolute;top:0;left:0;right:0}.timeline-carousel-timer-fill{background:var(--accent,#e65100);will-change:width;border-radius:0 1px 1px 0;height:100%}.timeline-carousel-dots{z-index:1;justify-content:center;align-items:center;gap:6px;padding:.35rem 0 .15rem;display:flex;position:relative}.timeline-carousel-dot{background:var(--border);cursor:pointer;border:none;border-radius:50%;width:6px;height:6px;padding:0;transition:background .2s,transform .2s}.timeline-carousel-dot:hover{transform:scale(1.3)}.timeline-carousel-dot.active{background:var(--accent,#e65100);box-shadow:0 0 5px var(--accent-glow,#e651004d)}.timeline-carousel-track{touch-action:pan-y;width:100%;overflow:hidden}.timeline-carousel-slides{width:200%;display:flex}.timeline-carousel-slide{box-sizing:border-box;flex-shrink:0;width:50%}.timeline-carousel-slide .timeline-card{box-sizing:border-box;width:100%;height:100%}@media (max-width:640px){.diary-page-shell{padding:.65rem;padding-top:calc(.65rem + var(--safe-top,0px))}.diary-track-page{padding:0 .5rem 6px}.diary-date-strip-item{min-width:40px;padding:8px}.diary-date-strip-weekday{font-size:.55rem}.diary-date-strip-daynum{font-size:.8rem}.diary-date-strip-cal-btn{padding:4px 6px}.diary-date-strip-streak{gap:4px;padding:3px 6px;font-size:.82rem}.diary-date-strip-streak-icon{font-size:.75rem}.diary-date-strip-wrap{margin-bottom:.35rem}.diary-widgets-row{flex-direction:row;gap:.35rem;margin-bottom:.5rem}.diary-widgets-row>.diary-widgets{flex:0 0 52%;width:52%;min-width:0;margin-bottom:0}.diary-widgets-row>.timeline-carousel{flex-direction:column;flex:0 0 48%;align-self:stretch;width:48%;min-width:0;display:flex}.diary-widgets-row .timeline-header{gap:.15rem;padding:.25rem .4rem}.diary-widgets-row .timeline-title{font-size:.5rem}.diary-widgets-row .timeline-change{padding:.05rem .25rem;font-size:.5rem}.diary-widgets-row .timeline-chart-wrap{flex:1;justify-content:center;align-items:center;min-height:96px;padding:.1rem .1rem 0;display:flex}.diary-widgets-row .timeline-svg{width:100%;min-width:0}.diary-widgets-row .timeline-footer{padding:.1rem .4rem .2rem}.diary-widgets-row .timeline-range,.diary-widgets-row .timeline-count{font-size:.45rem}.diary-widgets-row .timeline-empty{padding:.3rem;font-size:.6rem}.diary-widgets{margin-bottom:.5rem}.diary-top-panel{min-height:0}.diary-compact-card{padding:.35rem .55rem}.diary-compact-header{gap:4px;margin-bottom:.05rem}.diary-compact-header-icon{font-size:.85rem}.diary-compact-header-label{letter-spacing:.3px;font-size:.55rem}.diary-compact-header-pct{font-size:.6rem}.diary-compact-cal-item{gap:.02rem;padding:.1rem .05rem}.diary-compact-cal-label{letter-spacing:.2px;font-size:.48rem}.diary-compact-cal-value{font-size:.8rem;line-height:1}.diary-compact-progress-bar{height:6px}.diary-compact-progress-wrap{gap:2px;margin-bottom:.2rem}.diary-compact-progress-text{font-size:.5rem}.diary-compact-bottom-row{gap:.3rem;margin-top:.2rem}.diary-compact-weight-spark{gap:.06rem;padding-left:.3rem}.diary-compact-weight-spark-label{font-size:.38rem}.diary-compact-weight-spark-svg{width:40px;height:16px}.diary-compact-weight-spark-change{font-size:.4rem}.diary-compact-pie{width:38px;height:38px}.diary-compact-pie-wrap{gap:.1rem}.diary-compact-pie-label{font-size:.45rem}.diary-compact-pie-legend{flex-direction:row;gap:.25rem}.pie-legend-item{gap:0;font-size:0}.pie-dot{width:7px;height:7px}.diary-compact-steps-side{gap:.15rem}.diary-compact-steps-goal{font-size:.42rem}.diary-compact-steps-value{font-size:.9rem}.diary-compact-macros-side{flex-direction:column;gap:.25rem}.diary-compact-macros-side-label{font-size:.45rem;display:flex}.diary-compact-macros-side .diary-compact-macro-item{flex-direction:column;flex:1;gap:.15rem;padding:0}.diary-compact-macros-side .diary-compact-macro-label{font-size:.45rem}.diary-compact-macros-side .diary-compact-macro-values{font-size:.52rem}.diary-compact-macros-side .diary-compact-macro-goal{font-size:.48rem}.diary-compact-macros-side .diary-compact-bar{width:100%;height:3px}.diary-compact-macro-sm{text-align:right;flex-shrink:0;min-width:22px;font-size:.5rem}.diary-meals-list{padding-bottom:calc(85px + var(--safe-bottom,0px));gap:.3rem}.diary-section-header{gap:.2rem;padding:.25rem .4rem}.diary-section-name{letter-spacing:.2px;font-size:.6rem}.diary-section-label-tag{padding:.04rem .2rem;font-size:.45rem;line-height:1.2}.diary-section-ai-btn{border-radius:3px;gap:1px;padding:.1rem .25rem;font-size:.48rem;line-height:1}.diary-section-ai-btn svg{width:8px;height:8px}.diary-status-btn{width:18px;height:18px}.diary-status-btn svg{width:8px;height:8px}.diary-meal-side{gap:.2rem;padding:.4rem .55rem .4rem .4rem}.diary-meal-actions+.diary-meal-cal{padding-top:.2rem}.diary-meal-actions{gap:.2rem}.diary-meal-entry{min-height:48px}.diary-meal-cover-wrap{width:56px}.diary-meal-icon{width:56px;min-height:48px;font-size:1rem}.diary-meal-info{gap:.1rem;padding:.4rem .55rem}.diary-meal-title{-webkit-line-clamp:1;font-size:.75rem}.diary-meal-title-list{gap:.1rem;padding-left:.9rem}.diary-meal-title-item{font-size:.68rem}.diary-meal-title-qty{font-size:.58rem}.diary-meal-macros{gap:.2rem}.diary-macro-chip{padding:0 .3rem;font-size:.52rem}.diary-meal-cal{gap:.2rem;min-width:62px}.diary-meal-kcal{font-size:.82rem}.diary-meal-unit{font-size:.5rem}.diary-section-empty{padding:.4rem .55rem}.diary-add-btn{padding:.35rem .7rem;font-size:.7rem}.diary-add-btn svg{width:12px;height:12px}.diary-compact-card.is-sticky{padding:.25rem .55rem}.diary-compact-card.is-sticky .diary-compact-sticky-row{gap:.35rem}.diary-compact-sticky-item{gap:.05rem}.diary-compact-sticky-label{font-size:.45rem}.diary-compact-sticky-values{font-size:.6rem}.diary-compact-sticky-slash,.diary-compact-sticky-goal{font-size:.55rem}.diary-compact-sticky-bar{height:2px}.diary-meal-entry .diary-status-btn{opacity:.8;width:22px;height:22px}.diary-meal-entry.status-skipped{opacity:.7}.timeline-card{margin-bottom:.35rem}.timeline-header{padding:.35rem .5rem}.timeline-title{font-size:.6rem}.timeline-change{padding:.1rem .35rem;font-size:.58rem}.timeline-chart-wrap{padding:.2rem .15rem .1rem}.timeline-footer{padding:.25rem .5rem .35rem}.timeline-range{font-size:.55rem}.timeline-count{font-size:.5rem}.timeline-empty{padding:1rem .5rem;font-size:.65rem}}@media (min-width:641px) and (max-width:1024px){.diary-page-shell{max-width:600px;padding:1rem}.diary-widgets-desktop{grid-template-columns:repeat(3,1fr)}.diary-meals-list{padding-bottom:calc(80px + var(--safe-bottom,0px))}}@media (min-width:1025px){.diary-page-shell{max-width:800px;padding:1.5rem}}.diary-page-shell .dashboard-loading,.diary-page-shell .dashboard-empty{text-align:center;color:var(--text-muted,#999);flex-direction:column;justify-content:center;align-items:center;padding:3rem 1rem;display:flex}.diary-page-shell .loading-spinner{border:3px solid var(--border);border-top-color:var(--accent,#e65100);border-radius:50%;width:32px;height:32px;margin-bottom:.75rem;animation:.7s linear infinite diary-spin}@keyframes diary-spin{to{transform:rotate(360deg)}}.weight-tracker-modal{flex-direction:column;width:100%;max-width:520px;max-height:90vh;display:flex;overflow:hidden}.weight-tracker-body{flex:1;min-height:0;padding:0;overflow-y:auto}.weight-tracker-content{flex-direction:column;gap:.875rem;padding:0 1.25rem 1.25rem;display:flex}.wt-stats-bar{background:linear-gradient(135deg, var(--accent-dim,#e651000f), var(--card-bg,#1e1e2e));background-clip:padding-box;border:1px solid #0000;border-radius:12px;align-items:center;gap:0;margin-bottom:.25rem;padding:.5rem .7rem;display:flex;position:relative}.wt-stats-bar:before{content:"";background:linear-gradient(135deg, #e6510040, #e651000d, var(--border));-webkit-mask-composite:xor;pointer-events:none;-webkit-mask-composite:xor;-webkit-mask-source-type:auto,auto;-webkit-mask-composite:xor;-webkit-mask-source-type:auto,auto;border-radius:12px;padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.wt-stat-item{flex-direction:column;flex:1;align-items:center;gap:.1rem;min-width:0;display:flex}.wt-stat-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:.6rem;font-weight:600}.wt-stat-value{color:var(--foreground);font-size:1.15rem;font-weight:700;line-height:1.2}.wt-stat-unit{color:var(--text-muted);opacity:.7;font-size:.6rem}.wt-stat-change{font-weight:800}.wt-stat-change.up{color:var(--red-dark,#dc2626)}.wt-stat-change.down{color:var(--green-bright,#34a853)}.wt-stat-value.wt-stat-latest{color:var(--accent,#e65100);font-size:1.3rem}.wt-stat-divider{background:var(--border);opacity:.5;flex-shrink:0;width:1px;height:32px;margin:0 .5rem}.weight-tracker-timeline{margin:0 -1.25rem;padding:0 1.25rem}.weight-tracker-timeline .weight-timeline{border:1px solid var(--border);background:var(--card-bg,#1e1e2e);border-radius:10px;padding:.75rem}.weight-tracker-error{color:#f87171;background:#dc262614;border:1px solid #dc262633;border-radius:8px;align-items:center;gap:.4rem;padding:.5rem .75rem;font-size:.82rem;display:flex}.weight-tracker-input{border:1.5px solid var(--border);background:var(--card-bg,#1e1e2e);color:var(--foreground);box-sizing:border-box;border-radius:8px;outline:none;width:100%;padding:.35rem .55rem;font-family:DM Sans,system-ui,sans-serif;font-size:.78rem;line-height:1.3;transition:border-color .2s,box-shadow .2s,background .2s}.weight-tracker-input:hover{background:var(--card-bg,#1e1e2e);border-color:#e651004d}@supports (color:color-mix(in lab, red, red)){.weight-tracker-input:hover{background:color-mix(in srgb, var(--card-bg,#1e1e2e) 98%, var(--accent))}}.weight-tracker-input:focus{border-color:var(--accent);background:var(--card-bg,#1e1e2e);box-shadow:0 0 0 3px #e651001f,0 1px 3px #0003}.weight-tracker-input::placeholder{color:var(--text-muted);opacity:.5;font-weight:400}.weight-tracker-input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.weight-tracker-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.weight-tracker-input[type=number]{-moz-appearance:textfield}.wt-input-group{align-items:stretch;display:flex;position:relative}.wt-input-group .weight-tracker-input{border-top-right-radius:0;border-bottom-right-radius:0;padding-right:1.8rem}.wt-input-suffix{border:1px solid var(--border);background:var(--card-bg-alt,#252535);color:var(--text-muted);white-space:nowrap;border-left:none;border-radius:0 8px 8px 0;flex-shrink:0;align-items:center;padding:0 .4rem;font-size:.65rem;font-weight:500;display:flex}.wt-btn-loading{align-items:center;gap:.35rem;display:flex}.wt-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.6s linear infinite wt-spin}@keyframes wt-spin{to{transform:rotate(360deg)}}.weight-tracker-list{flex-direction:column;gap:0;display:flex}.wt-empty-state{text-align:center;color:var(--text-muted);padding:1.5rem 0;font-size:.85rem}.wt-table{border:1px solid var(--border);background:#34a8530f;border-radius:10px;flex-direction:column;display:flex;overflow:hidden}.wt-table-header{background:linear-gradient(135deg, var(--accent-dim,#e6510014), #e6510005);border-bottom:2px solid var(--accent-dim,#e6510026);align-items:center;gap:.35rem;padding:.3rem .65rem;display:flex}.wt-th{color:var(--accent,#e65100);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;opacity:.85;font-size:.6rem;font-weight:700}.wt-th-date,.wt-td-date{flex:0 0 110px}.wt-th-weight,.wt-td-weight{text-align:center;flex:0 0 80px}.wt-th-change,.wt-td-change{text-align:center;flex:0 0 50px}.wt-th-photo,.wt-td-photo{text-align:center;flex:0 0 44px}.wt-th-actions,.wt-td-actions{text-align:right;flex:1}.wt-table-row{border-bottom:1px solid var(--border);background:var(--card-bg,#1e1e2e);animation:.3s both wt-row-in;animation-delay:calc(var(--wt-idx,0) * 30ms);align-items:center;gap:.35rem;padding:.25rem .65rem;transition:background .15s;display:flex}.wt-table-row:last-child{border-bottom:none}.wt-table-row:hover{background:var(--hover-bg,#ffffff05)}.wt-table-row.editing{background:#e651000a}.wt-table-row.deleting{background:#ef44440a}@keyframes wt-row-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.wt-td{align-items:center;min-width:0;display:flex}.wt-td-date{color:var(--foreground);font-size:.72rem;font-weight:500}.wt-td-weight{justify-content:center;gap:.15rem}.wt-entry-weight{color:var(--foreground);font-variant-numeric:tabular-nums;font-size:.8rem;font-weight:700}.wt-entry-unit{color:var(--text-muted);font-size:.55rem;font-weight:500}.wt-entry-trend{font-size:.75rem;font-weight:700;transition:color .3s}.wt-entry-trend.trend-up{color:var(--red-dark,#dc2626)}.wt-entry-trend.trend-down{color:var(--green-bright,#34a853)}.wt-entry-trend.trend-neutral{color:var(--text-muted,#888)}.wt-td-photo{justify-content:center}.wt-entry-thumb-wrap{flex-shrink:0;display:inline-flex;position:relative}.wt-entry-thumb{object-fit:cover;border:1px solid var(--border);cursor:pointer;border-radius:6px;flex-shrink:0;width:30px;height:30px;transition:transform .2s}.wt-entry-thumb:hover{transform:scale(1.1)}.wt-entry-thumb-remove{border:1.5px solid var(--card-bg,#1e1e2e);background:var(--foreground,#e0e0e0);width:15px;height:15px;color:var(--background,#1e1e2e);cursor:pointer;z-index:1;opacity:0;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:all .15s;display:inline-flex;position:absolute;top:-5px;right:-5px}.wt-table-row:hover .wt-entry-thumb-remove,.wt-entry-thumb-remove:focus-visible{opacity:1}.wt-entry-thumb-remove:hover{color:#fff;background:#ef4444;border-color:#ef4444}.wt-trend-placeholder{color:var(--text-muted);font-size:.75rem}.wt-photo-placeholder{color:var(--text-muted);opacity:.5;flex-shrink:0}.wt-td-actions{justify-content:flex-end;gap:.2rem}.wt-add-row{background:linear-gradient(135deg, var(--accent-dim,#e651000f), var(--card-bg-alt,#252535));border-bottom:2px solid var(--accent,#e65100)}.wt-add-row .wt-td{padding-top:.45rem;padding-bottom:.45rem}.wt-add-row .wt-td-date .weight-tracker-input,.wt-add-row .wt-td-weight .wt-input-group .weight-tracker-input{border-color:var(--border)}.wt-add-row .wt-td-date .weight-tracker-input:focus,.wt-add-row .wt-td-weight .wt-input-group .weight-tracker-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px #e651001f}.wt-add-row .wt-action-btn.save{border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;padding:0;display:inline-flex}.wt-add-row .wt-action-btn.save:hover:not(:disabled){opacity:.85;background:var(--accent,#e65100);color:#fff}.wt-add-row .wt-spinner{width:14px;height:14px}.wt-add-row-hint{color:var(--text-muted);background:var(--card-bg-alt,#252535);border-bottom:1px solid var(--border);word-break:break-word;box-sizing:border-box;align-items:center;gap:.3rem;padding:.35rem .65rem;font-size:.72rem;display:flex;overflow:hidden}.wt-camera-btn-wrap{flex-shrink:0;display:inline-flex;position:relative}.wt-camera-btn{border:1px dashed var(--border);width:36px;height:36px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:all .15s;display:inline-flex;overflow:hidden}.wt-camera-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--accent-dim,#e651000f)}.wt-camera-btn:disabled{opacity:.4;cursor:not-allowed}.wt-camera-thumb{object-fit:cover;border-radius:7px;width:100%;height:100%}.wt-camera-remove{border:1.5px solid var(--card-bg,#1e1e2e);background:var(--foreground,#e0e0e0);width:18px;height:18px;color:var(--background,#1e1e2e);cursor:pointer;z-index:1;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:all .15s;display:inline-flex;position:absolute;top:-6px;right:-6px}.wt-camera-remove:hover:not(:disabled){color:#fff;background:#ef4444;border-color:#ef4444}.wt-camera-remove:disabled{opacity:.4;cursor:not-allowed}.wt-action-btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px;justify-content:center;align-items:center;padding:.3rem .45rem;font-size:.75rem;font-weight:500;line-height:1;transition:all .15s;display:inline-flex}.wt-action-btn:hover{border-color:var(--accent);color:var(--accent);background:#e651000a}.wt-action-btn.edit:hover{color:#3b82f6;background:#3b82f60f;border-color:#3b82f6}.wt-action-btn.delete-btn:hover{color:#ef4444;background:#ef44440f;border-color:#ef4444}.wt-action-btn.icon-btn{border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;padding:0;line-height:1;display:inline-flex}.wt-action-btn.icon-btn svg{display:block}.wt-action-btn.save{background:var(--accent,#e65100);color:#fff;border-color:var(--accent,#e65100)}.wt-action-btn.save:hover{opacity:.85;background:var(--accent,#e65100);color:#fff}.wt-action-btn.cancel{color:var(--text-muted);border-color:var(--text-muted)}.wt-action-btn.cancel:hover{color:#fff;background:var(--text-muted)}.wt-action-btn.delete-confirm{color:#fff;background:#ef4444;border-color:#ef4444}.wt-action-btn.delete-confirm:hover{opacity:.85;color:#fff;background:#ef4444}.wt-action-btn:disabled{opacity:.5;cursor:not-allowed}.wt-td-date .weight-tracker-input{border-color:var(--accent);background:var(--background);width:100%;min-width:80px;color:var(--foreground);border-radius:6px;padding:.3rem .45rem;font-size:.78rem;transition:border-color .2s,box-shadow .2s,background .2s}.wt-td-date .weight-tracker-input:focus{border-color:var(--accent);background:var(--background);box-shadow:0 0 0 2px #e6510026}.wt-td-weight .wt-input-group .weight-tracker-input{border-color:var(--accent);background:var(--card-bg,#1e1e2e);border-top-right-radius:0;border-bottom-right-radius:0;min-width:60px;padding:.3rem .4rem;font-size:.78rem;transition:border-color .2s,box-shadow .2s,background .2s}.wt-td-weight .wt-input-group .weight-tracker-input:focus{border-color:var(--accent);background:var(--card-bg,#1e1e2e);box-shadow:0 0 0 2px #e6510026}.wt-td-weight .wt-input-group .wt-input-suffix{border-color:var(--accent);background:var(--card-bg-alt,#252535);padding:0 .4rem;font-size:.7rem}.wt-input-sm{border:1px solid var(--border);background:var(--background);color:var(--foreground);box-sizing:border-box;border-radius:6px;outline:none;width:100%;padding:.3rem .45rem;font-family:DM Sans,system-ui,sans-serif;font-size:.78rem;transition:border-color .2s,box-shadow .2s}.wt-input-sm:focus{border-color:var(--accent);box-shadow:0 0 0 2px #e6510026}.wt-td-photo .image-uploader{gap:0}.wt-td-photo .image-uploader-label,.wt-td-photo .image-uploader-text{display:none}.wt-td-photo .image-uploader-remove{opacity:1;transform:scale(1)}.wt-lightbox-overlay{z-index:9999;cursor:pointer;background:#000000d9;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.wt-lightbox-close{color:#fff;cursor:pointer;z-index:1;background:#ffffff26;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:background .15s;display:flex;position:absolute;top:1rem;right:1rem}.wt-lightbox-close:hover{background:#ffffff4d}.wt-lightbox-img{object-fit:contain;cursor:default;border-radius:8px;max-width:90vw;max-height:85vh}.wt-td-delete-msg{color:var(--foreground);align-items:center;gap:.5rem;width:100%;font-size:.8rem;display:flex}.wt-td-delete-msg strong{font-weight:600}.wt-td-delete-msg .wt-action-btn{flex-shrink:0}@media (max-width:640px){.weight-tracker-modal{border-radius:0;width:100%;max-width:100%;height:100dvh;max-height:100dvh;margin:0}.weight-tracker-form-row{flex-wrap:wrap}.weight-field-weight{flex:1}.wt-stats-bar{gap:0;padding:.6rem .65rem}.wt-stat-divider{margin:0 .3rem}.wt-stat-value{font-size:1rem}.wt-table{border-radius:8px}.wt-table-header{display:none}.wt-table-row{flex-wrap:wrap;gap:.3rem;padding:.5rem .55rem}.wt-td-date{flex:none;font-size:.75rem}.wt-td-weight{flex:none;gap:.1rem}.wt-entry-weight{font-size:.82rem}.wt-td-change,.wt-td-photo{flex:none}.wt-td-actions{flex:none;gap:.15rem;margin-left:auto}.wt-entry-thumb{width:26px;height:26px}.wt-td-date .weight-tracker-input{max-width:110px;padding:.3rem .4rem;font-size:.72rem}.wt-td-weight .wt-input-group .weight-tracker-input{max-width:50px;padding:.3rem .4rem;font-size:.72rem}.wt-td-weight .wt-input-group .wt-input-suffix{padding:0 .3rem;font-size:.6rem}.wt-action-btn{padding:.25rem .35rem;font-size:.68rem}.wt-input-sm{padding:.3rem .4rem;font-size:.72rem}.wt-td-delete-msg{flex-wrap:wrap;font-size:.72rem}.weight-tracker-content{gap:.6rem;padding:0 .75rem .75rem}}.diary-meal-entry.draggable{cursor:grab;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.diary-meal-entry.draggable:active{cursor:grabbing}.diary-meal-entry.drag-source{opacity:.35;border-style:dashed;border-color:var(--accent);cursor:grabbing}.diary-meal-section.can-drop{transition:border-color .18s,box-shadow .18s,background .18s}.diary-meal-section.drop-target{box-shadow:inset 0 0 0 2px var(--accent), 0 4px 16px var(--shadow-sm2);background:var(--accent-soft,#e651000f);border-color:var(--accent)!important}.diary-meal-section.drop-target .diary-section-empty .diary-add-btn{border-color:var(--accent);color:var(--accent);background:var(--accent-dim,#e6510014)}.diary-delete-zone{z-index:9998;background:var(--card-bg,#1e1e1e);border:2px solid var(--border);width:56px;height:56px;color:var(--text-muted);opacity:0;pointer-events:none;box-shadow:0 4px 16px var(--shadow-soft);border-radius:50%;justify-content:center;align-items:center;transition:opacity .22s cubic-bezier(.25,.46,.45,.94),transform .22s cubic-bezier(.34,1.56,.64,1),border-color .18s,background .18s,color .18s,box-shadow .18s;display:flex;position:fixed;bottom:24px;right:24px;transform:scale(.6)}.diary-delete-zone.visible{opacity:.9;pointer-events:auto;transform:scale(1)}.diary-delete-zone.over{border-color:var(--red,#f44336);color:var(--red,#f44336);background:#f443361f;transform:scale(1.15);box-shadow:0 6px 24px #f4433640}.diary-drag-ghost{z-index:9999;pointer-events:none;will-change:transform;contain:layout style paint;background:var(--card-bg,#1e1e1e);border:1px solid var(--accent);max-width:200px;box-shadow:0 8px 24px var(--shadow-md);border-radius:5px;padding:.45rem;display:none;position:fixed;top:0;left:0}.diary-drag-ghost.is-active{display:block}.diary-drag-ghost .ghost-inner{align-items:center;gap:.4rem;display:flex}.diary-drag-ghost .ghost-thumb{object-fit:cover;background:var(--border);border-radius:4px;width:36px;min-width:36px;height:36px}.diary-drag-ghost .ghost-icon{background:var(--accent-soft);border-radius:4px;justify-content:center;align-items:center;width:36px;min-width:36px;height:36px;font-size:1.2rem;display:flex}.diary-drag-ghost .ghost-details{flex-direction:column;gap:.15rem;min-width:0;display:flex;overflow:hidden}.diary-drag-ghost .ghost-title{color:var(--heading);white-space:nowrap;text-overflow:ellipsis;font-size:.7rem;font-weight:600;line-height:1.2;overflow:hidden}.diary-drag-ghost .ghost-meta{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.58rem;overflow:hidden}@media (max-width:640px){.diary-delete-zone{bottom:calc(16px + var(--safe-bottom,0px));width:48px;height:48px;right:16px}.diary-delete-zone svg{width:20px;height:20px}.diary-drag-ghost{max-width:160px;padding:.35rem}.diary-drag-ghost .ghost-thumb,.diary-drag-ghost .ghost-icon{width:28px;min-width:28px;height:28px}.diary-drag-ghost .ghost-title{font-size:.62rem}.diary-drag-ghost .ghost-meta{font-size:.52rem}}.legal-page{background:var(--background);min-height:100dvh;color:var(--foreground)}.legal-container{max-width:800px;margin:0 auto;padding:3rem 1.5rem 5rem}.legal-back{color:var(--accent);align-items:center;gap:.35rem;margin-bottom:2rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:opacity .15s;display:inline-flex}.legal-back:hover{opacity:.75}.legal-container h1{font-family:var(--font-display);color:var(--foreground);margin-bottom:.25rem;font-size:clamp(1.75rem,5vw,2.5rem)}.legal-date{color:var(--text-muted);margin-bottom:2.5rem;font-size:.85rem}.legal-container section{margin-bottom:2.25rem}.legal-container h2{color:var(--foreground);margin-bottom:.75rem;font-size:1.2rem;font-weight:600}.legal-container p{color:var(--foreground);margin-bottom:.75rem;font-size:.95rem;line-height:1.7}.legal-container ul{flex-direction:column;gap:.4rem;margin-bottom:1rem;padding-left:1.5rem;list-style:outside;display:flex}.legal-container li{color:var(--foreground);font-size:.95rem;line-height:1.65}.legal-container a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.legal-container a:hover{opacity:.75}.legal-container strong{font-weight:600}.base-modal-backdrop{background:var(--overlay-darker);-webkit-backdrop-filter:blur(4px);z-index:1000;justify-content:center;align-items:flex-end;padding:0;animation:.2s cubic-bezier(.22,1,.36,1) base-modal-fade-in;display:flex;position:fixed;inset:0}@media (min-width:500px){.base-modal-backdrop{align-items:center;padding:1rem}}.base-modal{background:var(--card);width:100%;max-width:500px;max-height:92dvh;box-shadow:0 -10px 40px var(--shadow-md);border-top-left-radius:1.2rem;border-top-right-radius:1.2rem;flex-direction:column;animation:.3s cubic-bezier(.22,1,.36,1) base-modal-slide-up;display:flex;position:relative;overflow:hidden}@media (min-width:500px){.base-modal{max-height:90dvh;box-shadow:0 20px 60px var(--shadow-xl2);border-radius:5px;animation:.2s cubic-bezier(.22,1,.36,1) base-modal-fade-in}}@keyframes base-modal-slide-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes base-modal-fade-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.base-modal-backdrop--closing{animation:.25s cubic-bezier(.22,1,.36,1) forwards base-modal-fade-out}.base-modal--closing{animation:.25s cubic-bezier(.22,1,.36,1) forwards base-modal-slide-down}@keyframes base-modal-fade-out{0%{opacity:1}to{opacity:0}}@keyframes base-modal-slide-down{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(100%)}}.base-modal-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:1rem 1.25rem .75rem;display:flex}@media (min-width:500px){.base-modal-header{padding:1.25rem 1.5rem .75rem}}.base-modal-title{color:var(--foreground);margin:0;font-size:1.05rem;font-weight:700;line-height:1.3}.base-modal-close{cursor:pointer;width:32px;height:32px;color:var(--text-light);background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .18s cubic-bezier(.22,1,.36,1),color .18s cubic-bezier(.22,1,.36,1),transform .18s cubic-bezier(.22,1,.36,1);display:flex}.base-modal-close:hover{background:var(--hover-bg);color:var(--foreground)}.base-modal-close:active{background:var(--hover-bg-active)}.base-modal-body{-webkit-overflow-scrolling:touch;flex:1;padding:1rem 1.25rem;overflow-y:auto}@media (min-width:500px){.base-modal-body{padding:1rem 1.5rem 1.25rem}}.base-modal-body--flush{flex-direction:column;min-height:0;padding:0;display:flex}.base-modal-drag-handle{display:none}@media (max-width:499px){.base-modal-drag-handle{background:var(--border);z-index:1;pointer-events:none;touch-action:none;border-radius:3px;width:40px;height:5px;display:block;position:absolute;top:8px;left:50%;transform:translate(-50%)}.base-modal-header:first-of-type{padding-top:1.5rem}}@keyframes base-modal-swipe-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(100%)}}.base-modal-footer{border-top:1px solid var(--border);background:var(--card);flex-shrink:0;gap:10px;padding:.85rem 1.25rem;display:flex}@media (min-width:500px){.base-modal-footer{padding:.85rem 1.5rem}}.ai-trigger-btn{background:linear-gradient(135deg, var(--ai-bg-start), var(--ai-bg-end));border:1.5px dashed var(--accent-mix);width:100%;color:var(--ai-purple-dark);cursor:pointer;border-radius:5px;justify-content:center;align-items:center;gap:8px;margin-bottom:.6rem;padding:.55rem .9rem;font-family:DM Sans,sans-serif;font-size:.82rem;font-weight:600;transition:background .15s,border-color .15s,transform .1s;display:inline-flex}.ai-trigger-btn:hover{background:var(--ai-bg-end);border-color:var(--ai-purple);transform:translateY(-1px)}.ai-trigger-btn:active{transform:translateY(0)}.ai-trigger-btn svg{color:var(--ai-purple)}.ai-modal{background:var(--card);width:100%;max-width:520px;height:auto;min-height:450px;max-height:88dvh;box-shadow:0 25px 80px var(--shadow-lg), 0 0 0 1px #a78bfa26 inset;border-radius:5px;flex-direction:column;animation:.3s cubic-bezier(.16,1,.3,1) modalSlideUp;display:flex;position:relative;overflow:hidden}.ai-modal-header{z-index:2;background:linear-gradient(135deg,#1a0a3e 0%,#0d1b3e 50%,#0a1628 100%);border-bottom:1px solid #a78bfa26;flex-shrink:0;padding:.9rem 1.1rem .75rem;position:relative}.ai-modal-header-top{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.ai-modal-brand{color:#a78bfa;text-transform:uppercase;letter-spacing:.8px;align-items:center;gap:7px;font-size:.72rem;font-weight:700;display:flex}.ai-modal-brand svg{color:#c4b5fd}.ai-modal-close-btn{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:#ffffff0f;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s,transform .15s;display:flex}.ai-modal-close-btn:hover{color:#c4b5fd;background:#a78bfa26;transform:rotate(90deg)}.ai-modal-title{color:#e8e0f0;margin:0;font-family:Playfair Display,serif;font-size:1.1rem;font-weight:700;line-height:1.25}.ai-modal-subtitle{color:#c8bedcb3;margin:.3rem 0 0;font-size:.75rem;line-height:1.35}.ai-modal-body{-webkit-overflow-scrolling:touch;scroll-behavior:smooth;background:linear-gradient(#1a0a3e4d 0%,#0000 8px);flex:1;padding:.75rem 1rem;overflow:hidden auto}.ai-modal-body::-webkit-scrollbar{width:3px}.ai-modal-body::-webkit-scrollbar-track{background:0 0}.ai-modal-body::-webkit-scrollbar-thumb{background:linear-gradient(#a78bfa,#38bdf8);border-radius:5px}.modal-body::-webkit-scrollbar{width:4px}.modal-body::-webkit-scrollbar-track{background:0 0}.modal-body::-webkit-scrollbar-thumb{background:linear-gradient(#a78bfa,#38bdf8);border-radius:5px}.modal-body::-webkit-scrollbar-thumb:hover{background:linear-gradient(#c4b5fd,#60cffa)}.modal-section-scroll::-webkit-scrollbar{width:3px}.modal-section-scroll::-webkit-scrollbar-track{background:0 0}.modal-section-scroll::-webkit-scrollbar-thumb{background:linear-gradient(#a78bfa,#38bdf8);border-radius:5px}.modal-section-scroll::-webkit-scrollbar-thumb:hover{background:linear-gradient(#c4b5fd,#60cffa)}.modal-tab-content::-webkit-scrollbar{width:3px}.modal-tab-content::-webkit-scrollbar-track{background:0 0}.modal-tab-content::-webkit-scrollbar-thumb{background:linear-gradient(#a78bfa,#38bdf8);border-radius:5px}.modal-tab-content::-webkit-scrollbar-thumb:hover{background:linear-gradient(#c4b5fd,#60cffa)}.modal-body,.modal-section-scroll,.modal-tab-content{scrollbar-width:thin;scrollbar-color:#a78bfa transparent}.ai-input-section{flex-direction:column;justify-content:center;align-items:center;gap:.6rem;min-height:100%;padding:.75rem 0;display:flex}.ai-input-card{background:linear-gradient(135deg,#a78bfa0a,#38bdf80a);border:1px solid #a78bfa1f;border-radius:5px;width:100%;padding:.85rem 1rem;box-shadow:0 2px 8px #00000014}.ai-input-icon-wrap{color:var(--accent-mix);opacity:.6;justify-content:center;margin-bottom:.5rem;display:flex}.ai-dropzone{cursor:pointer;color:var(--text-muted);border:2px dashed #a78bfa40;border-radius:5px;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:100px;padding:.85rem .75rem;transition:border-color .15s,background .15s;display:flex}.ai-dropzone:hover{color:#a78bfa;background:#a78bfa0f;border-color:#a78bfa}.ai-dropzone.drag-over{color:#38bdf8;background:#38bdf814;border-style:solid;border-color:#38bdf8}.ai-dropzone svg{opacity:.5;transition:opacity .15s}.ai-dropzone:hover svg,.ai-dropzone.drag-over svg{opacity:1}.ai-dropzone-text{flex-direction:column;align-items:center;gap:2px;font-size:.78rem;display:flex}.ai-dropzone-text strong{color:var(--foreground);font-weight:600}.ai-dropzone-text span{color:var(--text-muted);font-size:.72rem}.ai-dropzone-hint{color:#c8bedc80;font-size:.64rem}.ai-image-upload-preview{border:1.5px solid #a78bfa33;border-radius:5px;position:relative;overflow:hidden}.ai-image-upload-img{object-fit:cover;width:100%;height:150px;display:block}.ai-image-upload-remove{-webkit-backdrop-filter:blur(6px);color:#fff;cursor:pointer;background:#0000008c;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;transition:background .15s;display:flex;position:absolute;top:6px;right:6px}.ai-image-upload-remove:hover{background:#dc2626b3}.ai-result-section{flex-direction:column;flex:1;padding:.15rem 0;display:flex}.ai-review-tab-bar{background:#a78bfa0d;border:1px solid #a78bfa1a;border-radius:5px;gap:3px;margin-bottom:.6rem;padding:3px;display:flex}.ai-review-tab{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:5px;flex:1;justify-content:center;align-items:center;gap:5px;padding:.45rem .4rem;font-size:.7rem;font-weight:600;transition:all .15s;display:flex}.ai-review-tab:hover{color:#c4b5fd;background:#a78bfa14}.ai-review-tab.active{color:#1a0a3e;background:linear-gradient(135deg,#a78bfa,#38bdf8);box-shadow:0 2px 8px #a78bfa4d}.ai-review-tab.active svg{color:#1a0a3e}.ai-review-tab svg{color:var(--text-muted);flex-shrink:0}.ai-review-tab.active svg{opacity:1;color:#1a0a3e}.ai-review-tab-content{flex-direction:column;flex:1;min-height:0;padding:0;display:flex}.ai-sub-tab-bar{background:#38bdf80a;border:1px solid #38bdf81a;border-radius:5px;gap:2px;margin:0 0 .5rem;padding:2px;display:flex}.ai-sub-tab{color:var(--text-muted);cursor:pointer;white-space:nowrap;opacity:.7;background:0 0;border:none;border-radius:5px;flex:1;justify-content:center;align-items:center;gap:4px;padding:.35rem .3rem;font-size:.65rem;font-weight:600;transition:all .15s;display:flex}.ai-sub-tab:hover{opacity:1;color:#38bdf8;background:#38bdf80f}.ai-sub-tab.active{opacity:1;color:#0a1628;background:linear-gradient(135deg,#38bdf8,#22d3ee);box-shadow:0 2px 6px #38bdf840}.ai-sub-tab svg{opacity:.7;flex-shrink:0}.ai-sub-tab.active svg{opacity:1;color:#0a1628}@media (prefers-color-scheme:dark){.ai-sub-tab-bar{background:#38bdf80a}.ai-sub-tab.active{background:linear-gradient(135deg,#38bdf8,#22d3ee);box-shadow:0 2px 6px #38bdf840}}.ai-input-textarea{width:100%;color:var(--foreground);resize:vertical;scrollbar-width:none;-ms-overflow-style:none;background:#00000026;border:1.5px solid #a78bfa26;border-radius:5px;outline:none;min-height:60px;padding:.55rem .65rem;font-family:DM Sans,sans-serif;font-size:.82rem;line-height:1.5;transition:border-color .15s,box-shadow .15s}.ai-input-textarea::-webkit-scrollbar{display:none}.ai-input-textarea:focus{border-color:#a78bfa;box-shadow:0 0 0 3px #a78bfa1f}.ai-input-textarea::placeholder{color:var(--text-light)}.ai-error-banner{color:#f87171;background:#dc262614;border:1px solid #dc262633;border-radius:5px;align-items:center;gap:6px;margin-top:.55rem;padding:.5rem .65rem;font-size:.75rem;font-weight:500;display:flex}.ai-error-banner svg{flex-shrink:0}.ai-loading-section{justify-content:center;align-items:center;min-height:100%;display:flex}.ai-loading-card{text-align:center;padding:1.5rem 1rem}.ai-loading-orbs{justify-content:center;gap:7px;margin-bottom:1rem;display:flex}.ai-loading-orb{background:#a78bfa;border-radius:50%;width:10px;height:10px;animation:1.2s ease-in-out infinite pulseOrb}.ai-loading-orb:first-child{background:#a78bfa}.ai-loading-orb:nth-child(2){background:#38bdf8;animation-delay:.2s}.ai-loading-orb:nth-child(3){background:#22d3ee;animation-delay:.4s}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes pulseOrb{0%,80%,to{opacity:.4;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.ai-loading-text{color:var(--foreground);margin:0 0 3px;font-size:.85rem;font-weight:600}.ai-loading-hint{color:var(--text-muted);margin:0;font-size:.72rem}.ai-image-card{border:1px solid #a78bfa26;border-radius:5px;margin-bottom:.75rem;position:relative;overflow:hidden;box-shadow:0 4px 12px #0000001a}.ai-image-img{object-fit:cover;width:100%;height:170px;display:block}.ai-image-badge{-webkit-backdrop-filter:blur(8px);color:#fff;background:#00000080;border-radius:5px;padding:.2rem .5rem;font-size:.65rem;font-weight:600;position:absolute;bottom:6px;left:6px}.ai-field-card{background:linear-gradient(135deg,#a78bfa08,#38bdf808);border:1px solid #a78bfa1a;border-radius:5px;gap:8px;margin-bottom:.45rem;padding:.55rem .65rem;transition:border-color .15s;display:flex}.ai-field-card:focus-within{border-color:#a78bfa;box-shadow:0 0 0 3px #a78bfa14}.ai-field-card-icon{border-radius:5px;flex-shrink:0;justify-content:center;align-items:flex-start;width:28px;height:28px;padding-top:6px;display:flex}.ai-field-card-icon.meal{color:#fb923c;background:#fb923c1f}.ai-field-card-icon.recipe{color:#38bdf8;background:#38bdf81f}.ai-field-card-icon.ingredients{color:#34d399;background:#34d3991f}.ai-field-card-icon.nutrition{color:#a78bfa;background:#a78bfa1f}.ai-field-card-content{flex:1;min-width:0}.ai-field-label{text-transform:uppercase;letter-spacing:.5px;color:#c8bedc99;margin-bottom:3px;font-size:.62rem;font-weight:700;display:block}.ai-field-hint{text-transform:none;letter-spacing:0;color:var(--text-light);margin-left:4px;font-size:.6rem;font-weight:400}.ai-field-input{width:100%;color:var(--foreground);background:0 0;border:none;border-bottom:1px dashed #a78bfa26;outline:none;padding:3px 0;font-family:DM Sans,sans-serif;font-size:.82rem;font-weight:600;transition:border-color .15s}.ai-field-input:focus{border-bottom-color:#a78bfa}.ai-field-input[type=number]{font-size:.82rem}.ai-field-textarea{width:100%;color:var(--foreground);resize:vertical;background:#0000001a;border:1px solid #a78bfa1f;border-radius:5px;outline:none;min-height:50px;padding:.4rem .55rem;font-family:DM Sans,sans-serif;font-size:.78rem;line-height:1.5;transition:border-color .15s}.ai-field-textarea:focus{border-color:#a78bfa}.ai-divider{align-items:center;gap:8px;margin:.6rem 0;display:flex}.ai-divider:before,.ai-divider:after{content:"";background:linear-gradient(90deg,#0000,#a78bfa33,#0000);flex:1;height:1px}.ai-divider span{color:#c8bedc66;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;font-size:.68rem;font-weight:700}.ai-url-section{background:linear-gradient(135deg,#a78bfa08,#38bdf808);border:1px solid #a78bfa1f;border-radius:5px;width:100%;margin:0;transition:border-color .2s,box-shadow .2s;overflow:hidden}.ai-url-section:focus-within{border-color:#a78bfa;box-shadow:0 0 0 3px #a78bfa14}.ai-url-section-header{background:#00000005;border-bottom:1px solid #a78bfa14;align-items:center;gap:5px;padding:.5rem .7rem;display:flex}@media (prefers-color-scheme:dark){.ai-url-section-header{background:#0000000d}}.ai-url-section-icon{color:var(--text-muted);opacity:.7;align-items:center;display:flex}.ai-url-section-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-size:.65rem;font-weight:700}.ai-url-input-group{align-items:stretch;gap:0;padding:.45rem .6rem;display:flex}.ai-url-input-wrapper{background:#0000001a;border:1px solid #a78bfa26;border-radius:5px;flex:1;align-items:center;gap:6px;padding:0 .5rem;transition:border-color .2s,box-shadow .2s;display:flex}.ai-url-input-wrapper:focus-within{border-color:#a78bfa;box-shadow:0 0 0 2px #a78bfa14}.ai-url-input-decoration{color:var(--text-muted);opacity:.45;flex-shrink:0}.ai-url-input{color:var(--foreground);background:0 0;border:none;outline:none;flex:1;min-width:0;padding:.45rem 0;font-family:DM Sans,sans-serif;font-size:.8rem}.ai-url-input::placeholder{color:var(--text-muted);opacity:.5;font-size:.75rem}.ai-url-clear-btn{width:22px;height:22px;color:var(--text-muted);cursor:pointer;opacity:.5;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:opacity .15s,background .15s;display:flex}.ai-url-clear-btn:hover{opacity:1;color:#a78bfa;background:#a78bfa1a}@media (prefers-color-scheme:dark){.ai-url-clear-btn:hover{background:#a78bfa1f}}.ai-url-fetch-btn{color:#1a0a3e;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#a78bfa,#38bdf8);border:1px solid #a78bfa;border-radius:5px;flex-shrink:0;align-items:center;gap:4px;margin-left:-1px;padding:0 .75rem;font-family:DM Sans,sans-serif;font-size:.75rem;font-weight:600;transition:all .2s;display:inline-flex}.ai-url-fetch-btn:hover:not(:disabled){background:linear-gradient(135deg,#c4b5fd,#60cffa);box-shadow:0 2px 10px #a78bfa4d}.ai-url-fetch-btn:active:not(:disabled){transform:scale(.97)}.ai-url-fetch-btn:disabled{opacity:.45;cursor:not-allowed}@keyframes ai-spin{to{transform:rotate(360deg)}}.ai-spinner{animation:.8s linear infinite ai-spin}.ai-url-error{color:#f87171;background:#dc26260f;border:1px solid #dc262626;border-radius:5px;align-items:center;gap:5px;margin:0 .6rem .45rem;padding:.35rem .7rem;font-size:.68rem;font-weight:500;display:flex}.ai-url-error svg{flex-shrink:0}@media (prefers-color-scheme:dark){.ai-url-error{background:#dc262614;border-color:#dc262633}.ai-url-input-wrapper{background:#0000001f}.ai-url-section:focus-within{box-shadow:0 0 0 3px #a78bfa1a}}.ai-category-pills{flex-wrap:wrap;gap:6px;margin-bottom:.45rem;display:flex}.ai-category-pill{min-width:70px;color:var(--text-muted);cursor:pointer;text-align:center;background:#0000000d;border:1.5px solid #a78bfa26;border-radius:5px;flex:1;padding:.4rem .55rem;font-family:DM Sans,sans-serif;font-size:.72rem;font-weight:600;transition:all .15s}.ai-category-pill:hover{color:#a78bfa;background:#a78bfa0f;border-color:#a78bfa}.ai-category-pill.active.desi{color:#fb923c;background:linear-gradient(135deg,#fb923c26,#fb923c0d);border-color:#fb923c;box-shadow:0 2px 8px #fb923c33}.ai-category-pill.active.western{color:#38bdf8;background:linear-gradient(135deg,#38bdf826,#38bdf80d);border-color:#38bdf8;box-shadow:0 2px 8px #38bdf833}.ai-category-pill.active.mix{color:#a78bfa;background:linear-gradient(135deg,#a78bfa26,#a78bfa0d);border-color:#a78bfa;box-shadow:0 2px 8px #a78bfa33}.ai-category-pill.active.strength{color:#f44336;background:linear-gradient(135deg,#f4433626,#f443360d);border-color:#f44336;box-shadow:0 2px 8px #f4433626}.ai-category-pill.active.cardio{color:#2196f3;background:linear-gradient(135deg,#2196f326,#2196f30d);border-color:#2196f3;box-shadow:0 2px 8px #2196f326}.ai-category-pill.active.flexibility{color:#4caf50;background:linear-gradient(135deg,#4caf5026,#4caf500d);border-color:#4caf50;box-shadow:0 2px 8px #4caf5026}.ai-modal-footer{z-index:2;background:linear-gradient(#0000 0%,#1a0a3e33 100%);border-top:1px solid #a78bfa1a;flex-shrink:0;gap:8px;padding:.65rem 1rem;display:flex}.ai-btn{cursor:pointer;white-space:nowrap;border:none;border-radius:5px;flex:1;justify-content:center;align-items:center;gap:5px;padding:.55rem .85rem;font-family:DM Sans,sans-serif;font-size:.78rem;font-weight:600;transition:all .15s;display:inline-flex}.ai-btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.ai-btn-ghost{color:#c8bedc99;background:0 0;border:1.5px solid #a78bfa26}.ai-btn-ghost:hover{color:#c4b5fd;background:#a78bfa0f;border-color:#a78bfa}.ai-btn-primary{color:#1a0a3e;background:linear-gradient(135deg,#a78bfa,#38bdf8);box-shadow:0 4px 14px #a78bfa40}.ai-btn-primary:hover{background:linear-gradient(135deg,#c4b5fd,#60cffa);transform:translateY(-1px);box-shadow:0 6px 20px #a78bfa59}.ai-btn-primary:active{transform:translateY(0)}@media (prefers-color-scheme:dark){.ai-trigger-btn{color:#a78bfa;background:linear-gradient(135deg,#a78bfa0f,#38bdf80f);border-color:#a78bfa4d}.ai-trigger-btn:hover{color:#c4b5fd;background:linear-gradient(135deg,#a78bfa1a,#38bdf81a);border-color:#a78bfa80}.ai-trigger-btn svg{color:#a78bfa}.ai-modal{box-shadow:0 25px 80px #00000080,inset 0 0 0 1px #a78bfa1a}.ai-modal-header{background:linear-gradient(135deg,#0d0520 0%,#060e20 50%,#050a14 100%);border-bottom-color:#a78bfa14}.ai-modal-close-btn{background:#ffffff0a}.ai-modal-close-btn:hover{color:#a78bfa;background:#a78bfa1f}.ai-input-textarea{background:#0003;border-color:#a78bfa1a}.ai-input-textarea:focus{border-color:#a78bfa;box-shadow:0 0 0 3px #a78bfa14}.ai-error-banner{background:#dc26260f;border-color:#dc262626}.ai-field-card-icon.meal{background:#fb923c14}.ai-field-card-icon.recipe{background:#38bdf814}.ai-field-card-icon.ingredients{background:#34d39914}.ai-field-card-icon.nutrition{background:#a78bfa14}.ai-field-input{border-bottom-color:#a78bfa1a}.ai-field-textarea{background:#00000026}.ai-category-pill.active.desi{background:linear-gradient(135deg,#fb923c1f,#fb923c08)}.ai-category-pill.active.western{background:linear-gradient(135deg,#38bdf81f,#38bdf808)}.ai-category-pill.active.mix{background:linear-gradient(135deg,#a78bfa1f,#a78bfa08)}.ai-category-pill.active.strength{background:linear-gradient(135deg,#f443361f,#f4433608)}.ai-category-pill.active.cardio{background:linear-gradient(135deg,#2196f31f,#2196f308)}.ai-category-pill.active.flexibility{background:linear-gradient(135deg,#4caf501f,#4caf5008)}.ai-btn-ghost{color:#c8bedc80;border-color:#a78bfa1a}.ai-btn-ghost:hover{color:#a78bfa;background:#a78bfa0f;border-color:#a78bfa}.ai-loading{color:var(--text-muted)}}.dashboard-profile-card{background:var(--card-bg);border:1px solid var(--card-border);box-sizing:border-box;border-radius:5px;flex-direction:column;flex:1;gap:.6rem;width:100%;min-width:0;max-width:100%;margin-bottom:.75rem;padding:1rem;display:flex;box-shadow:0 2px 8px #0000000a}.profile-top-row{flex-flow:row;justify-content:space-between;align-items:center;gap:.75rem;min-width:0;max-width:100%;display:flex}.profile-top-row-left{flex-direction:row;flex-shrink:0;align-items:center;gap:.6rem;min-width:0;display:flex}.profile-avatar{background:linear-gradient(135deg, var(--accent), var(--accent-hover));width:40px;height:40px;color:var(--text-on-accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;font-weight:700;display:flex;overflow:hidden}.profile-avatar.has-image{background:0 0}.profile-avatar-img{object-fit:cover;border-radius:50%;width:100%;height:100%}.profile-info{flex-direction:column;gap:.12rem;min-width:0;display:flex}.profile-name{color:var(--heading);white-space:nowrap;margin:0;font-size:.9rem;font-weight:700}.profile-email{color:var(--text-light);margin:0;font-size:.62rem}.profile-meta-row{flex-wrap:wrap;align-items:center;gap:.3rem;margin-top:.1rem;display:flex}.profile-country{color:var(--text-muted);font-size:.6rem}.profile-privacy-tag{white-space:nowrap;border-radius:4px;padding:1px 6px;font-size:.58rem;font-weight:600;display:inline-block}.profile-privacy-tag.public{background:var(--accent-focus-shadow);color:var(--accent)}.profile-privacy-tag.private{background:var(--amber-soft-bg);color:var(--amber)}.profile-carousel{flex-shrink:0;align-items:center;gap:.25rem;min-width:0;display:flex}.profile-carousel-track{gap:.22rem;display:flex}.profile-carousel-item{background:var(--card-bg);border:1px solid var(--card-border);white-space:nowrap;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:.06rem;padding:.22rem .42rem;transition:opacity .3s,transform .3s;display:flex;box-shadow:0 1px 3px #0000000a}.profile-carousel-val{color:var(--heading);font-size:.62rem;font-weight:700;line-height:1}.profile-carousel-label{text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);opacity:.75;font-size:.48rem;font-weight:600;line-height:1}.profile-carousel-dot{border:1px solid var(--card-border);background:var(--card-bg);width:18px;height:18px;color:var(--text-muted);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:.65rem;line-height:1;transition:color .15s,border-color .15s;display:flex}.profile-carousel-dot:hover{color:var(--accent);border-color:var(--accent)}.profile-stats-row{flex-wrap:wrap;flex-shrink:0;align-items:stretch;gap:.22rem;display:flex}.profile-stat-pill{background:var(--card-bg);border:1px solid var(--card-border);white-space:nowrap;border-radius:4px;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:.08rem;min-width:0;padding:.2rem .42rem;display:flex;box-shadow:0 1px 3px #0000000a}.profile-stat-label{text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);opacity:.75;font-size:.48rem;font-weight:600;line-height:1}.profile-stat-val{color:var(--heading);font-size:.62rem;font-weight:700;line-height:1}.dashboard-page{max-width:1500px;margin:0 auto}.dashboard-loading,.dashboard-empty{text-align:center;color:var(--text-light);padding:4rem 2rem}.loading-spinner{border:3px solid var(--card-border);border-top-color:var(--accent);border-radius:50%;width:36px;height:36px;margin:0 auto 1rem;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.modal-backdrop{background:var(--overlay-darker);-webkit-backdrop-filter:blur(4px);z-index:1000;justify-content:center;align-items:flex-end;padding:0;display:none;position:fixed;inset:0}@media (min-width:500px){.modal-backdrop{align-items:center;padding:1rem}}.modal-backdrop.active{display:flex}.modal{background:var(--card);width:100%;max-width:500px;height:92dvh;max-height:92dvh;box-shadow:0 -10px 40px var(--shadow-md);border-top-left-radius:1.2rem;border-top-right-radius:1.2rem;flex-direction:column;animation:.3s ease-out slideUp;display:flex;position:relative;overflow:hidden}@media (min-width:500px){.modal{height:95dvh;max-height:95dvh;box-shadow:0 20px 60px var(--shadow-xl2);border-radius:5px;animation:.2s ease-out fadeIn}}@media (min-width:1024px){.modal{max-width:min(860px,80vw);height:90dvh;max-height:90dvh}.modal-image-strip{border-radius:5px;height:220px;min-height:180px;max-height:260px}}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-drag-handle{background:var(--card-border);border-radius:5px;flex-shrink:0;width:36px;height:4px;margin:.6rem auto .75rem;display:block}.modal-image-strip+.modal-drag-handle{margin-top:.4rem}@media (min-width:500px){.modal-drag-handle{display:none}}.modal-back-btn{cursor:pointer;color:var(--text-light);z-index:10;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.4rem;transition:color .15s;display:flex;position:absolute;top:.75rem;left:.75rem}.modal-back-btn:hover{background:var(--hover-bg);color:var(--foreground)}.modal-back-btn:active{background:var(--hover-bg-active)}.modal-close{background:var(--overlay-dark,#00000059);-webkit-backdrop-filter:blur(6px);cursor:pointer;color:#fff;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.4rem;transition:background .15s,transform .15s;display:flex;position:absolute;top:.75rem;right:.75rem;z-index:20!important}@media (min-width:500px){.modal-close{top:1rem;right:1rem}}.modal-close:hover{background:var(--red-hover,#dc26268c);transform:scale(1.05)}.modal-close:active{transform:scale(.95)}.confirm-modal-backdrop{background:var(--overlay-darker);-webkit-backdrop-filter:blur(4px);z-index:2000;justify-content:center;align-items:center;padding:1rem;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}.confirm-modal{background:var(--card);border:1px solid var(--border);text-align:center;border-radius:5px;flex-direction:column;align-items:center;gap:.5rem;width:100%;max-width:380px;padding:1.5rem 1.75rem;animation:.2s ease-out fadeIn,.2s ease-out slideUp;display:flex;box-shadow:0 20px 60px #00000080}.confirm-modal-shell{max-width:400px}.confirm-modal-body{text-align:center;flex-direction:column;align-items:center;gap:.5rem;padding:.5rem 0 .25rem;display:flex}.confirm-modal-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:.15rem;animation:.28s cubic-bezier(.34,1.56,.64,1) confirm-icon-pop;display:flex}.confirm-modal-icon-danger{background:var(--error-bg);box-shadow:0 0 0 6px var(--red-soft)}.confirm-modal-icon-warning{background:var(--warning-bg);box-shadow:0 0 0 6px var(--warning-bg)}.confirm-modal-icon-info{background:var(--hover-bg);box-shadow:0 0 0 6px var(--hover-bg)}@keyframes confirm-icon-pop{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.confirm-modal-title{color:var(--heading);text-wrap:balance;margin:0;font-family:Playfair Display,serif;font-size:1.15rem;font-weight:700;line-height:1.3}.confirm-modal-message{color:var(--text-muted);word-break:break-word;text-wrap:pretty;max-width:32ch;margin:0;font-size:.85rem;line-height:1.55}.confirm-modal-btn{cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;border-radius:5px;flex:1;padding:.62rem 1rem;font-family:DM Sans,sans-serif;font-size:.82rem;font-weight:600;transition:background .15s,filter .15s,opacity .15s,transform .12s}.confirm-modal-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.confirm-modal-btn:disabled{opacity:.55;cursor:not-allowed}.confirm-modal-btn-secondary{background:var(--hover-bg);color:var(--foreground)}.confirm-modal-btn-secondary:hover:not(:disabled){background:var(--hover-bg-active)}.confirm-modal-btn-primary{color:#fff;background:var(--red-dark)}.confirm-modal-btn-primary[data-variant=warning]{background:var(--amber-dark)}.confirm-modal-btn-primary[data-variant=info]{background:var(--blue)}.confirm-modal-btn-primary:hover:not(:disabled){filter:brightness(1.15)}.confirm-modal-btn-primary:active:not(:disabled){filter:brightness(.9);transform:scale(.98)}.confirm-modal-btn-loading{justify-content:center;align-items:center;gap:6px;display:inline-flex}.modal-header{border-bottom:1px solid var(--border);flex-shrink:0;padding:0 1.5rem .75rem}@media (max-width:500px){.modal-header{padding:0 1rem .75rem}}@media (min-width:500px){.modal-header{border-bottom:none;padding:0 2rem .75rem}}.modal-header-row{align-items:center;gap:12px;margin-top:15px;margin-bottom:10px;display:flex}.modal-header-left,.modal-header-right{flex:1;min-width:0}.modal-category{text-transform:uppercase;letter-spacing:1px;color:var(--accent);font-size:.7rem;font-weight:600}.modal-header-sub{align-items:center;gap:8px;margin-block:6px 8px;display:flex}.modal-mealkey{text-transform:capitalize;letter-spacing:.5px;color:var(--accent);font-size:1rem;font-weight:600}.modal-date{color:var(--accent);opacity:.8;font-size:.72rem}.modal-label-picker{gap:6px;margin-bottom:8px;display:flex}.modal-label-opt{border:1.5px solid var(--border);color:var(--foreground);cursor:pointer;background:0 0;border-radius:5px;flex:1;padding:5px 8px;font-family:DM Sans,sans-serif;font-size:.78rem;font-weight:500;transition:all .15s}.modal-label-opt.active{border-color:var(--accent);background:var(--accent-dim,var(--accent-focus-shadow));box-shadow:0 0 0 3px var(--accent-soft,#6c5ce70f);font-weight:600}.modal-label-opt:hover{border-color:var(--accent);transform:translateY(-1px)}.modal-label-opt:active{transform:translateY(0)}.modal-title{color:var(--accent);white-space:pre-line;margin:0;padding-right:2rem;font-family:Playfair Display,serif;font-size:1.2rem;font-weight:700;line-height:1.3}.modal-title-input{border:2px solid var(--border);background:var(--background);width:100%;color:var(--accent);border-radius:5px;outline:none;margin:0;padding:.5rem .6rem;font-family:Playfair Display,serif;font-size:1.2rem;font-weight:700;line-height:1.3;transition:border-color .15s}.modal-title-input:focus{border-color:var(--accent)}.modal-title-textarea{resize:vertical;min-height:2.5rem;max-height:8rem;line-height:1.5}.modal-title-textarea::-webkit-scrollbar{width:4px}.modal-title-textarea::-webkit-scrollbar-track{background:0 0}.modal-title-textarea::-webkit-scrollbar-thumb{background:var(--border);border-radius:5px}.title-suggestions-dropdown{background:var(--card);border:1px solid var(--border);box-shadow:0 8px 24px var(--shadow-xl);z-index:100;border-radius:5px;margin-top:4px;padding:6px;position:absolute;top:100%;left:0;right:0;overflow:hidden}.title-suggestion-list{flex-direction:column;gap:2px;max-height:280px;display:flex;overflow-y:auto}.title-suggestion-item{width:100%;color:var(--foreground);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:5px;align-items:center;gap:10px;padding:6px 8px;font-family:DM Sans,sans-serif;font-size:.85rem;transition:background .12s;display:flex}.title-suggestion-item:hover,.title-suggestion-item:focus-visible,.title-suggestion-item.active{background:var(--accent-light);outline:none}.title-suggestion-img{background:var(--border);border-radius:5px;flex-shrink:0;width:36px;height:36px;overflow:hidden}.title-suggestion-img img{object-fit:cover;width:100%;height:100%;display:block}.title-suggestion-info{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.title-suggestion-name{color:var(--foreground);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:500;overflow:hidden}.title-suggestion-meta{color:var(--text-muted);align-items:center;gap:6px;font-size:.72rem;display:flex}.title-suggestion-label{text-transform:capitalize;background:var(--accent-light);color:var(--accent);border-radius:5px;padding:1px 6px}.title-suggestion-kcal{font-weight:500}.suggestion-spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:14px;height:14px;animation:.6s linear infinite suggestion-spin}@keyframes suggestion-spin{to{transform:rotate(360deg)}}.modal-textarea{border:1.5px solid var(--border);background:var(--background);width:100%;color:var(--foreground);resize:none;border-radius:5px;outline:none;max-height:200px;margin-bottom:.75rem;padding:.7rem;font-family:DM Sans,sans-serif;font-size:.85rem;line-height:1.6;transition:border-color .15s;overflow-y:auto}.modal-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #e6510014}.modal-section-card{background:var(--background);border:1px solid var(--border);border-radius:5px;margin-bottom:1rem;overflow:hidden}.modal-section-card-header{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);border-bottom:1px solid var(--border);background:var(--overlay-black-02);flex-shrink:0;align-items:center;gap:6px;padding:.65rem .85rem;font-size:.7rem;font-weight:700;display:flex}.modal-section-card-header svg{opacity:.6;flex-shrink:0}.modal-section-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;max-height:180px;padding:.65rem .85rem;overflow-y:auto}.modal-tab-bar{border-bottom:1px solid var(--border);background:0 0;display:flex}.modal-tab{text-transform:uppercase;letter-spacing:.4px;color:var(--text-light);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;gap:6px;padding:.6rem .5rem;font-family:DM Sans,sans-serif;font-size:.72rem;font-weight:600;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.modal-tab:hover{color:var(--foreground);background:var(--overlay-black-02)}.modal-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.modal-tab svg{opacity:.5;flex-shrink:0;transition:opacity .15s}.modal-tab.active svg{opacity:1}.modal-tab-content{background:0 0}.modal-section-card-header.collapsible-header{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s}.modal-section-card-header.collapsible-header:hover{background:var(--surface,var(--hover-bg))}.modal-section-card-header.collapsible-header:active{background:var(--card-border)}.collapsible-chevron{transition:transform .2s;transform:rotate(0)}.collapsible-chevron.open{transform:rotate(180deg)}.modal-recipe-bullets{counter-reset:step;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.modal-recipe-step{counter-increment:step;color:var(--foreground);padding-left:1.8rem;font-size:.82rem;line-height:1.6;position:relative}.modal-recipe-step:before{content:counter(step);background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:1.3rem;height:1.3rem;font-size:.65rem;font-weight:700;display:flex;position:absolute;top:.1rem;left:0}.modal-recipe-divider,.modal-ingredients-divider{pointer-events:none;justify-content:center;align-items:center;margin:0;padding:.3rem .5rem;list-style:none;display:flex}.modal-divider-line{background:var(--border);opacity:.5;border-radius:5px;width:100%;height:2px;display:block}.modal-section-scroll .modal-ingredients{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.modal-section-scroll .modal-ingredients-item{background:0 0;border-radius:5px;align-items:center;gap:8px;padding:.4rem .5rem;font-size:.82rem;line-height:1.4;transition:background .15s,box-shadow .15s;display:flex}.modal-section-scroll .modal-ingredients-item:hover{background:var(--overlay-black-03);box-shadow:inset 3px 0 0 var(--accent)}.modal-body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex-direction:column;flex:1;min-height:0;padding:1rem 1.5rem;display:flex;overflow-y:auto}.modal-section-card-fill{flex-direction:column;flex:1;min-height:0;display:flex}.modal-section-card-fill>.tabs-bar{flex-shrink:0}.modal-section-card-fill>.modal-tab-content{flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.modal-section-card-fill>.modal-tab-content .modal-section-scroll{max-height:none;overflow-y:visible}@media (max-width:500px){.modal-body{padding:1rem}}@media (min-width:500px){.modal-body{flex:1 1 0;min-height:0;padding:1rem 2rem;overflow-y:auto}.modal-section-scroll{max-height:none;overflow-y:visible}}.modal-actions{border-top:1px solid var(--border);background:var(--card);flex-shrink:0;justify-content:center;gap:.6rem;padding:1rem 1.5rem;display:flex}@media (min-width:500px){.modal-actions{border-top:1px solid var(--border);background:var(--card);padding:1rem 2rem}}.modal-btn{cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;border-radius:5px;padding:.55rem 1.1rem;font-family:DM Sans,sans-serif;font-size:.82rem;font-weight:600;transition:background .15s,opacity .15s,transform .15s,box-shadow .15s}.modal-btn:disabled{opacity:.5;cursor:not-allowed}.modal-btn:active:not(:disabled){transform:scale(.97)}.modal-btn-primary{background:var(--accent);color:#fff}.modal-btn-primary:hover:not(:disabled){background:var(--modal-btn-primary-hover);box-shadow:0 4px 12px var(--accent-glow,#6c5ce740);transform:translateY(-1px)}.modal-btn-primary:active:not(:disabled){background:var(--modal-btn-primary-active)}.modal-btn-secondary{background:var(--modal-btn-secondary-bg);color:var(--foreground)}.modal-btn-secondary:hover{background:var(--hover-bg-active)}.modal-btn-danger{background:var(--danger-bg);color:var(--red-dark);justify-content:center;align-items:center;display:inline-flex}.modal-btn-danger:hover:not(:disabled){background:var(--danger-hover);transform:translateY(-1px)}.modal-btn-danger:active:not(:disabled){background:var(--danger-active)}.modal-btn-edit{background:var(--accent);color:#fff;justify-content:center;align-items:center;width:100%;display:flex}.modal-btn-edit:hover{background:var(--modal-btn-primary-hover);box-shadow:0 4px 12px var(--accent-glow,#6c5ce740);transform:translateY(-1px)}.modal-btn-import{align-items:center;gap:0;display:inline-flex}.modal-btn-import:hover{background:var(--modal-btn-primary-hover);box-shadow:0 4px 12px var(--accent-glow,#6c5ce740);transform:translateY(-1px)}.modal-recipe{color:var(--text-muted);margin:0 0 1.2rem;font-size:.88rem;line-height:1.7}.modal-body h3{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin:0 0 .5rem;font-size:.75rem}.modal-ingredients-heading{align-items:center;gap:4px;display:inline-flex}.modal-ingredients-heading svg{flex-shrink:0}.modal-ingredients{flex-direction:column;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.modal-ingredients-item{background:var(--modal-img-bg);border-radius:5px;align-items:center;gap:6px;padding:.45rem .7rem;font-size:.85rem;line-height:1.4;display:inline-flex}.modal-nutrition-view{flex-shrink:0;gap:.6rem;margin-top:auto;margin-bottom:auto;padding:.5rem 0;display:flex}.modal-nutrition-card{text-align:center;background:var(--card);border:1px solid var(--border);border-radius:5px;flex-direction:column;flex:1;align-items:center;gap:4px;padding:1rem .5rem;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex}.modal-nutrition-card:hover{box-shadow:0 6px 16px var(--shadow-sm,#00000040);border-color:var(--accent);transform:translateY(-2px)}.modal-nutrition-card-icon{border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;margin-bottom:4px;display:flex}.modal-nutrition-card-icon.calories{background:var(--orange-soft-bg);color:var(--orange-light)}.modal-nutrition-card-icon.protein{background:var(--green-soft-bg);color:var(--accent)}.modal-nutrition-card-icon.sugar{background:var(--indigo-soft-bg);color:var(--indigo)}.modal-nutrition-card-value{color:var(--foreground);font-size:1.25rem;font-weight:700;line-height:1.2}.modal-nutrition-card-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;font-size:.7rem;font-weight:600}.modal-nutrition-card-unit{color:var(--text-light);font-size:.65rem}.modal-nutrition-editor{flex-direction:column;flex-shrink:0;gap:.75rem;margin-top:auto;margin-bottom:auto;padding:.75rem 0;display:flex}@media (max-width:640px){.modal-nutrition-editor{flex-shrink:1;margin-top:0;margin-bottom:0;padding-top:.25rem}}.modal-nutrition-row{background:var(--card);border:1px solid var(--border);border-radius:5px;align-items:center;gap:.5rem;padding:.5rem .75rem;transition:border-color .15s,box-shadow .15s;display:flex}.modal-nutrition-row:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim,#6c5ce71f)}.modal-nutrition-label{color:var(--foreground);cursor:pointer;flex-shrink:0;align-items:center;gap:.4rem;min-width:80px;font-size:.82rem;font-weight:600;display:flex}.modal-nutrition-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.modal-nutrition-icon.calories{background:var(--orange-soft-bg);color:var(--orange-light)}.modal-nutrition-icon.protein{background:var(--green-soft-bg);color:var(--accent)}.modal-nutrition-icon.sugar{background:var(--indigo-soft-bg);color:var(--indigo)}.modal-nutrition-input{min-width:0;color:var(--foreground);text-align:right;-moz-appearance:textfield;background:0 0;border:none;outline:none;flex:1;padding:.25rem 0;font-family:DM Sans,sans-serif;font-size:.9rem;font-weight:600}.modal-nutrition-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.modal-nutrition-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.modal-nutrition-unit{color:var(--text-muted);text-align:left;flex-shrink:0;min-width:28px;font-size:.75rem;font-weight:500}.modal-image-header-overlay{z-index:10;background:var(--modal-header-overlay-bg,#00000073);-webkit-backdrop-filter:blur(6px);color:#fff;box-sizing:border-box;width:auto;max-width:calc(100% - 20px);box-shadow:0 2px 10px var(--shadow-sm,#0000004d);border-radius:5px;flex-direction:row;align-items:center;gap:8px;padding:6px 12px;display:inline-flex;position:absolute;bottom:10px;left:10px}.modal-image-header-overlay .modal-mealkey.overlay{text-transform:capitalize;letter-spacing:.2px;color:var(--accent);font-size:.8rem;font-weight:600;line-height:1}.modal-image-header-overlay .modal-date.overlay{color:#4a9eff;letter-spacing:.2px;font-size:.65rem;font-weight:700;line-height:1}.modal-image-strip:after{content:"";pointer-events:none;z-index:5;background:linear-gradient(#0000 60%,#00000073 100%);position:absolute;inset:0}@media (min-width:1024px){.modal-image-header-overlay{padding:8px 16px;bottom:14px;left:14px}.modal-image-header-overlay .modal-mealkey.overlay{font-size:.95rem}.modal-image-header-overlay .modal-date.overlay{font-size:.72rem}}.modal-image-strip{border-radius:0;flex-shrink:0;width:100%;height:200px;min-height:160px;max-height:240px;margin:0;position:relative;overflow:hidden}@media (max-width:500px){.modal-image-strip{border-radius:0;height:170px;min-height:140px;max-height:200px}}.modal-image-strip-inner{width:100%;height:100%;display:flex}.modal-image-strip-inner img{object-fit:cover;width:100%;height:100%;display:block}.modal-image-main{background:var(--modal-img-bg);flex:3;position:relative;overflow:hidden}.modal-image-side{background:var(--modal-img-bg);border-left:2px solid var(--card-border);flex:1;position:relative;overflow:hidden}@media (max-width:500px){.modal-image-side{border-left-width:1px}}.modal-image-label{text-transform:uppercase;letter-spacing:.5px;background:var(--overlay-dark);-webkit-backdrop-filter:blur(4px);color:#fff;border-radius:5px;padding:2px 8px;font-size:.6rem;font-weight:700;line-height:1.4;position:absolute;bottom:6px;left:6px}.modal-image-fade{background:linear-gradient(to top, var(--card), transparent);pointer-events:none;z-index:2;height:36px;position:absolute;bottom:0;left:0;right:0}.image-placeholder{width:100%;height:100%;color:var(--text-light);opacity:.6;justify-content:center;align-items:center;font-size:.7rem;display:flex}.image-upload-label{cursor:pointer;width:100%;height:100%;color:var(--text-light);flex-direction:column;justify-content:center;align-items:center;gap:6px;font-size:.75rem;font-weight:500;transition:background .15s,opacity .15s;display:flex}.image-upload-label:hover{background:var(--overlay-black-03)}.image-upload-label svg{opacity:.5;transition:opacity .15s}.image-upload-label:hover svg{opacity:.8}.image-remove-btn{background:var(--overlay-dark);-webkit-backdrop-filter:blur(6px);cursor:pointer;color:#fff;z-index:15;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;transition:background .15s,transform .15s;display:flex;position:absolute;top:6px;left:6px}.image-remove-btn:hover{background:var(--red-hover);transform:scale(1.05)}.image-remove-btn:active{transform:scale(.95)}.image-upload-spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:24px;height:24px;animation:.6s linear infinite spin}.modal-image-placeholder{background:var(--shadow-faint);justify-content:center;align-items:center;width:100%;height:100%;display:flex}.modal-image-placeholder.uploading{background:var(--white-soft-2)}.modal-image-placeholder-view{background:var(--shadow-faint);width:100%;height:100%;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:6px;font-family:DM Sans,sans-serif;font-size:.75rem;font-weight:500;display:flex}.modal-image-upload-btn{cursor:pointer;color:var(--text-muted);border-radius:5px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:1.5rem;font-family:DM Sans,sans-serif;font-size:.82rem;font-weight:500;transition:background .15s,opacity .15s;display:flex}.modal-image-upload-btn:hover{background:var(--shadow-faint);color:var(--accent)}.modal-image-upload-btn svg{opacity:.45;transition:opacity .15s}.modal-image-upload-btn:hover svg{opacity:.7}.modal-image-preview{width:100%;height:100%;position:relative}.modal-image-preview img,.modal-image-full{object-fit:inherit;width:100%;height:100%;display:block}.modal-url-link-card{background:linear-gradient(135deg,#ff000008,#ff640005);border:1px solid #ff00001a;border-radius:10px;gap:10px;margin-top:10px;margin-bottom:10px;padding:12px 14px;transition:border-color .2s,box-shadow .2s;display:flex}.modal-url-link-card:focus-within{border-color:#ff00004d;box-shadow:0 0 0 3px #ff00000f}.modal-url-link-icon{color:red;background:#ff00001a;border-radius:7px;flex-shrink:0;justify-content:center;align-items:flex-start;width:30px;height:30px;padding-top:7px;display:flex}.modal-url-link-content{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.modal-url-link-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);opacity:.7;font-size:.65rem;font-weight:700}.modal-url-link-input-wrap{background:var(--card-bg,#0000000a);border:1px solid var(--border);border-radius:7px;align-items:center;gap:8px;padding:0 10px;transition:border-color .2s,box-shadow .2s;display:flex}.modal-url-link-input-wrap:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px #e6510014}.modal-url-link-input-icon{color:var(--text-muted);opacity:.45;flex-shrink:0}.modal-url-link-input-wrap input{color:var(--foreground);background:0 0;border:none;outline:none;flex:1;min-width:0;padding:9px 0;font-family:DM Sans,sans-serif;font-size:.8rem}.modal-url-link-input-wrap input::placeholder{color:var(--text-muted);opacity:.5;font-size:.78rem}.modal-url-link-clear{width:24px;height:24px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:flex}.modal-url-link-clear:hover{color:var(--foreground);background:#00000014}.modal-youtube-embed{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;width:100%;margin-top:14px;overflow:hidden;box-shadow:0 1px 3px #0000000f}.modal-youtube-embed-label{width:100%;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;cursor:pointer;-webkit-user-select:none;user-select:none;background:#00000005;border:none;border-bottom:1px solid #0000;align-items:center;gap:8px;padding:10px 14px;font-family:inherit;font-size:.75rem;font-weight:600;transition:background .15s,color .15s,border-color .15s;display:flex}.modal-youtube-embed-label:hover{color:var(--foreground);background:#0000000a}.modal-youtube-embed.expanded .modal-youtube-embed-label{border-bottom-color:var(--border)}.modal-youtube-embed-label svg:first-child{color:red;flex-shrink:0}.modal-youtube-embed-label span{text-align:left;flex:1}.modal-youtube-embed-chevron{opacity:.45;flex-shrink:0;transition:transform .25s,opacity .15s}.modal-youtube-embed-label:hover .modal-youtube-embed-chevron{opacity:.7}.modal-youtube-embed.expanded .modal-youtube-embed-chevron{transform:rotate(180deg)}.modal-youtube-embed-frame{aspect-ratio:16/9;background:#000;width:100%;position:relative}.modal-youtube-embed-frame iframe{border:none;width:100%;height:100%;display:block}.modal-youtube-link{background:var(--card-bg);border:1px solid var(--border);color:var(--foreground);cursor:pointer;border-radius:12px;align-items:center;gap:10px;margin-top:14px;padding:12px 16px;font-size:.82rem;font-weight:500;text-decoration:none;transition:background .15s,border-color .15s,box-shadow .15s;display:flex;box-shadow:0 1px 3px #0000000f}.modal-youtube-link:hover{background:#ff00000a;border-color:#f003;box-shadow:0 2px 8px #ff00000f}.modal-youtube-icon{color:red;flex-shrink:0}.modal-youtube-text{flex:1}.modal-youtube-external{opacity:.4;flex-shrink:0}.modal-save-error-banner{color:#dc2626;background:#ef444414;border:1px solid #ef444433;border-radius:8px;flex-shrink:0;align-items:center;gap:.5rem;margin:0 1rem;padding:.65rem .85rem;font-size:.8rem;font-weight:500;line-height:1.4;display:flex}.modal-save-error-banner svg:first-child{color:#dc2626;flex-shrink:0}.modal-save-error-banner span{flex:1;min-width:0}.modal-save-error-dismiss{color:#dc2626;opacity:.6;cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:2px;transition:opacity .15s,background .15s;display:flex}.modal-save-error-dismiss:hover{opacity:1;background:#ef44441f}.table-wrap{width:100%;margin:0 auto}.table-inner{width:100%}.table-wrap table{border-collapse:separate;border-spacing:0;width:100%;box-shadow:0 2px 8px var(--shadow-soft);table-layout:fixed;background:0 0;border-radius:5px;font-size:.82rem;overflow:hidden}.table-wrap thead{background:linear-gradient(180deg, var(--table-header) 0%, var(--table-header-end) 100%)}.table-wrap tbody{background:var(--card)}.table-wrap th{text-align:left;text-transform:uppercase;letter-spacing:.3px;color:var(--text-muted);border-bottom:1px solid var(--white-soft-6);background:var(--table-header);padding:.9rem .4rem;font-size:.68rem;font-weight:700}.table-wrap th:first-child{border-top-left-radius:1rem}.table-wrap th:last-child{border-top-right-radius:1rem}.table-wrap td:first-child,.table-wrap th:first-child{white-space:nowrap;width:50px}.table-wrap td:last-child,.table-wrap th:last-child{white-space:nowrap;width:130px}.table-wrap td{border-bottom:1px solid var(--border);vertical-align:top;height:auto;padding:.65rem .55rem}.table-wrap tr:last-child td{border-bottom:none}.table-wrap tr{height:auto;transition:background .18s cubic-bezier(.22,1,.36,1)}.table-wrap tr:hover td{background:var(--accent-soft-2)}.day-cell{text-align:center;min-width:36px}.day-td{white-space:nowrap;vertical-align:middle;background:var(--white-soft);width:50px;padding:.6rem .2rem!important}.day-td-clickable{cursor:pointer;transition:background .2s cubic-bezier(.22,1,.36,1),transform .18s cubic-bezier(.22,1,.36,1)}.day-td-clickable:hover{transform:scale(1.04);background:var(--accent-soft)!important}.day-td-clickable:active{transform:scale(.97)}.day-link-icon{opacity:0;vertical-align:super;margin-left:2px;font-size:.55rem;transition:opacity .2s;display:inline-block}.day-td-clickable:hover .day-link-icon{opacity:.7}.day-cell-compact{flex-direction:column;align-items:center;gap:2px;padding:2px 0;line-height:1;display:flex}.day-num{color:var(--heading);font-family:Playfair Display,serif;font-size:1.05rem;font-weight:700}.day-weekday{color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;font-size:.6rem;font-weight:500}.day-month{color:var(--text-light);text-transform:uppercase;letter-spacing:.6px;opacity:.5;margin-top:1px;font-size:.5rem}.day-today-dot{background:var(--today-circle-bg);width:5px;height:5px;box-shadow:0 0 6px var(--accent-glow-orange);border-radius:50%;margin-top:3px}td.meal-td{background:var(--white-soft-2-2);border:1px solid var(--border);border-radius:5px;height:100%;padding:0;transition:all .2s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}td.meal-td:hover{background:var(--accent-soft);box-shadow:0 8px 24px var(--shadow-sm2), 0 0 0 1px var(--accent-glow);z-index:2;border-color:var(--accent-dim)}td.meal-td:active{background:var(--accent-dim);transform:scale(.995)}.meal-cell{text-align:left;padding:.85rem .9rem .8rem;line-height:1.4}.meal-cell.clickable{box-sizing:border-box;cursor:pointer;width:100%;height:100%}.meal-cell.no-image{align-items:center;display:flex}.meal-cell.no-image .meal-content{justify-content:center;height:100%;margin-bottom:0}.meal-cell.no-image .meal-name-section{margin-top:.6rem}.meal-main{word-break:break-word;font-size:.82rem;font-weight:500}.meal-content{flex:1;gap:8px;width:100%;margin-bottom:8px;display:flex}.meal-image-section{width:44px;height:44px;box-shadow:0 2px 6px var(--shadow-sm);border-radius:5px;flex-direction:column;flex-shrink:0;align-items:stretch;margin:0;padding:0;display:flex;position:relative;overflow:hidden}.meal-thumb{object-fit:cover;background:var(--border);flex:1;width:100%;height:100%;min-height:0;transition:transform .2s;display:block}.meal-td:hover .meal-thumb{transform:scale(1.05)}.meal-thumb-placeholder{background:var(--border);border-radius:5px;width:100%;height:100%}.meal-label-footer{flex-direction:column;width:100%;margin-top:.35rem;padding:0 .55rem .35rem;display:flex;position:absolute;bottom:0;left:0}.meal-label-row{flex-wrap:wrap;align-items:center;gap:.2rem;display:flex}.meal-label-tag{text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;border-radius:5px;align-self:flex-start;margin-top:3px;padding:.15rem .5rem;font-size:.58rem;font-weight:700;line-height:1.3;display:inline-block}.meal-label-tag.tag-desi{background:var(--orange-soft-bg);color:var(--orange-light)}.meal-label-tag.tag-western{background:var(--info-soft-bg);color:var(--blue)}.meal-label-tag.tag-mix{background:var(--purple-soft-bg2);color:var(--purple)}.meal-name-section{flex-direction:column;flex:1;min-width:0;padding-bottom:1rem;display:flex}.meal-name-bottom{flex-direction:column;margin-top:auto;display:flex}.meal-name-lines{flex-direction:column;display:flex}.meal-name-line{word-break:break-word;white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;font-weight:500;line-height:1.25;display:block;overflow:hidden}.meal-name-line+.meal-name-line{margin-top:2px}.meal-kcal{color:var(--accent);background:var(--green-soft-bg);white-space:nowrap;border-radius:5px;align-self:flex-start;margin-top:3px;padding:.1rem .4rem;font-size:.62rem;font-weight:600;line-height:1.3;display:inline-block}.meal-macro-divider{color:var(--border);margin:3px 3px 0;font-size:.6rem;line-height:1.3;display:inline-block}.meal-macro{white-space:nowrap;border-radius:5px;margin-top:3px;padding:.1rem .35rem;font-size:.58rem;font-weight:600;line-height:1.3;display:inline-block}.meal-macro.protein{color:var(--green);background:var(--green-soft-bg3)}.meal-macro.sugar{color:var(--indigo);background:var(--indigo-soft-bg3)}.meal-label-divider{background:linear-gradient(90deg, transparent, var(--border), transparent);opacity:.6;flex-shrink:0;width:100%;height:1px;margin:0 0 3px;display:block}@media (max-width:640px){.meal-content{flex-direction:column;align-items:stretch;gap:0;width:100%;min-height:auto;margin-bottom:0}.meal-image-section{border-radius:0;flex-shrink:0;align-self:stretch;width:100%;height:52px;margin:0;padding:0;display:flex;overflow:hidden}.meal-thumb{object-fit:cover;border-radius:0;width:100%;height:100%;display:block}.meal-name-section{box-sizing:border-box;flex-direction:column;width:100%;padding:.4rem .5rem .45rem;display:flex}.meal-name-lines{text-align:left;width:100%;min-width:0;font-weight:400}.meal-name-line{white-space:nowrap;text-overflow:ellipsis;text-align:left;font-size:.5rem;font-weight:400;line-height:1.15;overflow:hidden}.meal-label-footer,.meal-label-tag,.meal-macro,.meal-kcal,.meal-label-divider{display:none}.meal-add-text{font-size:.52rem}.meal-empty{min-height:42px}.meal-more-badge{padding:0 4px;font-size:.5rem;top:2px;right:2px}}.tag{text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;border-radius:5px;margin-top:3px;padding:.1rem .5rem;font-size:.6rem;font-weight:600;display:inline-block}.meal-empty{opacity:.35;border:1.5px dashed #0000;border-radius:5px;flex-direction:column;justify-content:center;align-items:center;gap:6px;height:100%;min-height:70px;margin:4px;transition:all .2s;display:flex}.meal-td:hover .meal-empty{opacity:.85;border-color:var(--accent-dim);background:var(--accent-soft)}.meal-add-text{text-transform:uppercase;letter-spacing:.5px;color:var(--accent);font-size:.62rem;font-weight:700}.meal-td .meal-empty svg{color:var(--text-muted);transition:transform .2s,color .2s}.meal-td:hover .meal-empty svg{color:var(--accent);transform:scale(1.1)}.meal-more-badge{background:var(--accent);color:#fff;text-align:center;min-width:18px;box-shadow:0 1px 3px var(--shadow-sm2);border-radius:5px;padding:1px 6px;font-size:.6rem;font-weight:700;line-height:1.4;position:absolute;top:4px;right:6px}.meal-ai-btn{background:linear-gradient(135deg, var(--purple), var(--indigo));color:#fff;cursor:pointer;opacity:0;width:26px;height:26px;box-shadow:0 2px 8px var(--shadow-soft);z-index:3;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:0;transition:opacity .2s,transform .2s,box-shadow .2s;display:flex;position:absolute;top:4px;right:6px;transform:scale(.8)}.meal-td:hover .meal-ai-btn,.meal-ai-btn:hover,.meal-ai-btn:focus-visible{opacity:1;transform:scale(1)}.meal-ai-btn:hover{box-shadow:0 4px 14px var(--purple-soft-bg2);background:linear-gradient(135deg, var(--indigo), var(--purple))}.meal-ai-btn:active{transform:scale(.9)}@media (max-width:768px){.meal-ai-btn{opacity:1;box-shadow:none;color:var(--purple);background:0 0;font-size:12px;top:-4px;right:-4px;transform:scale(.65)}.meal-ai-btn:hover{box-shadow:none;background:0 0}}.readonly-empty{color:var(--text-light);opacity:.3;justify-content:center;align-items:center;height:100%;font-size:.75rem;display:flex}td.meal-td-draggable{cursor:grab;touch-action:pan-y}td.meal-td-draggable *{touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}td.meal-td-draggable .meal-cell,td.meal-td-draggable .meal-cell .meal-thumb,td.meal-td-draggable .meal-cell .meal-name-section{pointer-events:none}td.meal-td.drag-source{opacity:.4;cursor:grabbing;border-style:dashed}td.meal-td.drop-target{background:var(--accent-soft);border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent), 0 8px 24px var(--shadow-sm2);z-index:4;transition:box-shadow .12s,background-color .12s}td.meal-td.drop-target .meal-empty{opacity:.9;border-color:var(--accent);background:var(--accent-soft)}.meal-drag-ghost{z-index:9999;pointer-events:none;will-change:transform;contain:layout style paint;background:var(--card-bg);border:1px solid var(--accent);max-width:180px;box-shadow:0 6px 18px var(--shadow-md);border-radius:5px;padding:.4rem;display:none;position:fixed;top:0;left:0}.meal-drag-ghost.is-active{display:block}.ghost-inner{align-items:center;gap:.4rem;display:flex}.ghost-thumb{object-fit:cover;background:var(--border);border-radius:4px;width:36px;min-width:36px;height:36px}.ghost-icon{background:var(--accent-soft);border-radius:4px;justify-content:center;align-items:center;width:36px;min-width:36px;height:36px;font-size:1.2rem;display:flex}.ghost-details{flex-direction:column;gap:.15rem;min-width:0;display:flex;overflow:hidden}.ghost-title{color:var(--heading);white-space:nowrap;text-overflow:ellipsis;font-size:.65rem;font-weight:600;line-height:1.2;overflow:hidden}.ghost-meta{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;gap:.15rem;font-size:.55rem;display:flex;overflow:hidden}.meal-delete-zone{z-index:9998;background:var(--card-bg);border:2px solid var(--border);width:56px;height:56px;color:var(--text-muted);opacity:0;pointer-events:none;box-shadow:0 4px 16px var(--shadow-md);border-radius:50%;justify-content:center;align-items:center;transition:opacity .22s cubic-bezier(.25,.46,.45,.94),transform .22s cubic-bezier(.34,1.56,.64,1),border-color .18s,background .18s,color .18s,box-shadow .18s;display:flex;position:fixed;bottom:1.5rem;right:1.5rem;transform:scale(.6)}.meal-delete-zone.visible{opacity:.9;pointer-events:auto;transform:scale(1)}.meal-delete-zone.over{border-color:var(--red);background:var(--red-soft);color:var(--red);box-shadow:0 6px 24px var(--red-soft);transform:scale(1.15)}.overwrite-preview{text-align:left;width:100%;margin-top:.35rem}.overwrite-row{border:1px solid var(--border);background:var(--white-soft-2-2);border-radius:5px;padding:.5rem .6rem}.overwrite-row-old{opacity:.65}.overwrite-row-new{border-color:var(--accent);background:var(--accent-soft)}.overwrite-caption{letter-spacing:.6px;text-transform:uppercase;color:var(--text-light);margin-bottom:.35rem;font-size:.55rem;font-weight:700;display:block}.overwrite-row-new .overwrite-caption{color:var(--accent)}.overwrite-meal{align-items:center;gap:.55rem;min-width:0;display:flex}.overwrite-thumb{object-fit:cover;background:var(--border);border-radius:5px;flex-shrink:0;width:38px;height:38px}.overwrite-thumb-empty{justify-content:center;align-items:center;font-size:1rem;display:flex}.overwrite-meal-text{flex-direction:column;gap:.15rem;min-width:0;display:flex}.overwrite-title{color:var(--foreground);-webkit-line-clamp:2;word-break:break-word;-webkit-box-orient:vertical;font-size:.8rem;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.overwrite-meta{flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}.overwrite-meta .meal-label-tag{margin-top:0}.overwrite-kcal{color:var(--text-muted);white-space:nowrap;font-size:.6rem;font-weight:600}.overwrite-arrow{color:var(--accent);justify-content:center;align-items:center;padding:.25rem 0;display:flex}.overwrite-note{color:var(--text-light);text-align:center;margin:.55rem 0 0;font-size:.65rem;line-height:1.4}.meal-drag-toast{z-index:9999;background:var(--card-bg);border:1px solid var(--accent);max-width:min(90vw,340px);color:var(--text-main);text-align:center;box-shadow:0 8px 24px var(--shadow-sm2);border-radius:5px;padding:.5rem .9rem;font-size:.75rem;font-weight:600;animation:.2s meal-drag-toast-in;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.meal-drag-toast.error{border-color:var(--red);color:var(--red)}@keyframes meal-drag-toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.tag-desi{background:var(--tag-desi-bg);color:var(--orange-light)}.tag-western{background:var(--tag-western-bg);color:var(--blue)}.tag-mix{background:var(--tag-mix-bg);color:var(--purple)}.tag-strength{background:var(--tag-strength-bg);color:var(--purple)}.tag-cardio{background:var(--tag-cardio-bg);color:var(--red)}.tag-flexibility{background:var(--tag-flexibility-bg);color:var(--green)}.goal-td{white-space:nowrap;vertical-align:middle;background:var(--white-soft);width:130px;padding:.45rem .25rem!important}.goal-cell{flex-direction:column;gap:6px;min-width:0;display:flex}.goal-cal{border-radius:5px;flex-direction:column;gap:2px;padding:5px 6px;transition:background .15s;display:flex}.goal-cal-top{justify-content:space-between;align-items:baseline;display:flex}.goal-cal-label{text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);opacity:.7;font-size:.58rem;font-weight:700}.goal-cal-value{color:var(--heading);font-variant-numeric:tabular-nums;font-size:.85rem;font-weight:700}.goal-cal-value.over{color:var(--red)}.goal-cal-target{color:var(--text-light);margin-left:2px;font-size:.65rem;font-weight:500}.goal-cal-track{background:var(--border);border-radius:5px;width:100%;height:3px;overflow:hidden}.goal-cal-fill{border-radius:5px;height:100%;transition:width .3s}.goal-cal-fill.ok{background:linear-gradient(90deg, var(--accent), var(--green))}.goal-cal-fill.over{background:linear-gradient(90deg, var(--red), var(--red-strong))}.goal-macros{flex-direction:column;gap:6px;display:flex}.goal-macros-header{display:none}.goal-macro-item{border-radius:5px;flex-direction:column;gap:2px;padding:3px 6px;transition:background .15s;display:flex}.goal-macro-item:hover{background:var(--white-soft)}.goal-macro-top{justify-content:space-between;align-items:baseline;display:flex}.goal-macro-icon{text-transform:uppercase;letter-spacing:.4px;color:var(--text-muted);opacity:.7;font-size:.58rem;font-weight:700}.goal-macro-track{background:var(--border);border-radius:5px;width:100%;height:3px;display:block;overflow:hidden}.goal-macro-fill{border-radius:5px;height:100%;transition:width .3s;display:block}.goal-macro-fill.ok{background:linear-gradient(90deg, var(--accent), var(--green))}.goal-macro-fill.over{background:linear-gradient(90deg, var(--red), var(--red-strong))}.goal-macro-fill.under{background:linear-gradient(90deg, var(--amber), var(--orange))}.goal-macro-fill.protein.ok{background:linear-gradient(90deg, var(--blue), var(--cyan))}.goal-macro-fill.sugar.over{background:linear-gradient(90deg, var(--red), var(--red-strong))}.goal-macro-fill.sugar.ok{background:linear-gradient(90deg, var(--purple), var(--indigo))}.goal-macro-value{font-variant-numeric:tabular-nums;align-items:baseline;gap:1px;font-size:.65rem;font-weight:600;display:inline-flex}.goal-macro-value.ok{color:var(--accent)}.goal-macro-value.over{color:var(--red)}.goal-macro-value.under{color:var(--amber)}.goal-macro-sep{color:var(--text-light);opacity:.6;margin:0 1px;font-weight:400}@media (max-width:640px){.goal-td{padding:.35rem .15rem!important}.goal-cal{gap:1px;padding:3px 4px}.goal-cal-label{font-size:0}.goal-cal-label:after{content:"C";letter-spacing:0;color:var(--text-muted);opacity:.7;font-size:.48rem;font-weight:700}.goal-cal-value{font-size:.4rem}.goal-cal-target{font-size:.38rem}.goal-cal-track{height:2px}.goal-macro-item{gap:3px;padding:1px 4px}.goal-macro-value{font-size:.38rem}.goal-macro-icon{font-size:0}.goal-macro-icon:after{content:attr(data-short);letter-spacing:0;color:var(--text-muted);opacity:.7;font-size:.5rem;font-weight:700}}.cal-badge{background:var(--cal-badge-bg);color:var(--cal-badge-color);white-space:nowrap;border-radius:5px;padding:.2rem .5rem;font-size:.7rem;font-weight:600;display:inline-block}.today-row td{position:relative;background:var(--today-bg)!important}.today-row td:before{content:"";background:linear-gradient(180deg, var(--orange), var(--orange-bright));opacity:.8;border-radius:5px;width:3px;position:absolute;top:2px;bottom:2px;left:0}.today-row .day-num{background:var(--today-circle-bg);color:#fff;width:30px;height:30px;box-shadow:0 2px 8px var(--today-shadow);border-radius:50%;justify-content:center;align-items:center;font-size:.85rem;display:inline-flex}.clickable:not(.meal-cell){cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:5px;margin:-.3rem -.4rem;padding:.3rem .4rem;transition:background .15s}.clickable:not(.meal-cell):hover{background:var(--hover-bg)}.clickable:not(.meal-cell):active{background:var(--hover-bg-active)}.calendar-header{flex-wrap:wrap;justify-content:center;align-items:center;gap:1.25rem;margin:0 auto;padding:1rem .75rem .75rem;display:flex}.calendar-header.is-sticky{z-index:89;position:sticky;top:56px}.calendar-nav-btn{border:1px solid var(--border);background:var(--card);width:40px;height:40px;color:var(--foreground);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .18s cubic-bezier(.22,1,.36,1),border-color .18s cubic-bezier(.22,1,.36,1),transform .15s cubic-bezier(.22,1,.36,1);display:flex}.calendar-nav-btn:hover{background:var(--accent-light);border-color:var(--accent);transform:scale(1.05)}.calendar-nav-btn:active{transform:scale(.95)}.calendar-header-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;display:flex}.calendar-header-group{flex-direction:column;align-items:flex-start;gap:.2rem;display:flex}.calendar-header-label{text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);font-size:.65rem;font-weight:700}.calendar-select{border:1px solid var(--border);background:var(--card);color:var(--foreground);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right .6rem center;background-repeat:no-repeat;border-radius:5px;min-width:110px;padding:.45rem 2rem .45rem .75rem;font-family:DM Sans,sans-serif;font-size:.95rem;font-weight:600;transition:border-color .15s,box-shadow .15s}.calendar-select:hover{border-color:var(--accent)}.calendar-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-cal-glow);outline:none}.calendar-stats-toggle{border:1px solid var(--border);background:var(--card);width:40px;height:40px;color:var(--foreground);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .18s cubic-bezier(.22,1,.36,1),border-color .18s cubic-bezier(.22,1,.36,1),transform .15s cubic-bezier(.22,1,.36,1);display:flex}.calendar-stats-toggle svg{transition:transform .2s}.calendar-stats-toggle.expanded svg{transform:rotate(180deg)}.calendar-stats-toggle:hover{background:var(--accent-light);border-color:var(--accent);transform:scale(1.05)}.calendar-stats-toggle:active{transform:scale(.95)}.calendar-actions-btn{border:1px solid var(--border);background:var(--card);width:36px;height:36px;color:var(--purple);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,border-color .15s,box-shadow .15s;display:flex}.calendar-actions-btn:hover{background:var(--purple-soft-bg2,#a855f714);border-color:var(--purple);box-shadow:0 0 0 3px var(--purple-soft-bg2,#a855f726)}.calendar-actions-btn:active{transform:scale(.95)}.calendar-actions-btn-ai{color:var(--purple)}.calendar-actions-btn-ai:hover{color:var(--purple-muted,#a78bfa)}.calendar-actions-wrap{align-items:center;gap:6px;display:flex;position:relative}.calendar-actions-toggle{border:1px solid var(--border);background:var(--card);width:36px;height:36px;color:var(--foreground);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,border-color .15s;display:flex}.calendar-actions-toggle:hover{background:var(--accent-light);border-color:var(--accent)}.calendar-actions-dropdown{background:var(--card);border:1px solid var(--border);min-width:140px;box-shadow:0 8px 24px var(--shadow-soft);z-index:100;border-radius:5px;animation:.15s dropdownSlideIn;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.calendar-actions-item{width:100%;color:var(--foreground);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:.6rem .85rem;font-family:DM Sans,sans-serif;font-size:.78rem;font-weight:600;transition:background .12s;display:flex}.calendar-actions-item:hover{background:var(--accent-soft)}.calendar-actions-item-ai{color:var(--purple);font-weight:600}.calendar-actions-item-ai:hover{color:var(--purple-muted,#a78bfa);background:var(--purple-soft-bg2,#a855f714)!important}.calendar-actions-item-danger{color:var(--red)}.calendar-actions-item-danger:hover{background:var(--red-bg-soft)}@media (max-width:768px){.calendar-header{flex-wrap:nowrap;gap:.5rem;padding:.5rem .4rem}.calendar-header-controls{gap:.4rem}.calendar-select{min-width:85px;padding:.35rem 1.6rem .35rem .5rem;font-size:.78rem}.calendar-nav-btn,.calendar-today-btn,.calendar-stats-toggle,.calendar-actions-toggle{width:32px;height:32px}}@media (max-width:480px){.calendar-header{gap:.3rem;padding:.4rem .15rem}.calendar-header-controls{gap:.25rem}.calendar-select{background-position:right .35rem center;min-width:70px;padding:.25rem 1.2rem .25rem .3rem;font-size:.68rem}.calendar-header-label{font-size:.55rem}.calendar-nav-btn,.calendar-today-btn,.calendar-stats-toggle,.calendar-actions-toggle{width:30px;height:30px}}.calendar-import-btn{border:1px solid var(--border);background:var(--card);color:var(--foreground);cursor:pointer;border-radius:5px;flex-shrink:0;align-items:center;gap:6px;padding:.4rem .9rem;font-family:DM Sans,sans-serif;font-size:.78rem;font-weight:600;transition:background .15s,border-color .15s,transform .1s;display:inline-flex}.calendar-import-btn:hover{background:var(--accent-light);border-color:var(--accent);transform:scale(1.03)}.calendar-import-btn:active{transform:scale(.97)}.calendar-clear-btn{border:2px solid var(--red-border-soft);background:var(--red-bg-soft);color:var(--red);cursor:pointer;white-space:nowrap;border-radius:5px;flex-shrink:0;align-items:center;gap:6px;min-width:0;padding:.45rem .85rem;font-family:DM Sans,sans-serif;font-size:.78rem;font-weight:600;line-height:1;transition:all .15s;display:inline-flex}.calendar-clear-btn:hover{background:var(--danger-soft-bg);border-color:var(--danger-soft-border);color:var(--red-bright)}.calendar-clear-btn:active{transform:scale(.97)}.import-modal-brand{color:var(--import-purple-light);text-transform:uppercase;letter-spacing:1px;align-items:center;gap:8px;font-size:.8rem;font-weight:700;display:flex}.import-modal-close-btn{background:var(--import-soft-bg);width:32px;height:32px;color:var(--text-muted);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s,transform .15s;display:flex}.import-modal-close-btn:hover{background:var(--white-soft-12);color:var(--foreground);transform:rotate(90deg)}.import-field{flex-direction:column;gap:.35rem;display:flex}.import-field-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-size:.7rem;font-weight:700}.import-select{border:1px solid var(--border);background:var(--card);color:var(--foreground);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;border-radius:5px;width:100%;padding:.55rem .75rem;font-family:DM Sans,sans-serif;font-size:.9rem;font-weight:600;transition:border-color .15s}.import-select:hover{border-color:var(--accent)}.import-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-cal-glow);outline:none}.import-summary{background:var(--card);border:1px solid var(--border);color:var(--text-muted);border-radius:5px;padding:.85rem 1rem;font-size:.82rem;line-height:1.5}.import-summary strong{color:var(--foreground)}.import-warning{background:var(--warning-bg);border:1px solid var(--warning-border);color:var(--warning-color);border-radius:5px;flex-direction:column;padding:.75rem 1rem;font-size:.8rem;line-height:1.5;display:flex}.import-warning svg{color:var(--warning-color);flex-shrink:0;margin-top:1px}.import-modal-footer{border-top:1px solid var(--border);background:var(--card);flex-shrink:0;gap:10px;padding:.85rem 1.25rem;display:flex}.import-btn{cursor:pointer;white-space:nowrap;border:none;border-radius:5px;flex:1;justify-content:center;align-items:center;gap:6px;padding:.65rem 1rem;font-family:DM Sans,sans-serif;font-size:.82rem;font-weight:600;transition:all .15s;display:inline-flex}.import-btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.import-btn-ghost{border:1.5px solid var(--border);color:var(--text-muted);background:0 0}.import-btn-ghost:hover{background:var(--background);border-color:var(--text-muted);color:var(--foreground)}.import-btn-primary{background:var(--accent);color:var(--text-on-accent);box-shadow:0 4px 14px var(--accent-btn-shadow)}.import-btn-primary:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 6px 20px var(--accent-btn-shadow-strong);transform:translateY(-1px)}.import-btn-primary:active:not(:disabled){transform:translateY(0)}.import-selects{gap:10px;display:flex}.import-selects .import-select{flex:1}.import-arrow{color:var(--accent);justify-content:center;align-items:center;padding:.25rem 0;display:flex}.import-checkbox-label{cursor:pointer;color:var(--warning-color);align-items:flex-start;gap:8px;margin-top:.35rem;font-size:.78rem;display:flex}.import-checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);flex-shrink:0;margin-top:2px}.import-warning-header{align-items:center;gap:8px;margin-bottom:.5rem;display:flex}.import-warning-header strong{font-size:.85rem}.import-warning p{color:var(--amber);margin:0 0 .35rem;font-size:.78rem;line-height:1.5}.import-password-input{border:1px solid var(--border);background:var(--card);width:100%;color:var(--foreground);border-radius:5px;outline:none;padding:.55rem .75rem;font-family:DM Sans,sans-serif;font-size:.9rem;transition:border-color .15s}.import-password-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-cal-glow)}.import-password-input::placeholder{color:var(--text-light)}.import-btn-danger{background:var(--red-dark);color:var(--text-on-accent);box-shadow:0 4px 14px var(--danger-btn-shadow)}.import-btn-danger:hover:not(:disabled){background:var(--red-dark);box-shadow:0 6px 20px var(--danger-btn-shadow-strong);transform:translateY(-1px)}.import-btn-danger:active:not(:disabled){transform:translateY(0)}.clear-brand{color:var(--error-color)!important}.clear-warning{background:var(--error-bg)!important;border-color:var(--danger-soft-border)!important}.clear-warning .import-warning-header{color:var(--red)}.clear-warning p{color:var(--red-bright)!important}.clear-month-body{flex-direction:column;gap:1rem;display:flex}.meal-rows-stagger tr{opacity:0;animation:.3s cubic-bezier(.22,1,.36,1) forwards meal-row-in}.meal-rows-stagger tr:first-child{animation-delay:30ms}.meal-rows-stagger tr:nth-child(2){animation-delay:60ms}.meal-rows-stagger tr:nth-child(3){animation-delay:90ms}.meal-rows-stagger tr:nth-child(4){animation-delay:.12s}.meal-rows-stagger tr:nth-child(5){animation-delay:.15s}.meal-rows-stagger tr:nth-child(6){animation-delay:.18s}.meal-rows-stagger tr:nth-child(7){animation-delay:.21s}.meal-rows-stagger tr:nth-child(8){animation-delay:.24s}.meal-rows-stagger tr:nth-child(9){animation-delay:.27s}.meal-rows-stagger tr:nth-child(10){animation-delay:.3s}.meal-rows-stagger tr:nth-child(11){animation-delay:.33s}.meal-rows-stagger tr:nth-child(12){animation-delay:.36s}.meal-rows-stagger tr:nth-child(13){animation-delay:.39s}.meal-rows-stagger tr:nth-child(14){animation-delay:.42s}@keyframes meal-row-in{0%{opacity:0}to{opacity:1}}.meal-rows-stagger.slide-left tr{animation-name:meal-row-in-left}.meal-rows-stagger.slide-right tr{animation-name:meal-row-in-right}@keyframes meal-row-in-left{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}@keyframes meal-row-in-right{0%{opacity:0;transform:translate(-18px)}to{opacity:1;transform:translate(0)}}@media (max-width:480px){.calendar-import-btn,.calendar-clear-btn{gap:4px;padding:.35rem .7rem;font-size:.72rem}}@media (max-width:768px){.table-wrap{padding:.15rem;overflow-x:hidden}.table-wrap table{table-layout:fixed;width:100%;min-width:0}.table-wrap th,.table-wrap td{white-space:normal;word-break:break-word}.table-wrap th{letter-spacing:0;padding:.4rem .1rem;font-size:.55rem}.table-wrap td{padding:.3rem .1rem}.table-wrap td:first-child,.table-wrap th:first-child{width:10%}.table-wrap td:last-child,.table-wrap th:last-child{width:auto}.meal-header-text{display:none}.day-td{width:auto;padding:.3rem .05rem!important}.day-cell-compact{gap:1px}.day-num{font-size:.75rem}.day-weekday{font-size:.48rem}.day-month{font-size:.4rem;display:none}.day-today-dot{width:4px;height:4px;margin-top:1px}}.monthly-planner-backdrop{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c;justify-content:center;align-items:center;animation:.2s cubic-bezier(.22,1,.36,1) mp-fade-in;display:flex;position:fixed;inset:0}@keyframes mp-fade-in{0%{opacity:0}to{opacity:1}}.monthly-planner-backdrop--closing{animation:.25s cubic-bezier(.22,1,.36,1) forwards mp-fade-out}.monthly-planner-modal--closing{animation:.25s cubic-bezier(.22,1,.36,1) forwards mp-slide-down}@keyframes mp-fade-out{0%{opacity:1}to{opacity:0}}@keyframes mp-slide-down{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(30px)}}.monthly-planner-modal{background:var(--card);width:640px;max-width:94vw;height:90dvh;max-height:90dvh;box-shadow:0 25px 60px var(--black-trans-65,#0003), inset 0 1px 0 #ffffff0d;border-radius:5px;flex-direction:column;animation:.35s cubic-bezier(.22,1,.36,1) mp-slide-up;display:flex;position:relative;overflow:hidden}.monthly-planner-modal:before{content:none}@keyframes mp-slide-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.monthly-planner-header{border-bottom:1px solid var(--border);flex-shrink:0;padding:24px 28px 16px;position:relative}.monthly-planner-header-top{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.monthly-planner-brand{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.monthly-planner-brand svg{color:var(--purple)}.monthly-planner-header-month{color:var(--text-muted);background:var(--indigo-soft-bg);white-space:nowrap;letter-spacing:.02em;border-radius:5px;margin-left:6px;padding:2px 8px;font-size:11px;font-weight:500}.monthly-planner-close{cursor:pointer;color:var(--text-light);background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;padding:4px;transition:all .15s;display:flex}.monthly-planner-close:hover{background:var(--white-soft);color:var(--foreground)}.mp-wizard-steps{flex-shrink:0;justify-content:center;align-items:center;gap:0;padding:16px 28px 0;display:flex}.mp-wizard-step-dot{color:var(--text-light);white-space:nowrap;align-items:center;gap:6px;font-size:12px;font-weight:500;transition:color .2s;display:flex}.mp-wizard-step-dot.active{color:var(--purple)}.mp-wizard-step-dot.done{color:var(--green)}.mp-wizard-step-circle{background:var(--border);width:22px;height:22px;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;font-size:11px;font-weight:700;transition:all .3s;display:flex}.mp-wizard-step-dot.active .mp-wizard-step-circle{background:var(--purple);color:#fff}.mp-wizard-step-dot.done .mp-wizard-step-circle{background:var(--green);color:#fff}.mp-wizard-step-dot.done .mp-wizard-step-circle:after{content:"✓";font-size:12px}.mp-wizard-step-dot.done .mp-wizard-step-circle span{display:none}.mp-wizard-step-dot.active .mp-wizard-step-circle span,.mp-wizard-step-dot .mp-wizard-step-circle span{display:inline}.mp-wizard-step-line{background:var(--border);border-radius:5px;width:40px;height:2px;margin:0 8px;transition:background .3s}.mp-wizard-step-line.done{background:var(--green)}.monthly-planner-body{flex-direction:column;flex:1;align-items:stretch;min-height:0;padding:14px 28px;display:flex;overflow:hidden}.monthly-planner-body>*{width:100%;max-width:600px;margin-left:auto;margin-right:auto}.monthly-planner-error{background:var(--red-soft);border:1px solid var(--error-border);color:var(--red);border-radius:5px;align-items:center;gap:8px;margin-bottom:10px;padding:10px 14px;font-size:13px;animation:.3s mp-shake;display:flex}@keyframes mp-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.monthly-planner-error svg{flex-shrink:0}.monthly-planner-upgrade-btn{background:var(--purple);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:5px;margin-left:auto;padding:5px 12px;font-size:12px;font-weight:600;transition:background .15s}.monthly-planner-upgrade-btn:hover{background:var(--indigo)}.mp-step-transition-container{flex:1;min-height:0;padding-right:2px;position:relative;overflow:hidden}.mp-step-panel{opacity:0;pointer-events:none;will-change:opacity, transform;scrollbar-width:thin;scrollbar-color:var(--purple-soft-bg,#e0e7ff) transparent;flex-direction:column;padding-bottom:16px;transition:opacity .2s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.22,1,.36,1);display:flex;position:absolute;inset:0;overflow:hidden auto;transform:translate(24px)}.mp-step-panel::-webkit-scrollbar{width:5px}.mp-step-panel::-webkit-scrollbar-track{background:0 0}.mp-step-panel::-webkit-scrollbar-thumb{background:var(--purple-soft-bg,#e0e7ff);border-radius:5px}.mp-step-panel.active{opacity:1;transform:translateX(var(--swipe-offset,0px));pointer-events:auto}.mp-step-panel.exit-left{opacity:0;transform:translate(-24px)}.mp-step-panel.exit-right{opacity:0;transform:translate(24px)}.mp-section-card{background:var(--white-soft);border:1px solid var(--border-soft,var(--border));box-sizing:border-box;border-radius:5px;width:100%;margin-bottom:10px;padding:14px;transition:border-color .2s}.mp-step-panel>.mp-section-card:last-child{margin-bottom:0}.mp-section-card:hover{border-color:var(--border)}.mp-section-card-header{align-items:center;gap:8px;margin-bottom:10px;display:flex}.mp-section-card-icon{background:var(--indigo-soft-bg);width:28px;height:28px;color:var(--purple);border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;display:flex}.mp-section-card-title{color:var(--heading);font-size:14px;font-weight:600}.mp-section-card-desc{color:var(--text-light);margin-left:auto;font-size:12px}.mp-label{color:var(--foreground);margin-bottom:5px;font-size:12px;font-weight:600;display:block}.mp-row{flex-wrap:wrap;gap:10px;display:flex}.mp-row>*{flex:1;min-width:120px}.mp-select{border:1px solid var(--border);background:var(--input-bg,var(--card));width:100%;color:var(--foreground);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238a8278' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;border-radius:5px;outline:none;padding:8px 36px 8px 12px;font-size:13px;transition:border-color .15s,box-shadow .15s}.mp-select:focus{border-color:var(--purple);box-shadow:0 0 0 3px var(--indigo-soft-bg)}.mp-input{border:1px solid var(--border);background:var(--input-bg,var(--card));width:100%;color:var(--foreground);box-sizing:border-box;border-radius:5px;outline:none;padding:8px 12px;font-size:13px;transition:border-color .15s,box-shadow .15s}.mp-input:focus{border-color:var(--purple);box-shadow:0 0 0 3px var(--indigo-soft-bg)}.mp-textarea{border:1px solid var(--border);background:var(--input-bg,var(--card));width:100%;color:var(--foreground);resize:vertical;box-sizing:border-box;border-radius:5px;outline:none;padding:8px 12px;font-family:inherit;font-size:13px;transition:border-color .15s,box-shadow .15s}.mp-textarea:focus{border-color:var(--purple);box-shadow:0 0 0 3px var(--indigo-soft-bg)}.mp-chip-row{flex-wrap:wrap;gap:6px;display:flex}.mp-chip{border:1px solid var(--border);background:var(--card);color:var(--foreground);cursor:pointer;white-space:nowrap;border-radius:5px;align-items:center;gap:4px;padding:5px 12px;font-size:12px;font-weight:500;transition:all .15s;display:inline-flex}.mp-chip:hover{border-color:var(--purple-soft-bg,var(--border));background:var(--purple-soft-bg)}.mp-chip.active{border-color:var(--purple);background:var(--indigo-soft-bg);color:var(--purple);font-weight:600}.mp-chip.sm{padding:4px 10px;font-size:11px}.mp-checkbox-label{color:var(--foreground);cursor:pointer;border:1px solid var(--border-soft,var(--border));border-radius:5px;align-items:center;gap:8px;padding:7px 10px;font-size:13px;transition:background .15s,border-color .15s;display:flex}.mp-checkbox-label:hover{background:var(--white-soft);border-color:var(--border)}.mp-checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--purple);cursor:pointer;border-radius:5px}.mp-premium-badge{text-transform:uppercase;letter-spacing:.04em;background:linear-gradient(135deg, var(--amber), var(--orange));color:#fff;border-radius:5px;margin-left:6px;padding:2px 8px;font-size:10px;font-weight:700;display:inline-block}.mp-date-grid-wrap{border:1px solid var(--border);background:var(--card);border-radius:5px;margin-bottom:6px;padding:8px 10px}.mp-date-grid{grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:6px;display:grid}.mp-date-cell{border:1px solid var(--border-soft,var(--border));background:var(--card);color:var(--foreground);cursor:pointer;border-radius:5px;justify-content:center;align-items:center;gap:2px;min-height:26px;padding:3px 0;font-size:12px;font-weight:500;transition:all .15s;display:flex;position:relative}.mp-date-cell:hover{border-color:var(--purple-soft-bg);background:var(--indigo-soft-bg)}.mp-date-cell.active{border-color:var(--purple);background:var(--indigo-soft-bg);color:var(--purple);box-shadow:0 0 0 2px var(--purple-soft-bg);font-weight:600}.mp-date-cell:not(.active):not(.cheat){opacity:.7;border-style:dashed}.mp-date-cell:not(.active):not(.cheat):hover{opacity:1;border-style:solid}.mp-date-cell.weekend{color:var(--text-muted);font-style:italic}.mp-date-cell.cheat{border-color:var(--amber);background:var(--amber-soft-bg,#fbbf2414);color:var(--orange);box-shadow:0 0 0 2px var(--amber-soft-bg,#fbbf2433);font-weight:600}.mp-date-cell.cheat:hover{border-color:var(--orange);background:#fbbf2426}.mp-date-cell--empty{cursor:default;min-height:26px;background:0 0!important;border:none!important}.mp-cheat-star{color:var(--amber);font-size:9px;position:absolute;top:0;right:2px}.mp-date-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px;margin-top:4px;display:flex}.mp-date-mode-chips,.mp-date-actions-right{flex-wrap:wrap;gap:4px;display:flex}.mp-date-summary{color:var(--text-muted);text-align:center;padding:2px 0;font-size:12px}.mp-date-grid-legend{color:var(--text-muted);flex-wrap:wrap;gap:6px;margin-bottom:6px;font-size:11px;display:flex}.mp-day-legend-dot{vertical-align:middle;border-radius:5px;width:8px;height:8px;margin-right:3px;display:inline-block}.mp-date-cell-day{font-size:11px;font-weight:600;line-height:1}.mp-date-cell-plan{flex-direction:column;align-items:center;gap:1px;font-size:9px;line-height:1;display:flex}.mp-date-cell-plan-icon{font-size:11px;line-height:1}.mp-date-cell-plan-label{color:var(--text-secondary,#4b5563);white-space:nowrap;text-overflow:ellipsis;max-width:48px;font-size:8px;font-weight:500;display:none;overflow:hidden}.mp-date-cell.rest-day{border-color:var(--green,#22c55e);color:var(--text,#111827);background:#22c55e14}.mp-date-cell.rest-day:hover{border-color:var(--green,#16a34a);box-shadow:0 1px 4px #22c55e33}.mp-date-cell.exercise-auto{background:#10b9810f!important;border-color:#10b981!important}.mp-date-cell.exercise-auto:hover{background:#10b9811f!important;border-color:#059669!important}.mp-date-cell.exercise-excluded{opacity:.5;color:var(--text-muted,#9ca3af);background:0 0;border-style:dashed!important}.mp-date-cell.exercise-excluded:hover{opacity:.7;background:var(--indigo-soft-bg,#6366f10a);border-style:dashed!important}.mp-exercise-section{padding:10px 0 0}.mp-premium-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.mp-overwrite-inline-warning{background:var(--amber-soft-bg,#fbbf2414);border:1px solid var(--amber);color:var(--orange);border-radius:5px;align-items:center;gap:8px;margin-bottom:8px;padding:8px 12px;font-size:12px;line-height:1.4;display:flex}.mp-overwrite-inline-warning svg{color:var(--amber);flex-shrink:0}.mp-overwrite-inline-text{flex:1}.mp-overwrite-inline-text strong{color:var(--orange);font-weight:700}.mp-overwrite-inline-btn{background:var(--amber);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:5px;flex-shrink:0;padding:5px 12px;font-size:11px;font-weight:600;transition:background .15s}.mp-overwrite-inline-btn:hover{background:var(--orange)}.mp-overwrite-inline-warning--confirmed{border-color:var(--green);background:var(--green-soft-bg,#22c55e0f);color:var(--green)}.mp-overwrite-inline-warning--confirmed svg,.mp-overwrite-inline-warning--confirmed .mp-overwrite-inline-text strong{color:var(--green)}.monthly-planner-generating{scrollbar-width:thin;scrollbar-color:var(--purple-soft-bg,#e0e7ff) transparent;flex-direction:column;flex:1;gap:20px;min-height:0;padding:20px 16px;display:flex;overflow-y:auto}.monthly-planner-generating::-webkit-scrollbar{width:6px}.monthly-planner-generating::-webkit-scrollbar-track{background:0 0}.monthly-planner-generating::-webkit-scrollbar-thumb{background:var(--purple-soft-bg,#e0e7ff);border-radius:5px}.mp-gen-summary{background:var(--card,#fff);border:1px solid var(--purple-soft-bg,#6366f12e);border-radius:5px;flex-shrink:0;overflow:hidden}.mp-gen-summary-stats{background:linear-gradient(180deg, var(--white-soft,#f8f9ff) 0%, var(--card,#fff) 100%);align-items:stretch;gap:0;padding:12px 8px;display:flex}.mp-gen-stat-item{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;min-width:0;padding:4px 2px;display:flex}.mp-gen-stat-value{color:var(--heading);letter-spacing:-.02em;background:linear-gradient(135deg, var(--purple,#6366f1), var(--indigo,#818cf8));-webkit-text-fill-color:transparent;white-space:nowrap;-webkit-background-clip:text;background-clip:text;font-size:18px;font-weight:800;line-height:1.2}.mp-gen-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:10px;font-weight:500;overflow:hidden}.mp-gen-stat-divider{background:var(--purple-soft-bg,#6366f12e);flex-shrink:0;align-self:center;width:1px;min-height:32px}.mp-gen-summary-features{border-top:1px solid var(--purple-soft-bg,#6366f12e);flex-wrap:wrap;gap:4px;padding:8px 12px 10px;display:flex}.mp-gen-feature-tag{color:var(--purple);background:var(--indigo-soft-bg,#6366f10f);border:1px solid var(--purple-soft-bg,#6366f12e);white-space:nowrap;letter-spacing:.01em;border-radius:5px;align-items:center;padding:2px 8px;font-size:10px;font-weight:500;line-height:1.4;display:inline-flex}.mp-gen-progress-area{background:linear-gradient(180deg, var(--indigo-soft-bg,#6366f108) 0%, var(--card,#fff) 60%);border:1px solid var(--purple-soft-bg,#6366f12e);border-radius:5px;flex-direction:column;flex-shrink:0;align-items:center;gap:14px;padding:24px 20px;display:flex}.mp-generating-animation{width:60px;height:60px;position:relative}.mp-generating-ring{border:3px solid var(--indigo-soft-bg);border-top-color:var(--purple);border-radius:50%;animation:1s linear infinite mp-spin;position:absolute;inset:0}.mp-generating-icon{justify-content:center;align-items:center;font-size:26px;display:flex;position:absolute;inset:0}@keyframes mp-spin{to{transform:rotate(360deg)}}.mp-gen-message{color:var(--heading);text-align:center;max-width:340px;font-size:14px;font-weight:600;line-height:1.4;animation:.5s mp-fade-message}@keyframes mp-fade-message{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.mp-progress-bar-wrap{width:100%;max-width:320px}.mp-progress-bar{background:var(--white-soft);border-radius:5px;height:6px;overflow:hidden}.mp-progress-fill{background:linear-gradient(90deg, var(--purple), var(--indigo));border-radius:5px;height:100%;transition:width .4s}.mp-progress-count{color:var(--text-light);font-size:12px;font-weight:600}.mp-gen-away-note{color:var(--purple);background:var(--indigo-soft-bg,#6366f10f);border:1px solid var(--purple-soft-bg,#6366f12e);text-align:center;word-break:break-word;box-sizing:border-box;border-radius:5px;align-items:center;gap:6px;min-width:0;margin-top:10px;padding:8px 12px;font-size:12px;font-weight:500;display:flex;overflow:hidden}.mp-gen-away-note svg{flex-shrink:0}.mp-gen-list-container{border:1px solid var(--purple-soft-bg,#6366f12e);background:var(--card,#fff);border-radius:5px;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.mp-gen-list-header{border-bottom:1px solid var(--purple-soft-bg,#6366f12e);background:var(--indigo-soft-bg,#6366f10a);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.mp-gen-list-title{color:var(--heading);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.mp-gen-list-count{min-width:22px;height:22px;color:var(--purple);background:var(--indigo-soft-bg,#6366f11a);border-radius:5px;justify-content:center;align-items:center;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}.mp-gen-list{scrollbar-width:thin;scrollbar-color:var(--purple-soft-bg,#e0e7ff) transparent;flex-direction:column;flex:1;gap:6px;padding:6px 8px;display:flex;overflow-y:auto}.mp-gen-list::-webkit-scrollbar{width:6px}.mp-gen-list::-webkit-scrollbar-track{background:0 0}.mp-gen-list::-webkit-scrollbar-thumb{background:var(--purple-soft-bg,#e0e7ff);border-radius:5px}.mp-gen-list-empty{color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;padding:32px 16px;display:flex}.mp-gen-list-empty-icon{font-size:32px;animation:2s ease-in-out infinite mp-pulse}@keyframes mp-pulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.mp-gen-list-empty-text{font-size:13px;font-weight:500}.mp-gen-day-item{border:1px solid var(--purple-soft-bg,#6366f12e);background:var(--indigo-soft-bg,#6366f10a);border-radius:5px;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;transition:all .2s;animation:.35s mp-gen-day-in;display:flex}@keyframes mp-gen-day-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.mp-gen-day-item.latest{border-color:var(--purple,#6366f1);background:linear-gradient(135deg, var(--indigo-soft-bg,#6366f10f) 0%, #6366f10a 100%);box-shadow:0 1px 10px #6366f11f}.mp-gen-day-item:hover{border-color:var(--purple-soft,#c7d2fe);box-shadow:0 2px 8px #6366f10f}.mp-gen-day-item.mp-gen-day-error{border-color:var(--red,#ef4444);background:#fee2e2e6}.mp-gen-day-item.mp-gen-day-error:hover{border-color:#ef4444e6;box-shadow:0 2px 8px #ef44442e}.mp-gen-day-item.mp-gen-day-error .mp-gen-day-badge{background:var(--red,#ef4444)}.mp-gen-day-item.mp-gen-day-error .mp-gen-day-error-message{color:var(--red,#b91c1c)}.mp-gen-day-left{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.mp-gen-day-badge{background:linear-gradient(135deg, var(--purple,#6366f1), var(--indigo,#818cf8));color:#fff;letter-spacing:-.01em;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:12px;font-weight:700;display:flex;overflow:hidden}.mp-gen-day-badge.has-image{background:var(--card,#fff);border:1px solid var(--purple-soft-bg,#6366f12e)}.mp-gen-day-badge-img{object-fit:cover;width:100%;height:100%}.mp-gen-day-info{flex-direction:column;gap:2px;min-width:0;display:flex}.mp-gen-day-date{color:var(--heading);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.mp-gen-day-meta{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:10px;font-weight:500;overflow:hidden}.mp-gen-exercise-meta{color:var(--orange,#f97316);font-weight:600;display:inline}.mp-gen-exercise-meta:before{content:""}.mp-gen-exercise-meta span{display:inline}.mp-gen-day-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.mp-gen-day-meal-icons{align-items:center;gap:2px;display:flex}.mp-gen-meal-icon{background:var(--card,#fff);border:1px solid var(--purple-soft-bg,#6366f12e);border-radius:5px;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;line-height:1;transition:border-color .15s;display:inline-flex}.mp-gen-meal-icon:hover{border-color:var(--purple,#6366f1)}.mp-gen-meal-more{color:var(--purple);background:var(--indigo-soft-bg,#6366f10f);border:1px solid var(--purple-soft-bg,#6366f12e);border-radius:5px;padding:1px 5px;font-size:9px;font-weight:700;line-height:1.5}.mp-gen-day-pulse{background:var(--purple,#6366f1);border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:1.5s ease-in-out infinite mp-gen-pulse}@keyframes mp-gen-pulse{0%,to{opacity:.5;transform:scale(.8);box-shadow:0 0 #6366f166}50%{opacity:1;transform:scale(1);box-shadow:0 0 0 6px #6366f100}}.mp-generating-footer-actions{justify-content:flex-end;margin-top:18px;display:flex}.monthly-planner-review{box-sizing:border-box;flex-direction:column;flex:1;width:100%;min-height:0;padding:2px 0;animation:.35s ease-out mp-fadeIn;display:flex;overflow:hidden}@keyframes mp-fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.mp-review-summary{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.mp-review-summary-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.mp-review-summary-title{color:var(--text-light);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:700}.mp-review-stats-row{flex-wrap:wrap;gap:5px;display:flex}.mp-review-stat{text-align:center;background:linear-gradient(135deg, var(--card,#fff), var(--white-soft,#f8f9ff));border:1px solid var(--border-soft,var(--border));border-radius:5px;flex:1;min-width:55px;padding:6px 10px 5px;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.mp-review-stat:hover{border-color:var(--purple-soft,#c7d2fe);box-shadow:0 2px 8px #6366f114}.mp-review-stat-value{color:var(--heading);letter-spacing:-.02em;background:linear-gradient(135deg, var(--purple,#6366f1), var(--indigo,#818cf8));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:15px;font-weight:700;line-height:1.2;display:block}.mp-review-stat-label{color:var(--text-muted);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;margin-top:2px;font-size:9px;font-weight:500;display:block}.mp-review-config-row{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.mp-review-config-group-label{color:var(--text-light);text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;margin-right:2px;font-size:9px;font-weight:700}.mp-review-config-chip{border:1px solid var(--border-soft);background:var(--card);color:var(--foreground);white-space:nowrap;border-radius:5px;align-items:center;gap:3px;padding:2px 7px;font-size:10px;font-weight:500;line-height:1.5;display:inline-flex}.mp-review-config-chip.accent{border-color:var(--purple-soft-bg,#6366f140);background:var(--indigo-soft-bg);color:var(--purple)}.mp-review-config-chip.exercise{border-color:var(--amber-soft-bg,#fbbf2440);background:var(--amber-soft-bg,#fbbf240f);color:var(--orange)}.mp-review-config-chip.premium{border-color:var(--green-soft-bg,#22c55e40);background:var(--green-soft-bg,#22c55e0f);color:var(--green)}.mp-review-day-bulk-actions{border-bottom:1px solid var(--border-soft,var(--border));gap:6px;margin-bottom:8px;padding-bottom:8px;display:flex}.mp-review-days{border:1px solid var(--border-soft,#e5e7eb);background:linear-gradient(180deg, var(--white-soft,#f8f9ff) 0%, var(--card,#fff) 40%, var(--card,#fff) 100%);scrollbar-width:thin;scrollbar-color:var(--purple-soft-bg,#e0e7ff) transparent;border-radius:5px;flex-direction:column;flex:1;gap:12px;min-height:80px;padding:12px 14px 12px 10px;display:flex;position:relative;overflow:hidden auto;box-shadow:inset 0 1px 3px #00000005,0 1px #fffc}.mp-review-days::-webkit-scrollbar{width:6px}.mp-review-days::-webkit-scrollbar-track{background:0 0;border-radius:5px;margin:6px 0}.mp-review-days::-webkit-scrollbar-thumb{background:var(--purple-soft-bg,#e0e7ff);background-clip:padding-box;border:1px solid #0000;border-radius:5px;transition:background .2s}.mp-review-days::-webkit-scrollbar-thumb:hover{background:var(--purple,#6366f1)}.mp-review-days::-webkit-scrollbar-thumb:active{background:var(--indigo,#4f46e5)}.mp-review-days:before,.mp-review-days:after{content:"";z-index:2;pointer-events:none;flex-shrink:0;height:8px;position:sticky;left:0;right:0}.mp-review-days:before{background:linear-gradient(180deg, var(--white-soft,#f8f9ff) 0%, transparent 100%);margin-top:-12px;margin-bottom:4px;top:0}.mp-review-days:after{background:linear-gradient(0deg, var(--card,#fff) 0%, transparent 100%);margin-top:4px;margin-bottom:-12px;bottom:0}.mp-review-day-row{border:1px solid var(--border);background:var(--white-soft,#f5f6fa);cursor:default;border-radius:5px;padding:12px 14px;transition:all .2s cubic-bezier(.4,0,.2,1)}.mp-review-day-row:hover{border-color:var(--purple-soft,#c7d2fe);transform:translate(3px);box-shadow:0 3px 12px #6366f10f}.mp-review-day-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.mp-review-day-date{color:var(--heading);letter-spacing:-.01em;align-items:center;gap:6px;font-size:13px;font-weight:700;display:inline-flex}.mp-review-day-kcal{color:var(--purple);background:var(--indigo-soft-bg);white-space:nowrap;letter-spacing:.01em;border:1px solid #0000;border-radius:5px;padding:3px 10px;font-size:11px;font-weight:600;transition:all .2s}.mp-review-day-macro{color:var(--text-muted);background:var(--white-soft);white-space:nowrap;letter-spacing:.01em;border-radius:5px;padding:3px 8px;font-size:11px;font-weight:600}.mp-review-day-divider{background:var(--border);height:1px;margin:8px 0}.mp-review-day-row:hover .mp-review-day-kcal{border-color:var(--purple-soft,#c7d2fe);background:var(--white-soft)}.mp-review-checkbox{border:2px solid var(--border);background:var(--card);cursor:pointer;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;transition:all .15s;display:flex}.mp-review-checkbox:hover{border-color:var(--purple);background:var(--indigo-soft-bg)}.mp-review-checkbox.checked{border-color:var(--purple);background:var(--purple)}.mp-review-checkbox.checked svg{color:#fff}.mp-review-checkbox-col{flex-direction:column;flex-shrink:0;align-items:center;gap:4px;display:flex}.mp-review-checkbox-col.day{flex-direction:row;align-items:center}.mp-review-regen-btn{border:1px solid var(--border);background:var(--card);width:20px;height:20px;color:var(--text-muted);cursor:pointer;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex}.mp-review-regen-btn:hover:not(:disabled){border-color:var(--purple);color:var(--purple);background:var(--indigo-soft-bg)}.mp-review-regen-btn:disabled{cursor:default;opacity:.6}.mp-review-regen-btn.sm{width:18px;height:18px}.mp-review-regen-spin{animation:.8s linear infinite mp-spin}.mp-review-meal-card-wrapper{align-items:flex-start;gap:6px;width:100%;transition:opacity .2s;display:flex}.mp-review-meal-checkbox{border:2px solid var(--border);background:var(--card);cursor:pointer;border-radius:5px;justify-content:center;align-items:center;width:18px;min-width:18px;height:18px;margin-top:6px;transition:all .15s;display:flex}.mp-review-meal-checkbox:hover{border-color:var(--purple);background:var(--indigo-soft-bg)}.mp-review-meal-checkbox.checked{border-color:var(--purple);background:var(--purple)}.mp-review-meal-checkbox.checked svg{color:#fff}.mp-review-day-row.deselected{opacity:.5}.mp-review-day-row.deselected:hover{opacity:.7}.mp-review-meal-card-wrapper.deselected{opacity:.45}.mp-review-meal-card-wrapper.deselected:hover{opacity:.7}.mp-review-meal-bulk-actions{gap:6px;margin-bottom:6px;display:flex}.mp-secondary-btn.xs{text-transform:uppercase;letter-spacing:.03em;padding:3px 10px;font-size:10px;font-weight:600}.mp-review-day-meals{flex-direction:column;gap:6px;margin-top:6px;display:flex}.mp-review-meal-card{border:1px solid var(--border-soft);background:var(--card,#fff);border-radius:5px;flex:1;min-width:0;transition:border-color .2s,box-shadow .2s;overflow:hidden}.mp-review-meal-card:hover{border-color:var(--border);box-shadow:0 1px 6px #6366f10f}.mp-review-meal-card.expanded{border-color:var(--purple-soft,#c7d2fe);box-shadow:0 2px 12px #6366f114}.mp-review-meal-card-top{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;padding:8px 10px;display:flex}.mp-review-meal-img-wrap{background:var(--border-soft);border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;margin-top:5px;margin-right:5px;display:flex;position:relative;overflow:visible}.mp-review-meal-type-badge{background:var(--card,#fff);border:1.5px solid var(--border-soft,#e5e7eb);pointer-events:none;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;line-height:1;display:flex;position:absolute;top:-5px;right:-5px;box-shadow:0 1px 3px #00000014}.mp-review-meal-img{object-fit:cover;width:100%;height:100%}.mp-review-meal-img-placeholder{font-size:22px;line-height:1}.mp-review-meal-info{flex:1;min-width:0}.mp-review-meal-title{flex-direction:column;gap:2px;font-size:12px;display:flex}.mp-review-meal-title-item{align-items:flex-start;gap:5px;padding-left:2px;display:flex}.mp-review-meal-title-bullet{color:var(--text-muted);flex-shrink:0;font-size:11px;line-height:1.4}.mp-review-meal-meta{align-items:center;gap:6px;margin-top:2px;font-size:11px;display:flex}.mp-review-meal-kcal{color:var(--purple);font-weight:600}.mp-review-meal-label{color:var(--text-muted);text-transform:capitalize}.mp-review-meal-macros{flex-wrap:wrap;gap:6px;display:flex}.mp-review-meal-macro{color:var(--text-muted);background:var(--card);border:1px solid var(--border-soft);border-radius:5px;padding:1px 6px;font-size:10px;font-weight:500}.mp-review-meal-expand-icon{color:var(--text-muted);flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.mp-review-meal-details{max-height:0;transition:max-height .25s;overflow:hidden}.mp-review-meal-details.expanded{max-height:900px}.mp-review-meal-section{border-top:1px solid var(--border-soft);padding:8px 10px 10px}.mp-review-meal-section--macros{padding-bottom:6px}.mp-review-meal-section-title{color:var(--foreground);align-items:center;gap:5px;margin-bottom:6px;font-size:12px;font-weight:600;display:flex}.mp-review-meal-ingredients-text{color:var(--text);margin-top:4px;font-size:12px;line-height:1.6}.mp-review-meal-ingredients{flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex}.mp-review-meal-ingredients li{color:var(--text-muted);padding-left:14px;font-size:12px;line-height:1.4;position:relative}.mp-review-meal-ingredients li:before{content:"•";color:var(--purple-soft);position:absolute;left:4px}.mp-review-meal-recipe-text{color:var(--text-muted);font-size:12px;line-height:1.5}.mp-review-footer-actions{border-top:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding:14px 0 4px;display:flex}.mp-review-footer-summary{color:var(--text-muted);white-space:nowrap;align-items:center;gap:4px;font-size:13px;display:flex}.mp-review-footer-summary strong{color:var(--heading);font-size:14px;font-weight:700}.mp-review-footer-sep{color:var(--border);font-size:14px;font-weight:300}.mp-review-footer-buttons{flex-shrink:0;align-items:center;gap:8px;display:flex}.monthly-planner-footer{border-top:1px solid var(--border);flex-shrink:0;padding:14px 28px 20px}.mp-footer-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.mp-primary-btn{background:linear-gradient(135deg, var(--purple), var(--indigo));color:#fff;cursor:pointer;box-shadow:0 2px 8px var(--indigo-soft-bg,#6366f14d);border:none;border-radius:5px;align-items:center;gap:6px;padding:9px 18px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.mp-primary-btn:hover{box-shadow:0 4px 14px var(--purple-soft-bg,#6366f166);transform:translateY(-1px)}.mp-primary-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.mp-secondary-btn{border:1px solid var(--border);color:var(--foreground);cursor:pointer;background:0 0;border-radius:5px;align-items:center;gap:6px;padding:9px 16px;font-size:12px;font-weight:500;transition:all .15s;display:inline-flex}.mp-secondary-btn:hover{background:var(--white-soft);border-color:var(--text-light)}.mp-secondary-btn.sm{padding:4px 10px;font-size:11px}.mp-footer-generating{color:var(--text-muted);justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex}.mp-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.6s linear infinite mp-spin;display:inline-block}@media (max-width:600px){.monthly-planner-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;align-items:flex-start}.monthly-planner-modal{border-radius:0;width:100vw;max-width:100vw;height:100vh;max-height:100vh}.monthly-planner-header{padding:18px 18px 12px}.monthly-planner-body{padding:12px 18px}.monthly-planner-footer{padding:12px 18px 16px}.mp-section-card{padding:12px}.mp-premium-grid{grid-template-columns:1fr}.mp-review-summary{gap:4px}.mp-review-stat{min-width:44px;padding:5px 6px 4px}.mp-review-stat-value{font-size:13px}.mp-review-stat-label{font-size:8px}.mp-review-day-row{padding:10px}.mp-review-day-row:hover{transform:none}.mp-review-day-date{font-size:12px}.mp-review-footer-actions{flex-direction:column;align-items:stretch;gap:10px}.mp-review-footer-summary{justify-content:center}.mp-review-footer-buttons{width:100%}.mp-review-footer-buttons .mp-secondary-btn,.mp-review-footer-buttons .mp-primary-btn{flex:1;justify-content:center;min-height:44px;padding-left:8px;padding-right:8px}.mp-wizard-steps{gap:0;padding:12px 18px 0;overflow-x:auto}.mp-wizard-step-dot span{font-size:11px}}.monthly-planner-applying{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--green-soft-bg,#dcfce7) transparent;flex-direction:column;flex:1;gap:20px;width:100%;min-height:0;padding:20px 16px;animation:.35s ease-out mp-fadeIn;display:flex;overflow-y:auto}.monthly-planner-applying::-webkit-scrollbar{width:6px}.monthly-planner-applying::-webkit-scrollbar-track{background:0 0}.monthly-planner-applying::-webkit-scrollbar-thumb{background:var(--green-soft-bg,#dcfce7);border-radius:5px}.mp-apply-summary{background:var(--card,#fff);border:1px solid var(--green-soft-bg,#22c55e2e);border-radius:5px;flex-shrink:0;overflow:hidden}.mp-apply-summary-stats{background:linear-gradient(180deg, var(--green-soft-bg,#f0fdf4) 0%, var(--card,#fff) 100%);align-items:stretch;gap:0;padding:12px 8px;display:flex}.mp-apply-stat-item{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;min-width:0;padding:4px 2px;display:flex}.mp-apply-stat-value{color:var(--heading);letter-spacing:-.02em;background:linear-gradient(135deg, var(--green,#22c55e), var(--emerald,#10b981));-webkit-text-fill-color:transparent;white-space:nowrap;-webkit-background-clip:text;background-clip:text;font-size:18px;font-weight:800;line-height:1.2}.mp-apply-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:10px;font-weight:500;overflow:hidden}.mp-apply-stat-divider{background:var(--green-soft-bg,#22c55e2e);flex-shrink:0;align-self:center;width:1px;min-height:32px}.mp-apply-progress-area{background:linear-gradient(180deg, var(--green-soft-bg,#f0fdf4) 0%, var(--card,#fff) 60%);border:1px solid var(--green-soft-bg,#22c55e2e);border-radius:5px;flex-direction:column;flex-shrink:0;align-items:center;gap:14px;padding:24px 20px;display:flex}.mp-generating-ring--done{border-color:var(--green-soft-bg,#22c55e4d);border-top-color:var(--green,#22c55e);animation:none}.mp-progress-fill--green{background:linear-gradient(90deg, var(--green,#22c55e), var(--emerald,#10b981))}.mp-apply-done-message{text-align:center;flex-direction:column;align-items:center;gap:4px;animation:.5s mp-fade-message;display:flex}.mp-apply-done-message strong{color:var(--green,#22c55e);font-size:15px;font-weight:700}.mp-apply-done-sub{color:var(--text-muted);font-size:12px;font-weight:500}.mp-close-disabled{cursor:not-allowed;display:inline-flex}.mp-close-disabled svg{opacity:.3}.pwa-banner{background:var(--card);border-bottom:1px solid var(--border);padding:.75rem 1rem;padding-top:calc(.75rem + var(--safe-top));z-index:999;box-shadow:0 4px 20px var(--shadow-soft);align-items:center;gap:.75rem;transition:transform .3s;display:flex;position:fixed;top:0;left:0;right:0;transform:translateY(-100%)}.pwa-banner.show{transform:translateY(0)}.pwa-banner-icon{background:linear-gradient(135deg, var(--hero-bg-mid), var(--hero-bg-start));width:44px;height:44px;color:var(--orange-light);border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;font-family:Playfair Display,serif;font-size:1rem;font-weight:900;display:flex}.pwa-banner-content{flex:1;min-width:0}.pwa-banner-title{margin:0;font-size:.85rem;font-weight:600;line-height:1.3}.pwa-banner-desc{color:var(--text-muted);margin:2px 0 0;font-size:.72rem;line-height:1.3}.pwa-banner-btn{background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:5px;padding:.5rem 1rem;font-family:inherit;font-size:.8rem;font-weight:600;transition:background .15s}.pwa-banner-btn:hover{background:var(--modal-btn-primary-hover)}.pwa-banner-btn:active{background:var(--modal-btn-primary-active)}.pwa-banner-close{cursor:pointer;color:var(--text-light);background:0 0;border:none;padding:.3rem;font-size:1.2rem;line-height:1}footer{text-align:center;padding:1.5rem 1rem;padding-bottom:calc(1.5rem + var(--safe-bottom));color:var(--text-muted);background:var(--footer-bg,var(--card-bg));border-top:1px solid var(--card-border);max-width:100%;margin:0;font-size:.8rem;line-height:1.6}.jump-today{background:var(--accent);color:#fff;cursor:pointer;z-index:50;-webkit-tap-highlight-color:transparent;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.2rem;transition:transform .15s,box-shadow .15s;display:flex;position:fixed;bottom:1.5rem;right:1.5rem;box-shadow:0 3px 12px #e6510059}.jump-today:hover{box-shadow:0 4px 16px var(--orange-glow);transform:scale(1.05)}.jump-today:active{transform:scale(.95)}.cam-container{flex-direction:column;gap:1.25rem;width:100%;display:flex}.base-modal-title:has(.cam-ai-icon){align-items:center;gap:.4rem;display:inline-flex}.cam-ai-icon{color:var(--purple,#b388ff);filter:drop-shadow(0 0 6px #b388ff80);flex-shrink:0}.cam-hint-bar{text-align:center;box-sizing:border-box;justify-content:center;align-items:center;min-height:2.2rem;padding:0 .5rem;display:flex;overflow:hidden}.cam-hint-text{color:var(--purple,#b388ff);opacity:0;word-break:break-word;max-width:100%;font-size:.85rem;font-weight:600;transition:opacity .3s,transform .3s;transform:translateY(4px)}.cam-hint-text.visible{opacity:1;transform:translateY(0)}.cam-viewfinder{aspect-ratio:1;width:100%;max-height:50dvh;box-shadow:0 4px 20px var(--shadow-lg);background:#000;border-radius:5px;position:relative;overflow:hidden}.cam-video{object-fit:cover;width:100%;height:100%;display:block}.cam-video-hidden{opacity:0;pointer-events:none;position:absolute}.cam-video-placeholder{background:#000;width:100%;height:100%}.cam-scan-overlay{pointer-events:none;z-index:2;position:absolute;inset:12px}.cam-scan-frame{border:2px solid #ffffff26;border-radius:4px;width:100%;height:100%;position:relative}.cam-scan-frame:before,.cam-scan-frame:after{content:"";border-color:var(--accent);opacity:.6;border-style:solid;width:24px;height:24px;position:absolute}.cam-scan-frame:before{border-width:3px 0 0 3px;border-radius:3px 0 0;top:-2px;left:-2px}.cam-scan-frame:after{border-width:0 3px 3px 0;border-radius:0 0 3px;bottom:-2px;right:-2px}.cam-error{background:var(--error-bg,#f871711f);-webkit-backdrop-filter:blur(8px);color:var(--error-color,#f87171);border:1px solid var(--error-border,#f8717140);text-align:center;z-index:5;border-radius:5px;padding:.6rem .75rem;font-size:.78rem;font-weight:500;position:absolute;bottom:12px;left:12px;right:12px}.cam-action-bar{justify-content:center;align-items:center;padding:.5rem 0;display:flex;position:relative}.cam-btn-capture{background:var(--purple,#b388ff);color:#fff;border:4px solid var(--background);width:72px;height:72px;box-shadow:0 0 0 3px var(--purple,#b388ff), 0 0 20px #b388ff59, 0 4px 16px #0003;cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:transform .15s,box-shadow .2s;display:inline-flex}.cam-btn-capture:active{box-shadow:0 0 0 3px var(--purple,#b388ff), 0 0 12px #b388ff40, 0 2px 8px #00000026;transform:scale(.93)}.cam-btn-gallery{background:var(--hover-bg);width:44px;height:44px;color:var(--foreground);border:1.5px solid var(--border);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:background .2s,transform .15s;display:inline-flex;position:absolute;right:0}.cam-btn-gallery:hover{background:var(--hover-bg-active)}.cam-btn-gallery:active{transform:scale(.93)}.cam-btn{cursor:pointer;border:none;border-radius:5px;justify-content:center;align-items:center;gap:.45rem;padding:.7rem 1.25rem;font-family:DM Sans,sans-serif;font-size:.88rem;font-weight:600;transition:background .2s,transform .15s;display:inline-flex}.cam-btn:active{transform:scale(.97)}.cam-btn:disabled{opacity:.5;cursor:not-allowed}.cam-btn-primary{background:var(--accent);color:var(--text-on-accent,#fff)}.cam-btn-primary:hover:not(:disabled){background:var(--accent-hover)}.cam-btn-secondary{background:var(--hover-bg);color:var(--foreground);border:1.5px solid var(--border)}.cam-btn-secondary:hover:not(:disabled){background:var(--hover-bg-active)}.cam-processing{flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;padding:2.5rem 1rem;display:flex}.cam-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:44px;height:44px;animation:.8s linear infinite cam-spin}@keyframes cam-spin{to{transform:rotate(360deg)}}.cam-processing-text{color:var(--foreground);text-align:center;max-width:280px;font-size:.95rem;font-weight:500}.cam-processing-img{object-fit:cover;opacity:.4;width:140px;height:140px;box-shadow:0 4px 12px var(--shadow-md);border-radius:5px}.cam-review-layout{flex-direction:column;gap:1.25rem;display:flex}.cam-review-image-section{border-radius:5px;width:100%;height:40vh;max-height:40vh;position:relative;overflow:hidden}.cam-review-image{object-fit:contain;border-radius:5px;width:100%;height:100%;display:block}.cam-review-details{flex-direction:column;gap:1rem;display:flex}.cam-review-macros{flex-wrap:wrap;gap:.5rem;display:flex}.cam-macro-pill{background:var(--input-bg);border:1.5px solid var(--border);border-radius:5px;align-items:center;gap:0;transition:border-color .2s,box-shadow .2s;display:inline-flex;overflow:hidden}.cam-macro-pill:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow)}.cam-macro-input{width:60px;color:var(--foreground);text-align:right;box-sizing:border-box;-moz-appearance:textfield;background:0 0;border:none;outline:none;padding:.5rem .3rem .5rem .65rem;font-family:inherit;font-size:.9rem;font-weight:700}.cam-macro-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.cam-macro-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.cam-macro-unit{color:var(--text-muted);white-space:nowrap;-webkit-user-select:none;user-select:none;padding:.5rem .65rem .5rem .25rem;font-size:.68rem;font-weight:600}.cam-meal-type-toggle{border:1.5px solid var(--border);background:var(--card-bg);color:var(--foreground);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:5px;align-self:flex-start;align-items:center;gap:.5rem;padding:.55rem .9rem;font-family:DM Sans,sans-serif;font-size:.82rem;font-weight:600;transition:border-color .2s,background .2s;display:inline-flex}.cam-meal-type-toggle:hover{border-color:var(--accent);background:var(--hover-bg)}.cam-meal-type-toggle:active{transform:scale(.97)}.cam-meal-type-chevron{color:var(--text-muted);font-size:.55rem;transition:color .2s}.cam-meal-type-toggle:hover .cam-meal-type-chevron{color:var(--accent)}.cam-review-actions{gap:.6rem;display:flex}.cam-review-actions .cam-btn{flex:1}.cam-review-field{flex-direction:column;gap:.4rem;display:flex}.cam-review-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.68rem;font-weight:700}.cam-review-hint{color:var(--text-muted);opacity:.65;margin:0;font-size:.68rem;line-height:1.4}.cam-review-retake-badge{-webkit-backdrop-filter:blur(6px);color:#fff;cursor:pointer;background:#0009;border:none;border-radius:5px;padding:.35rem .7rem;font-family:DM Sans,sans-serif;font-size:.72rem;font-weight:600;transition:background .2s;position:absolute;bottom:8px;right:8px}.cam-review-retake-badge:hover{background:#000c}.cam-spinner-sm{border:2px solid var(--accent-glow);border-top-color:var(--accent);vertical-align:middle;border-radius:50%;width:14px;height:14px;animation:.6s linear infinite cam-spin;display:inline-block}@media (min-width:500px){.cam-review-layout{flex-direction:row;align-items:flex-start;gap:1.75rem}.cam-review-image-section{flex-shrink:0;max-width:240px}.cam-review-details{flex:1;min-width:0}}.cam-confirm-overwrite{flex-direction:column;align-items:center;gap:1rem;padding:.5rem 0;display:flex}.cam-confirm-text{color:var(--text-main);text-align:center;margin:0;font-size:.9rem;line-height:1.5}.cam-confirm-images{justify-content:center;gap:1rem;width:100%;display:flex}.cam-confirm-image-col{flex-direction:column;flex:1;align-items:center;gap:.4rem;max-width:160px;display:flex}.cam-confirm-image-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:600}.cam-confirm-thumb{aspect-ratio:1;object-fit:cover;border:2px solid var(--border);border-radius:5px;width:100%;display:block}.cam-title-edit-row{align-items:stretch;gap:.6rem;display:flex}.cam-title-edit-row .cam-review-input{flex:1;min-width:0}.cam-btn-recreate{background:var(--accent-soft);color:var(--accent);border:1.5px solid var(--accent);cursor:pointer;white-space:nowrap;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;gap:.35rem;padding:.65rem .8rem;font-family:DM Sans,sans-serif;font-size:.78rem;font-weight:600;transition:background .2s;display:inline-flex}.cam-btn-recreate:hover:not(:disabled){background:var(--accent-dim)}.cam-btn-recreate:disabled{opacity:.5;cursor:not-allowed}.cam-review-input{border:1.5px solid var(--border);background:var(--input-bg);width:100%;color:var(--foreground);box-sizing:border-box;border-radius:5px;outline:none;padding:.65rem .85rem;font-family:inherit;font-size:.9rem;font-weight:500;transition:border-color .2s,box-shadow .2s}.cam-review-textarea{resize:vertical;min-height:2.8em;line-height:1.5}.cam-review-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.qa-backdrop{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c;justify-content:center;align-items:center;animation:.2s cubic-bezier(.22,1,.36,1) qaFadeIn;display:flex;position:fixed;inset:0}@keyframes qaFadeIn{0%{opacity:0}to{opacity:1}}@keyframes qaSlideUp{0%{opacity:0;transform:translateY(24px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.qa-modal{background:var(--card,#1e1e2e);border-radius:5px;flex-direction:column;width:90%;max-width:440px;max-height:85vh;animation:.3s cubic-bezier(.22,1,.36,1) qaSlideUp;display:flex;overflow-y:auto;box-shadow:0 20px 60px #0006}.qa-header{border-bottom:1px solid var(--border,#ffffff14);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.qa-title{color:var(--foreground,#eee);align-items:center;gap:.5rem;margin:0;font-size:1.1rem;font-weight:700;display:flex}.qa-close-btn{background:var(--hover-bg,#ffffff0f);width:32px;height:32px;color:var(--text-muted,#999);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.qa-close-btn:hover{background:var(--border,#ffffff1f);color:var(--foreground,#eee)}.qa-preview{background:var(--hover-bg,#ffffff08);gap:.85rem;padding:1rem 1.25rem;display:flex}.qa-preview-image-wrap{border-radius:5px;flex-shrink:0;width:72px;height:72px;position:relative;overflow:hidden}.qa-preview-image{object-fit:cover;width:100%;height:100%}.qa-preview-kcal{color:#fff;background:#000000b3;border-radius:5px;padding:.15rem .4rem;font-size:.6rem;font-weight:700;position:absolute;bottom:3px;left:3px}.qa-preview-info{flex-direction:column;justify-content:center;gap:.3rem;min-width:0;display:flex}.qa-preview-title{color:var(--foreground,#eee);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.95rem;font-weight:700;overflow:hidden}.qa-preview-label{color:var(--text-muted,#999);font-size:.72rem}.qa-form{flex-direction:column;gap:.85rem;padding:1rem 1.25rem;display:flex}.qa-calendar{background:var(--hover-bg,#ffffff08);border-radius:5px;padding:.85rem}.qa-calendar-header{justify-content:space-between;align-items:center;margin-bottom:.65rem;display:flex}.qa-calendar-month{color:var(--foreground,#eee);font-size:.9rem;font-weight:700}.qa-calendar-nav{width:30px;height:30px;color:var(--text-muted,#999);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .15s;display:flex}.qa-calendar-nav:hover{background:var(--border,#ffffff1a);color:var(--foreground,#eee)}.qa-calendar-grid{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.qa-calendar-weekday{text-align:center;color:var(--text-muted,#888);text-transform:uppercase;letter-spacing:.03em;padding:4px 0;font-size:.65rem;font-weight:600}.qa-calendar-cell{aspect-ratio:1;width:100%;color:var(--foreground,#ddd);cursor:pointer;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;font-family:inherit;font-size:.8rem;font-weight:500;transition:all .15s;display:flex}.qa-calendar-cell--empty{cursor:default;background:0 0}.qa-calendar-cell:hover:not(.qa-calendar-cell--empty){background:var(--border,#ffffff1a)}.qa-calendar-cell.today{color:var(--accent,#e65100);font-weight:700}.qa-calendar-cell.selected{background:var(--accent,#e65100);color:#fff;font-weight:700}.qa-calendar-cell.selected:hover{background:var(--accent,#e65100);opacity:.85}.qa-calendar-cell--multi{aspect-ratio:1;cursor:pointer;background:0 0;border:none;border-radius:5px;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:100%;padding:2px;font-family:inherit;transition:all .15s;display:flex}.qa-calendar-cell--multi:hover{background:var(--border,#ffffff1a)}.qa-calendar-cell--multi.today{box-shadow:inset 0 0 0 1.5px var(--accent,#e65100)}.qa-calendar-cell--multi.selected{background:var(--accent,#e65100)}@supports (color:color-mix(in lab, red, red)){.qa-calendar-cell--multi.selected{background:color-mix(in srgb, var(--accent,#e65100) 15%, transparent)}}.qa-calendar-cell--multi.selected{box-shadow:inset 0 0 0 2px var(--accent,#e65100)}.qa-calendar-cell--multi.selected .qa-cell-day{color:var(--accent,#e65100);font-weight:700}.qa-cell-day{color:var(--foreground,#ddd);font-size:.7rem;font-weight:500;line-height:1}.qa-cell-dots{gap:2px;display:flex}.qa-cell-dot{border-radius:50%;flex-shrink:0;width:5px;height:5px}.qa-cell-dot.free{background:var(--green,#22c55e)}.qa-cell-dot.occupied{background:var(--red,#ef4444)}.qa-calendar-actions{justify-content:space-between;align-items:center;gap:.4rem;margin-top:.5rem;display:flex}.qa-calendar-action-btn{color:var(--accent,#e65100);cursor:pointer;background:0 0;border:none;border-radius:5px;padding:.25rem .5rem;font-family:inherit;font-size:.72rem;font-weight:500;transition:background .15s}.qa-calendar-action-btn:hover{background:var(--accent,#e65100)}@supports (color:color-mix(in lab, red, red)){.qa-calendar-action-btn:hover{background:color-mix(in srgb, var(--accent,#e65100) 12%, transparent)}}.qa-calendar-count{color:var(--text-muted,#999);font-size:.72rem;font-weight:500}.qa-calendar-legend{color:var(--text-muted,#999);flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.5rem;font-size:.62rem;display:flex}.qa-legend-item{color:var(--text-muted,#888);font-weight:500}.qa-legend-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.qa-legend-dot.free{background:var(--green,#22c55e)}.qa-legend-dot.occupied{background:var(--red,#ef4444)}.qa-progress-text{color:var(--text-muted,#999);font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:600}.qa-slots{flex-direction:column;gap:.5rem;display:flex}.qa-slots-label{color:var(--text-muted,#999);text-transform:uppercase;letter-spacing:.03em;align-items:center;gap:.4rem;font-size:.78rem;font-weight:600;display:flex}.qa-slots-loading{color:var(--text-muted,#999);padding:.5rem 0;font-size:.8rem}.qa-slots-row{grid-template-columns:repeat(4,1fr);gap:.5rem;display:grid}.qa-slot-card{border:1.5px solid var(--border,#ffffff1a);color:var(--text-muted,#999);cursor:pointer;text-align:center;background:0 0;border-radius:5px;flex-direction:column;align-items:center;gap:.3rem;padding:.65rem .4rem;font-family:inherit;font-size:.72rem;font-weight:500;transition:all .2s;display:flex}.qa-slot-card:hover{border-color:var(--accent,#e65100);color:var(--foreground,#eee)}.qa-slot-card.selected{border-color:var(--accent,#e65100);background:var(--accent,#e65100)}@supports (color:color-mix(in lab, red, red)){.qa-slot-card.selected{background:color-mix(in srgb, var(--accent,#e65100) 12%, transparent)}}.qa-slot-card.selected{color:var(--accent,#e65100)}.qa-slot-card.occupied{opacity:.7;border-style:dashed}.qa-slot-card.occupied.selected{opacity:1;border-style:solid}.qa-slot-icon{font-size:1.2rem}.qa-slot-label{font-size:.72rem;font-weight:600}.qa-slot-free{color:var(--green,#22c55e);font-size:.6rem;font-weight:500}.qa-slot-occupied{color:var(--orange,#f59e0b);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.6rem;font-weight:500;overflow:hidden}.qa-error{color:#ef4444;background:#ef44441f;border-radius:5px;align-items:center;gap:.4rem;padding:.6rem .85rem;font-size:.82rem;font-weight:500;display:flex}.qa-success{color:#22c55e;background:#22c55e1f;border-radius:5px;align-items:center;gap:.4rem;padding:.6rem .85rem;font-size:.82rem;font-weight:500;display:flex}.qa-footer{border-top:1px solid var(--border,#ffffff14);justify-content:flex-end;align-items:center;gap:.65rem;padding:.85rem 1.25rem;display:flex}.qa-btn{cursor:pointer;border:none;border-radius:5px;align-items:center;gap:.4rem;padding:.65rem 1.2rem;font-size:.85rem;font-weight:600;transition:all .2s;display:flex}.qa-btn:disabled{opacity:.5;cursor:not-allowed}.qa-btn-ghost{color:var(--text-muted,#999);background:0 0}.qa-btn-ghost:hover{color:var(--foreground,#eee)}.qa-btn-primary{background:var(--accent,#e65100);color:#fff}.qa-btn-primary:hover{opacity:.88}.qa-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite qaSpin}@keyframes qaSpin{to{transform:rotate(360deg)}}.qa-warning{background:#ff980014;border:1px solid #ff98004d;border-radius:5px;padding:.85rem}.qa-warning-header{color:var(--orange,#f59e0b);align-items:center;gap:.45rem;margin-bottom:.6rem;font-size:.8rem;font-weight:600;display:flex}.qa-warning-header svg{flex-shrink:0}.qa-warning-hint{color:var(--text-muted,#999);margin:.45rem 0 0;font-size:.72rem}.qa-toggle-label{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;display:inline-flex}.qa-toggle-input{opacity:0;width:0;height:0;position:absolute}.qa-toggle-track{background:var(--border,#ffffff26);border-radius:20px;flex-shrink:0;width:34px;height:20px;transition:background .2s;position:relative}.qa-toggle-input:checked+.qa-toggle-track{background:var(--orange,#f59e0b)}.qa-toggle-thumb{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0003}.qa-toggle-input:checked+.qa-toggle-track .qa-toggle-thumb{transform:translate(14px)}.qa-toggle-text{color:var(--foreground,#eee);font-size:.78rem;font-weight:500}.qa-result{color:var(--green,#22c55e);background:#22c55e1a;border:1px solid #22c55e40;border-radius:5px;align-items:center;gap:.45rem;padding:.65rem .85rem;font-size:.82rem;display:flex}.qa-result svg{flex-shrink:0}.qa-result-close{margin-left:auto;color:var(--green,#22c55e)!important;padding:.3rem .7rem!important;font-size:.78rem!important}.qa-result-close:hover{background:#22c55e26!important}@media (max-width:700px){.lb-grid{grid-template-columns:1fr;gap:1rem}.lb-filter-panel{padding:.85rem 1rem}.lb-modal{border-radius:5px;max-height:85vh}.lb-modal-body{padding:1rem}}.user-dashboard{max-width:1500px;margin:0 auto}.stats-slide{box-sizing:border-box;opacity:0;grid-template-rows:minmax(0,0fr);min-width:0;transition:grid-template-rows .4s cubic-bezier(.32,.72,0,1),opacity .28s cubic-bezier(.32,.72,0,1),transform .4s cubic-bezier(.32,.72,0,1);display:grid;transform:translateY(-10px)scale(.98)}.stats-slide-open{opacity:1;grid-template-rows:minmax(0,1fr);transform:translateY(0)scale(1)}.stats-slide-inner{min-width:0;min-height:0;overflow:hidden}.dashboard-meals-section{margin-top:.5rem}.dashboard-loading{color:var(--text-light);flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:4rem 2rem;display:flex}.loading-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:36px;height:36px;animation:.7s linear infinite spin}.dashboard-empty{text-align:center;color:var(--text-light);padding:4rem 2rem}.dashboard-widgets-grid{grid-template-columns:repeat(4,1fr);gap:.45rem;display:grid}.widget-card{background:var(--card-bg);border:1px solid var(--card-border);box-sizing:border-box;border-radius:5px;flex-direction:column;align-items:center;min-width:0;padding:.55rem;transition:box-shadow .2s,transform .2s;display:flex;overflow:hidden;box-shadow:0 1px 4px #00000008}.widget-card:hover{box-shadow:0 2px 8px var(--shadow-sm);border-color:var(--accent);transform:translateY(-1px)}.widget-card-header{align-items:center;gap:.25rem;width:100%;margin-bottom:.25rem;display:flex}.widget-icon{flex-shrink:0;font-size:.72rem}.widget-title{color:var(--heading);text-transform:uppercase;letter-spacing:.03em;margin:0;font-size:.6rem;font-weight:700}.widget-subtext{color:var(--text-muted);text-align:center;margin:.2rem 0 0;font-size:.55rem}.donut-chart-wrapper{justify-content:center;width:100%;padding:0;display:flex}.donut-chart-svg{width:100%;max-width:110px;height:auto;overflow:visible}.widget-stats-grid{grid-template-columns:1fr 1fr;gap:.28rem;width:100%;display:grid}.widget-stat-item{background:linear-gradient(160deg,#ffffff06,#ffffff03);border:1px solid #ffffff0a;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:0;padding:.35rem .25rem;transition:background .2s,border-color .2s,transform .15s;display:flex;position:relative;overflow:hidden}.widget-stat-item:before{content:"";background:var(--accent);opacity:.4;border-radius:0 0 2px 2px;height:2px;transition:opacity .2s,left .2s,right .2s;position:absolute;top:0;left:20%;right:20%}.widget-stat-item:hover{background:linear-gradient(160deg,#ffffff0a,#ffffff04);border-color:#ffffff14;transform:translateY(-1px)}.widget-stat-item:hover:before{opacity:.8;left:12%;right:12%}.widget-stat-value{color:var(--heading);letter-spacing:-.01em;font-size:.92rem;font-weight:800;line-height:1.2}.widget-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em;margin-top:1px;font-size:.48rem;font-weight:600}.widget-goal-bars{flex-direction:column;gap:.35rem;width:100%;display:flex}.widget-goal-row{flex-direction:column;gap:.16rem;display:flex}.widget-goal-info{align-items:center;gap:.22rem;display:flex}.widget-goal-dot{border-radius:50%;flex-shrink:0;width:5px;height:5px}.widget-goal-name{color:var(--text-muted);flex:1;font-size:.55rem;font-weight:600}.widget-goal-values{color:var(--text-light);font-size:.55rem}.widget-goal-values strong{color:var(--heading);font-weight:700}.widget-goal-track{background:var(--border);border-radius:2px;width:100%;height:4px;overflow:hidden}.widget-goal-fill{border-radius:2px;height:100%;transition:width 1s cubic-bezier(.22,1,.36,1)}.widget-goal-fill.protein-fill{background:linear-gradient(90deg, var(--accent), #3cc973)}.widget-goal-fill.sugar-fill{background:linear-gradient(90deg, var(--orange), var(--orange-bright,#ff6d00))}.widget-adherence{border-top:1px solid var(--border);width:100%;margin-top:.4rem;padding-top:.35rem}.widget-adherence-info{justify-content:space-between;align-items:center;margin-bottom:.2rem;display:flex}.widget-adherence-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.5rem;font-weight:600}.widget-adherence-count{color:var(--heading);font-size:.5rem;font-weight:700}.widget-adherence-track{background:var(--border);border-radius:3px;width:100%;height:5px;display:flex;overflow:hidden}.widget-adherence-fill{height:100%;transition:width 1s cubic-bezier(.22,1,.36,1)}.widget-adherence-fill.confirmed{background:linear-gradient(90deg, var(--accent), #3cc973);border-radius:3px 0 0 3px}.widget-adherence-fill.skipped{background:linear-gradient(90deg, var(--red-strong,#ef4444), var(--red,#f87171))}.widget-adherence-legend{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.22rem;display:flex}.widget-adherence-legend-item{color:var(--text-muted);align-items:center;gap:.18rem;font-size:.45rem;display:flex}.widget-adherence-dot{border-radius:50%;flex-shrink:0;width:5px;height:5px}.widget-adherence-dot.confirmed{background:var(--accent)}.widget-adherence-dot.planned{background:var(--text-muted)}.widget-adherence-dot.skipped{background:var(--red-strong,#ef4444)}.widget-empty{grid-column:1/-1;padding:1.25rem}.widget-empty-text{color:var(--text-muted);text-align:center;margin:0;font-size:.72rem}.diary-insights{--insight-rotate:9s;--insight-color:var(--blue);--insight-tint:#4dabf71a;border:1px solid var(--card-border);border-left:2px solid var(--insight-color);background:linear-gradient(135deg, var(--insight-tint), transparent 70%), var(--card-bg);box-sizing:border-box;touch-action:pan-y;border-radius:5px;flex-direction:column;flex-shrink:0;gap:.3rem;min-width:0;margin-bottom:0;padding:.5rem .7rem 0;transition:border-color .45s cubic-bezier(.25,.46,.45,.94),background .45s cubic-bezier(.25,.46,.45,.94),max-height .7s cubic-bezier(.25,.46,.45,.94),opacity .6s cubic-bezier(.25,.46,.45,.94),filter .5s cubic-bezier(.25,.46,.45,.94),margin .7s cubic-bezier(.25,.46,.45,.94),padding .7s cubic-bezier(.25,.46,.45,.94);display:flex;position:relative;overflow:hidden}.diary-insights[data-tone=good]{--insight-color:var(--accent);--insight-tint:var(--accent-dim)}.diary-insights[data-tone=warn]{--insight-color:var(--amber);--insight-tint:#fbbf241a}.diary-insights[data-tone=alert]{--insight-color:var(--red-strong);--insight-tint:#ef44441f}.diary-insights[data-tone=info]{--insight-color:var(--blue);--insight-tint:#4dabf71a}.diary-insights[data-tone=ai]{--insight-color:var(--ai-purple);--insight-tint:var(--ai-soft-bg3);background:linear-gradient(135deg, var(--ai-soft-bg), transparent 70%), var(--card-bg);border-left-color:var(--ai-purple)}.diary-insight-icon.ai-icon{background:linear-gradient(135deg, var(--ai-purple-dark), var(--ai-purple));color:#fff;box-shadow:0 0 10px var(--ai-soft-bg4);border-color:#0000}.diary-insight-ai-tag{letter-spacing:.04em;text-transform:uppercase;color:var(--ai-purple);background:var(--ai-soft-bg2);border:1px solid var(--ai-purple-muted);vertical-align:middle;white-space:nowrap;border-radius:3px;align-items:center;margin-right:.35rem;padding:.1em .4em;font-size:.58rem;font-weight:700;display:inline-flex}.diary-insight-ai-btn{background:var(--ai-soft-bg2);border:1px solid var(--ai-soft-bg4);cursor:pointer;z-index:2;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;min-height:28px;padding:0;font-size:.75rem;line-height:1;transition:background .2s,transform .2s,border-color .2s;display:flex;position:absolute;top:.35rem;right:.35rem}.diary-insight-ai-btn:hover{background:var(--ai-soft-bg3);border-color:var(--ai-purple);transform:scale(1.12)}.diary-insight-ai-btn:focus-visible{outline:2px solid var(--ai-purple);outline-offset:2px}.diary-insight-ai-btn:disabled{opacity:.5;cursor:wait;transform:none}.diary-insight-ai-spinner{border:2px solid var(--ai-soft-bg4);border-top-color:var(--ai-purple);border-radius:50%;width:12px;height:12px;animation:.8s linear infinite ai-spin;display:inline-block}.diary-insight-ai-loading{color:var(--ai-purple);align-items:center;gap:.4rem;padding:.2rem 0 .35rem;font-size:.65rem;animation:1.5s ease-in-out infinite ai-pulse;display:flex}.diary-insight-ai-loading-icon{font-size:.8rem;line-height:1}@keyframes ai-pulse{0%,to{opacity:1}50%{opacity:.5}}.diary-insight-dot.ai-dot{background:var(--ai-purple-muted)}.diary-insight-dot.ai-dot.active{background:var(--ai-purple)}.diary-insights.is-collapsed{opacity:0;filter:blur(8px);pointer-events:none;border-width:0 0 0 2px;max-height:0;margin:0;padding-top:0;padding-bottom:0}.diary-insight-card{text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;align-items:flex-start;gap:.55rem;min-width:0;min-height:44px;padding:0;transition:transform .25s cubic-bezier(.25,.46,.45,.94);display:flex}.diary-insight-card.is-dragging{transition:none}.diary-insight-card[data-static]{cursor:default}.diary-insight-card:focus-visible{outline:2px solid var(--insight-color);outline-offset:2px;border-radius:4px}.diary-insight-icon{background:var(--insight-tint);border:1px solid var(--insight-color);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:.95rem;line-height:1;transition:background .45s cubic-bezier(.25,.46,.45,.94),border-color .45s cubic-bezier(.25,.46,.45,.94);display:flex}.diary-insight-body{will-change:opacity, transform, filter;flex-direction:column;flex:1;gap:.1rem;min-width:0;animation-duration:.28s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);animation-fill-mode:both;display:flex}.diary-insights[data-dir=next] .diary-insight-body.is-entering{animation-name:insight-enter-right}.diary-insights[data-dir=next] .diary-insight-body.is-leaving{animation-name:insight-leave-left}.diary-insights[data-dir=prev] .diary-insight-body.is-entering{animation-name:insight-enter-left}.diary-insights[data-dir=prev] .diary-insight-body.is-leaving{animation-name:insight-leave-right}@keyframes insight-enter-right{0%{opacity:0;filter:blur(4px);transform:translate(20px)}to{opacity:1;filter:blur();transform:translate(0)}}@keyframes insight-enter-left{0%{opacity:0;filter:blur(4px);transform:translate(-20px)}to{opacity:1;filter:blur();transform:translate(0)}}@keyframes insight-leave-left{0%{opacity:1;filter:blur();transform:translate(0)}to{opacity:0;filter:blur(4px);transform:translate(-20px)}}@keyframes insight-leave-right{0%{opacity:1;filter:blur();transform:translate(0)}to{opacity:0;filter:blur(4px);transform:translate(20px)}}.diary-insight-title{letter-spacing:.01em;color:var(--insight-color);word-break:break-word;font-size:.82rem;font-weight:700}.diary-insight-message{color:var(--text-main);word-break:break-word;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.65rem;line-height:1.4;display:-webkit-box;overflow:hidden}.diary-insight-dots{justify-content:center;align-items:center;gap:5px;padding-top:.1rem;display:flex}.diary-insight-dot{background:var(--border);cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;border-radius:50%;width:5px;height:5px;padding:0;transition:background .3s,width .3s}.diary-insight-dot:hover{background:var(--text-muted)}.diary-insight-dot.active{background:var(--insight-color);border-radius:3px;width:14px}.diary-insight-timer{transform-origin:0;background:var(--insight-color);opacity:.35;width:100%;height:1px;animation:diary-insight-countdown var(--insight-rotate) linear forwards;position:absolute;bottom:0;left:0}.diary-insight-timer[data-paused]{animation-play-state:paused}@keyframes diary-insight-countdown{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.ai-insight-modal{max-width:480px}.ai-insight-modal-body{flex-direction:column;gap:.75rem;padding:.5rem 0;display:flex}.ai-insight-modal-header{color:var(--text-main);align-items:center;gap:.5rem;font-size:.95rem;font-weight:700;display:flex}.ai-insight-modal-header-icon{background:linear-gradient(135deg, var(--ai-purple-dark), var(--ai-purple));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.85rem;display:flex}.ai-insight-modal-title{color:var(--ai-purple);margin:0;font-size:1.05rem;font-weight:700;line-height:1.3}.ai-insight-modal-content{text-align:left;width:100%;color:var(--text-main);word-break:break-word;font-size:.85rem;line-height:1.6}.ai-insight-modal-content p{margin:0 0 .6rem}.ai-insight-modal-content p:last-child{margin-bottom:0}.ai-insight-modal-content strong{color:var(--ai-purple);font-weight:700}.ai-insight-modal-content ul,.ai-insight-modal-content ol{margin:0 0 .6rem;padding-left:1.2rem}.ai-insight-modal-content li{margin-bottom:.25rem}.ai-insight-modal-content li:last-child{margin-bottom:0}.ai-insight-modal-content table{border-collapse:collapse;width:100%;margin:.5rem 0;font-size:.8rem}.ai-insight-modal-content thead th{text-align:left;text-transform:uppercase;letter-spacing:.03em;color:var(--ai-purple);background:var(--ai-soft-bg2);border-bottom:2px solid var(--ai-purple-muted);padding:.4rem .5rem;font-size:.72rem;font-weight:700}.ai-insight-modal-content tbody td{border-bottom:1px solid var(--card-border);padding:.35rem .5rem}.ai-insight-modal-content tbody tr:last-child td{border-bottom:none}.ai-insight-modal-content tbody td:first-child{font-weight:600}@media (prefers-reduced-motion:reduce){.diary-insight-body{animation-duration:.01ms}.diary-insight-card{transition:none}.diary-insight-timer{opacity:0;animation:none}.diary-insight-ai-spinner,.diary-insight-ai-loading{animation:none}}.step-settings{box-sizing:border-box;flex-direction:column;gap:.75rem;min-width:0;display:flex}.step-settings-title{color:var(--heading);align-items:center;gap:.4rem;margin:0;font-size:clamp(.9rem,2.5vw,1rem);font-weight:700;display:flex}.step-settings-connection{flex-direction:column;gap:.6rem;display:flex}.step-settings-note{color:var(--text-muted);word-break:break-word;margin:0;font-size:.8rem;line-height:1.5}.step-settings-note.connected{color:var(--accent)}.step-settings-actions{flex-wrap:wrap;gap:.5rem;display:flex}.step-settings-btn{border:1px solid var(--border);min-height:44px;color:var(--foreground);cursor:pointer;background:0 0;border-radius:5px;padding:.55rem .9rem;font-size:.82rem;font-weight:600;transition:background .2s,border-color .2s,color .2s}.step-settings-btn:hover:not(:disabled){background:var(--hover-bg);border-color:var(--accent)}.step-settings-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.step-settings-btn.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.step-settings-btn:disabled{opacity:.55;cursor:not-allowed}.step-settings-message{color:var(--text-muted);word-break:break-word;margin:0;font-size:.78rem}.step-settings-label{color:var(--foreground);font-size:.78rem;font-weight:600}.step-settings-widget{border-top:1px solid var(--border);box-sizing:border-box;flex-direction:column;gap:.6rem;min-width:0;padding-top:.9rem;display:flex}.step-settings-widget .step-settings-btn{align-self:flex-start;max-width:100%}.step-settings-toggle{border:1px solid var(--border);cursor:pointer;box-sizing:border-box;border-radius:5px;align-items:flex-start;gap:.65rem;min-width:0;min-height:44px;padding:.5rem .7rem;transition:border-color .2s,background .2s;display:flex}.step-settings-toggle:hover{background:var(--hover-bg);border-color:var(--accent)}.step-settings-toggle:has(.step-settings-toggle-input:disabled){opacity:.55;cursor:not-allowed}.step-settings-toggle-input{width:20px;height:20px;accent-color:var(--accent);cursor:inherit;flex:none;margin-top:.1rem}.step-settings-toggle-body{flex-direction:column;gap:.2rem;min-width:0;display:flex}.step-settings-toggle-title{color:var(--foreground);font-size:.8rem;font-weight:600}.step-settings-toggle-hint{color:var(--text-muted);word-break:break-word;font-size:.72rem;line-height:1.45}.widgets-settings{box-sizing:border-box;flex-direction:column;gap:.75rem;min-width:0;display:flex}.widgets-settings-title{color:var(--heading);align-items:center;gap:.4rem;margin:0;font-size:clamp(1.1rem,3.5vw,1.35rem);font-weight:700;display:flex}.widgets-settings-note{color:var(--text-muted);word-break:break-word;margin:0;font-size:.8rem;line-height:1.5}.widgets-settings-list{flex-direction:column;gap:1rem;min-width:0;display:flex}.widgets-settings-card{border:1px solid var(--border);box-sizing:border-box;border-radius:8px;flex-direction:column;min-width:0;display:flex;overflow:hidden}.widgets-settings-card-header{color:var(--heading);border-bottom:1px solid var(--border);background:var(--hover-bg);margin:0;padding:.7rem .85rem;font-size:1.05rem;font-weight:700}.widgets-settings-row{box-sizing:border-box;align-items:center;gap:.75rem;min-width:0;padding:.75rem;display:flex}.widgets-settings-preview{background:var(--card);border:1px solid var(--border);width:72px;height:72px;box-shadow:0 2px 8px var(--shadow-sm);box-sizing:border-box;border-radius:16px;flex:none;justify-content:center;align-items:center;padding:8px;display:flex}.widgets-settings-preview svg{width:100%;height:100%}.widgets-settings-preview-wide{width:128px;height:72px}.widgets-settings-preview-value{fill:var(--foreground);font-size:9px;font-weight:700}.widgets-settings-preview-unit{fill:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;font-size:7px;font-weight:600}.widgets-settings-details{box-sizing:border-box;border-left:1px solid var(--border);flex-direction:column;flex:auto;gap:.6rem;min-width:0;padding-left:.75rem;display:flex}.widgets-settings-info{flex-direction:column;flex:auto;gap:.3rem;min-width:0;display:flex}.widgets-settings-desc{color:var(--text-muted);word-break:break-word;margin:0;font-size:.75rem;line-height:1.45}.widgets-settings-message{color:var(--text-muted);word-break:break-word;margin:0;font-size:.72rem}.widgets-settings-toggle{margin-top:.2rem}.widgets-settings-add-btn{border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;box-sizing:border-box;border-radius:5px;width:100%;min-height:44px;padding:.55rem 1rem;font-size:.8rem;font-weight:600;transition:background .2s,border-color .2s,opacity .2s}.widgets-settings-add-btn:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.widgets-settings-add-btn:disabled{color:var(--text-muted);border-color:var(--border);cursor:not-allowed;opacity:.75;background:0 0}.widgets-settings-remove-btn{border-color:var(--red-strong,#ef4444);color:var(--red-strong,#ef4444);background:0 0}.widgets-settings-remove-btn:hover:not(:disabled){background:var(--red-strong,#ef4444);border-color:var(--red-strong,#ef4444);color:#fff}.step-editor{height:100%;overflow-y:auto}.step-editor-row{align-items:flex-start;margin-bottom:.25rem;display:flex}.step-editor-row:has(.step-editor-divider-line){align-items:center;padding:.25rem 0}.step-editor-num{width:24px;color:var(--text-muted);opacity:.6;text-align:right;-webkit-user-select:none;user-select:none;flex-shrink:0;padding-top:.4rem;padding-right:8px;font-family:DM Sans,sans-serif;font-size:.85rem;line-height:1.6}.step-editor-num--hidden{-webkit-user-select:none;user-select:none;flex-shrink:0;width:24px}.step-editor-num--bullet{width:16px;color:var(--accent);opacity:.5;text-align:center;padding-right:0}.step-editor-row:has(.step-editor-divider-line) .step-editor-num--hidden{width:24px}.step-editor-divider-line{background:var(--border);opacity:.8;border-radius:1px;flex:1;height:2px}.step-editor-textarea{resize:none;color:var(--foreground);box-sizing:border-box;background:0 0;border:none;border-radius:0;outline:none;flex:1;margin:0;padding:.4rem .3rem;font-family:DM Sans,sans-serif;font-size:.85rem;line-height:1.6;overflow:hidden}.step-editor-remove-btn{width:28px;height:28px;color:var(--text-muted);cursor:pointer;opacity:.4;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;margin-top:.3rem;margin-left:4px;padding:0;font-size:1rem;line-height:1;transition:opacity .15s,background .15s,color .15s;display:inline-flex}.step-editor-row:has(.step-editor-divider-line) .step-editor-remove-btn{margin-top:0;margin-left:6px}.step-editor-remove-btn:disabled{opacity:.15;cursor:not-allowed}.step-editor-remove-btn:hover:not(:disabled){opacity:1;color:var(--red);background:#dc26261f}.step-editor-actions{flex-wrap:wrap;gap:8px;margin-top:.5rem;display:flex}.step-editor-add-btn{border:1px dashed var(--border);color:var(--text-muted);cursor:pointer;opacity:.7;background:0 0;border-radius:6px;align-items:center;gap:4px;padding:4px 8px;font-family:DM Sans,sans-serif;font-size:.8rem;transition:opacity .15s;display:inline-flex}.step-editor-add-btn:hover{opacity:1}.tabs-bar{border-bottom:1px solid var(--border);background:0 0;display:flex}.tabs-tab{text-transform:uppercase;letter-spacing:.4px;color:var(--text-light);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;gap:6px;padding:.6rem .5rem;font-family:DM Sans,sans-serif;font-size:.72rem;font-weight:600;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.tabs-tab:hover{color:var(--foreground);background:var(--overlay-black-02)}.tabs-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.tabs-tab svg{opacity:.5;flex-shrink:0;transition:opacity .15s}.tabs-tab.active svg{opacity:1}.tabs-bar--sub{border-bottom:1px solid var(--border);margin-bottom:.5rem}.tabs-tab--sub{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;gap:.35rem;padding:.45rem .5rem;font-family:DM Sans,sans-serif;font-size:.72rem;font-weight:600;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.tabs-tab--sub:hover{color:var(--foreground)}.tabs-tab--sub.active{color:var(--accent);border-bottom-color:var(--accent)}.tabs-tab--sub svg{opacity:.5;flex-shrink:0;transition:opacity .15s}.tabs-tab--sub.active svg{opacity:1}.tabs-panel{animation:.2s cubic-bezier(.22,1,.36,1) both tabs-panel-in}@keyframes tabs-panel-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.wheel-picker{border-radius:8px;flex-shrink:0;width:2.75rem;position:relative;overflow:hidden}.wheel-picker-highlight{background:var(--accent);position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}@supports (color:color-mix(in lab, red, red)){.wheel-picker-highlight{background:color-mix(in srgb, var(--accent) 12%, transparent)}}.wheel-picker-highlight{border-top:1px solid var(--accent)}@supports (color:color-mix(in lab, red, red)){.wheel-picker-highlight{border-top:1px solid color-mix(in srgb, var(--accent) 45%, transparent)}}.wheel-picker-highlight{border-bottom:1px solid var(--accent)}@supports (color:color-mix(in lab, red, red)){.wheel-picker-highlight{border-bottom:1px solid color-mix(in srgb, var(--accent) 45%, transparent)}}.wheel-picker-highlight{pointer-events:none;z-index:0;border-radius:6px}.wheel-picker-track{z-index:1;overscroll-behavior:contain;touch-action:pan-y;scroll-snap-type:y mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;outline:none;height:100%;position:relative;overflow-y:scroll;-webkit-mask-image:linear-gradient(#0000 0%,#0006 20%,#000 42% 58%,#0006 80%,#0000 100%);mask-image:linear-gradient(#0000 0%,#0006 20%,#000 42% 58%,#0006 80%,#0000 100%)}.wheel-picker-track::-webkit-scrollbar{display:none}.wheel-picker-item{scroll-snap-align:center;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:.9rem;font-weight:500;transition:color .15s,font-weight .15s;display:flex}.wheel-picker-item-selected{color:var(--accent);font-weight:700}.wheel-picker-disabled{opacity:.5;pointer-events:none}.time-picker-modal{overscroll-behavior:contain;border-radius:20px;width:calc(100% - 2rem);max-width:280px}.time-picker-modal .base-modal-drag-handle{display:none}.time-picker-backdrop{align-items:center;padding:1rem}.time-picker-modal-body{overscroll-behavior:contain;justify-content:center;padding:1.25rem 1rem 1.5rem;display:flex}.time-picker-wheels{align-items:center;gap:.4rem;display:flex}.time-picker-colon{color:var(--text-muted);font-size:1.1rem;font-weight:600}.time-picker-wheels .wheel-picker-period{width:3.4rem}.multiselect-dropdown{display:inline-block;position:relative}.multiselect-trigger{border:1px solid var(--border);background:var(--card);color:var(--foreground);cursor:pointer;border-radius:8px;align-items:center;gap:.4rem;min-height:44px;padding:.65rem .9rem;font-size:.85rem;font-weight:600;transition:border-color .2s,color .2s;display:flex}.multiselect-trigger:hover{border-color:var(--accent)}.multiselect-trigger.active{border-color:var(--accent);color:var(--accent)}.multiselect-count{background:var(--accent);min-width:18px;height:18px;color:var(--accent-contrast,#fff);border-radius:999px;justify-content:center;align-items:center;padding:0 .3rem;font-size:.65rem;font-weight:700;display:inline-flex}.multiselect-chevron{flex-shrink:0;transition:transform .2s}.multiselect-chevron.open{transform:rotate(180deg)}.multiselect-panel{z-index:20;background:var(--card);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:.5rem;width:240px;max-width:80vw;padding:.6rem;display:flex;position:absolute;top:calc(100% + .4rem);left:0;box-shadow:0 12px 28px #0000002e}.multiselect-search{border:1px solid var(--border);background:var(--background);width:100%;color:var(--foreground);box-sizing:border-box;border-radius:6px;padding:.5rem .7rem;font-size:.85rem}.multiselect-options{flex-direction:column;gap:.1rem;max-height:220px;display:flex;overflow-y:auto}.multiselect-option{cursor:pointer;color:var(--foreground);border-radius:6px;align-items:center;gap:.55rem;min-height:32px;padding:.45rem .4rem;font-size:.85rem;display:flex}.multiselect-option:hover{background:var(--hover-bg)}.multiselect-option input{accent-color:var(--accent);flex-shrink:0;width:15px;height:15px}.multiselect-empty{text-align:center;color:var(--text-muted);padding:.6rem;font-size:.8rem}.multiselect-clear{color:var(--accent);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:.2rem .1rem;font-size:.78rem;font-weight:600}.multiselect-clear:hover{text-decoration:underline}@media (max-width:640px){.heading-xl{font-size:clamp(1.5rem,5.5vw,1.75rem);line-height:1.15}.heading-lg{font-size:clamp(1.2rem,4.5vw,1.35rem);line-height:1.2}.heading-md{font-size:clamp(.95rem,3.5vw,1rem);line-height:1.25}.heading-sm{font-size:clamp(.82rem,2.8vw,.88rem);line-height:1.3}.text-body{font-size:clamp(.8rem,2.5vw,.85rem);line-height:1.55}.text-sm{font-size:clamp(.68rem,2vw,.72rem)}.text-xs{font-size:clamp(.6rem,1.8vw,.65rem)}.text-lg{font-size:clamp(.85rem,2.8vw,.92rem)}input,textarea,select,button{font-size:.875rem}label{font-size:.82rem}*{-webkit-user-select:none!important;user-select:none!important}input,textarea,[contenteditable]{-webkit-user-select:text!important;user-select:text!important}.dashboard-profile-card{box-sizing:border-box;border-radius:5px;gap:.75rem;width:100%;min-width:0;max-width:100%;margin-bottom:1rem;padding:1rem;overflow:hidden}.dashboard-profile-card .profile-top-row{box-sizing:border-box;flex-wrap:wrap;justify-content:flex-start;align-items:flex-start;gap:.5rem;width:100%;min-width:0;max-width:100%;overflow:hidden;flex-direction:row!important}.dashboard-profile-card .profile-top-row-left{flex-direction:row;flex-shrink:0;align-items:flex-start;gap:.75rem}.dashboard-profile-card .profile-info{word-wrap:break-word;text-align:left;align-items:flex-start;width:100%;min-width:0;max-width:100%;overflow:hidden}.dashboard-details-grid{width:100%;min-width:0;max-width:100%;overflow-x:auto}.dashboard-profile-card .profile-public-link{word-break:break-word;width:100%;max-width:100%;overflow:hidden}.dashboard-profile-card .public-url{word-break:break-all;display:inline}.dashboard-profile-card .profile-avatar{flex-shrink:0;width:44px;height:44px;font-size:1.1rem}.dashboard-profile-card .profile-name{font-size:1rem}.dashboard-profile-card .profile-email{font-size:.72rem}.dashboard-details-grid{gap:.4rem;margin:.25rem 0 0;padding-bottom:.25rem}.dashboard-details-grid .detail-item{min-width:72px;max-width:105px;padding:.55rem .6rem}.dashboard-details-grid .detail-label{font-size:.6rem}.dashboard-details-grid .detail-value{font-size:.82rem}.dashboard-stats-grid{gap:.6rem;margin-bottom:1.25rem}.dashboard-stats-grid .stat-card{border-radius:5px;padding:.75rem .5rem}.dashboard-stats-grid .stat-card-value{font-size:1.15rem}.dashboard-stats-grid .stat-card-label{font-size:.65rem}.dashboard-stats-grid .stat-icon{margin-bottom:.2rem;font-size:1.1rem}.dashboard-profile-card .profile-privacy-tag{padding:1px 6px;font-size:.58rem}.profile-carousel{gap:.18rem}.profile-carousel-track{gap:.15rem}.profile-carousel-item{padding:.18rem .28rem}.profile-carousel-val{font-size:.58rem}.profile-carousel-label{font-size:.44rem}.profile-carousel-dot{width:20px;height:20px;font-size:.7rem}.dashboard-widgets-grid{grid-template-columns:repeat(2,1fr);gap:.35rem}.widget-card{border-radius:4px;padding:.4rem}.widget-card-header{gap:.2rem;margin-bottom:.15rem}.widget-stats-grid{gap:.18rem}.widget-stat-value{font-size:.78rem}.widget-stat-label{font-size:.45rem}.widget-title{font-size:.55rem}.widget-icon{font-size:.68rem}.dashboard-widgets-grid .timeline-card{padding:0}.dashboard-widgets-grid .timeline-header{padding:.3rem .45rem}.dashboard-widgets-grid .timeline-title{font-size:.6rem}.dashboard-widgets-grid .timeline-change{padding:.1rem .35rem;font-size:.58rem}.dashboard-widgets-grid .timeline-chart-wrap{padding:.2rem .15rem .1rem}.dashboard-widgets-grid .timeline-footer{padding:.2rem .45rem .3rem}.dashboard-widgets-grid .timeline-range,.dashboard-widgets-grid .timeline-count{font-size:.52rem}.donut-chart-svg{max-width:90px}.widget-stat-item:before{height:1.5px;left:25%;right:25%}.widget-goal-row{gap:.15rem}.widget-adherence{margin-top:.3rem;padding-top:.25rem}.widget-adherence-track{height:4px}.widget-adherence-label,.widget-adherence-count{font-size:.45rem}.widget-adherence-legend-item{font-size:.4rem}.widget-adherence-dot{width:4px;height:4px}.dashboard-profile-card{gap:.5rem;margin-bottom:.7rem;padding:.7rem}.profile-top-row,.profile-top-row-left{gap:.5rem}.profile-email{font-size:.62rem}.profile-country{font-size:.6rem}.profile-meta-row{gap:.25rem}.profile-stats-row{gap:.18rem;width:100%}.profile-stat-pill{flex:none;gap:.06rem;padding:.18rem .32rem}.profile-name{font-size:.9rem}.profile-avatar{width:38px;height:38px;font-size:1rem}.widget-goal-name,.widget-goal-values{font-size:.58rem}.widget-goal-track{height:4px}.widget-goal-bars{gap:.35rem}.widget-stat-item{padding:.35rem .25rem}.hero{padding:1.5rem .75rem;padding-top:calc(1.5rem + var(--safe-top))}.hero h1{font-size:clamp(1.4rem,5.5vw,1.8rem)}.hero p{max-width:100%;font-size:.78rem}.modal{border-radius:0;height:100dvh;max-height:100dvh}.ai-modal{border-radius:5px;height:100dvh;max-height:100dvh}[data-keyboard-open] .modal,[data-keyboard-open] .ai-modal{height:var(--vv-height,100dvh);max-height:var(--vv-height,100dvh)}.hero-stats{gap:.4rem}.stat{flex:1;min-width:calc(25% - .4rem);padding:.4rem}.stat-num{font-size:1rem}.stat-label{font-size:.58rem}legend{gap:.6rem;padding:.6rem .75rem}.legend-item{font-size:.65rem}.tips-bar{padding:.6rem .75rem}.tip{padding:.3rem .6rem;font-size:.68rem}.table-wrap{overflow-x:hidden}.table-wrap table{table-layout:fixed;border-radius:5px;width:100%;min-width:0;font-size:.7rem}.table-wrap th{letter-spacing:.2px;text-align:center;padding:.3rem .2rem;font-size:.52rem}.table-wrap td{padding:.28rem .15rem}.day-cell{min-width:26px}.day-num{font-size:.74rem}.meal-cell{line-height:1.3}.meal-main{font-size:.68rem}.tag{margin-top:2px;padding:.06rem .3rem;font-size:.48rem}.cal-badge{padding:.1rem .3rem;font-size:.55rem}.clickable:not(.meal-cell){margin:-.2rem -.25rem;padding:.2rem .25rem}.meal-cell.clickable{margin:0;padding:0}.today-row .day-num{width:22px;height:22px;font-size:.68rem}.modal-title,.modal-title-input{font-size:.95rem}.modal-close{width:30px;height:30px;font-size:1.1rem;top:.5rem;right:.5rem}.modal-btn{padding:.5rem .85rem;font-size:.75rem}footer{padding:1rem .75rem;padding-bottom:calc(1rem + var(--safe-bottom));font-size:.7rem}.jump-today{width:38px;height:38px;font-size:.95rem;bottom:1rem;right:1rem}.meal-delete-zone{bottom:calc(16px + var(--safe-bottom,0px));width:48px;height:48px;right:16px}.meal-delete-zone svg{width:20px;height:20px}.pwa-banner{padding:.6rem .75rem;padding-bottom:calc(.6rem + var(--safe-bottom))}.pwa-banner-title{font-size:.78rem}.pwa-banner-desc{font-size:.65rem}.pwa-banner-btn{padding:.4rem .7rem;font-size:.72rem}td.meal-td{border-radius:5px}.table-wrap th,.table-wrap td{width:auto}.table-wrap td:first-child,.table-wrap th:first-child{white-space:nowrap;width:8%}.table-wrap td:last-child,.table-wrap th:last-child{white-space:nowrap;width:auto}}@media (max-width:480px){.hero-title{font-size:clamp(1.35rem,7vw,1.7rem)}.hero-subtitle{font-size:.82rem}.features-grid{grid-template-columns:1fr}.stats-showcase-grid{grid-template-columns:repeat(2,1fr)}.dashboard-stats-grid,.home-stats-grid{grid-template-columns:1fr 1fr}.hero{padding:3rem 1rem 2rem}.hero h1{font-size:1.55rem}.stat-card-value,.home-stat-number{font-size:1.35rem}.lb-grid{grid-template-columns:repeat(2,1fr);gap:.6rem}.lb-card-content{gap:.25rem;padding:.5rem}.lb-card-title{font-size:.78rem}.lb-card-macros{gap:.2rem}.lb-card-recipe-preview{font-size:.62rem}.lb-macro-bar-label{font-size:.58rem}.lb-card-image-wrap{aspect-ratio:1}.lb-tab{padding:.4rem .45rem;font-size:.72rem}.lb-tab span:not(.lb-tab-count){display:none}.lb-hero-title{font-size:clamp(1.1rem,5vw,1.4rem)}.lb-hero-subtitle{font-size:.75rem}}@media (max-width:640px){.auth-page{height:100dvh;padding:0}.auth-card{border:none;border-radius:0;max-width:100%;max-height:100dvh;padding:1.75rem 1.25rem}}@media (max-width:480px){.auth-page{height:100dvh;padding:0}.auth-card{border:none;border-radius:0;max-width:100%;max-height:100dvh;padding:1.5rem 1.25rem}.auth-title{font-size:1.3rem}.auth-subtitle{font-size:.8rem}.auth-header-icon{border-radius:5px;width:44px;height:44px;font-size:1.15rem}.btn-auth{border-radius:5px;padding:.7rem;font-size:.85rem}.form-group input,.form-group select{border-radius:5px;padding:.6rem .75rem;font-size:.85rem}.form-group input.has-icon{padding-left:2.2rem}.input-icon{left:.7rem}.form-row{grid-template-columns:1fr;gap:.65rem}.form-row-age-gender{grid-template-columns:120px 1fr}.form-row-weight-height{grid-template-columns:1fr 1fr}.auth-back-button{width:36px;height:36px}}@media (max-width:380px){.dashboard-details-grid .detail-item{min-width:64px;max-width:90px;padding:.45rem .5rem}.dashboard-details-grid .detail-label{font-size:.55rem}.dashboard-details-grid .detail-value{font-size:.78rem}.dashboard-stats-grid .stat-card-value{font-size:1rem}.dashboard-stats-grid .stat-card-label{font-size:.58rem}.dashboard-profile-card{padding:.7rem}.dashboard-profile-card .profile-avatar{width:36px;height:36px;font-size:.95rem}.dashboard-profile-card .profile-name{font-size:.92rem}.widget-card{padding:.3rem}.widget-stat-value{font-size:.7rem}.widget-stat-item{border-radius:3px;padding:.18rem .1rem}.widget-stat-item:before{opacity:.3;height:1px;left:30%;right:30%}.widget-stat-label{font-size:.4rem}.widget-title{font-size:.5rem}.widget-icon{font-size:.62rem}.widget-card-header{gap:.15rem;margin-bottom:.1rem}.widget-stats-grid{gap:.12rem}.diary-compact-cal-label{letter-spacing:0;font-size:.42rem}.diary-compact-cal-value{font-size:.7rem}.diary-compact-cal-boot{font-size:.62em}.diary-compact-steps-value{font-size:.66rem}.diary-compact-steps-sub{font-size:.36rem}.donut-chart-svg{max-width:78px}.dashboard-widgets-grid{gap:.25rem}.dashboard-widgets-grid .timeline-header{padding:.2rem .3rem}.dashboard-widgets-grid .timeline-title{font-size:.52rem}.dashboard-widgets-grid .timeline-change{font-size:.5rem}.dashboard-widgets-grid .timeline-chart-wrap{padding:.15rem .1rem .05rem}.dashboard-widgets-grid .timeline-footer{padding:.15rem .3rem .2rem}.profile-stats-row{gap:.12rem;width:100%}.profile-stat-pill{flex:none;gap:.05rem;padding:.14rem .24rem}.profile-stat-val{font-size:.52rem}.profile-stat-label{font-size:.4rem}.dashboard-profile-card{gap:.4rem;padding:.5rem}.profile-avatar{width:28px;height:28px;font-size:.75rem}.profile-name{font-size:.72rem}.widget-goal-name,.widget-goal-values{font-size:.5rem}.widget-goal-track{height:3px}.widget-adherence{margin-top:.22rem;padding-top:.2rem}.widget-adherence-track{height:3px}.widget-adherence-label,.widget-adherence-count{font-size:.4rem}.widget-adherence-legend-item{gap:.12rem;font-size:.38rem}.widget-adherence-legend{gap:.35rem}.lb-grid{gap:.45rem}.lb-card-content{padding:.4rem}.lb-card-title{font-size:.72rem}.lb-macro-bar-label{font-size:.55rem}.lb-card-kcal-badge{padding:.12rem .35rem;font-size:.6rem}.stat{min-width:auto;padding:.3rem}.stat-num{font-size:.9rem}.meal-main{font-size:.58rem}.table-wrap td{padding:.22rem .08rem}.table-wrap th{padding:.22rem .08rem;font-size:.45rem}.meal-name-line{white-space:nowrap;text-overflow:ellipsis;font-size:.52rem;overflow:hidden}}@media (max-width:640px){.step-settings-toggle{gap:.55rem;padding:.55rem .6rem}.step-settings-toggle-title{font-size:.78rem}.step-settings-toggle-hint{font-size:.7rem}}@media (max-width:480px){.step-settings-toggle-hint{font-size:.68rem;line-height:1.4}}@media (max-width:640px){.widgets-settings-row{gap:.6rem;padding:.6rem}.widgets-settings-details{gap:.5rem;padding-left:.6rem}.widgets-settings-preview{width:60px;height:60px;padding:6px}.widgets-settings-preview-wide{width:96px;height:54px}.widgets-settings-card-header{padding:.6rem .7rem;font-size:.92rem}.widgets-settings-desc{font-size:.72rem}}@media (max-width:380px){.widgets-settings-row:has(.widgets-settings-preview-wide){flex-direction:column;align-items:stretch}.widgets-settings-preview-wide{align-self:center;width:100%;height:60px}.widgets-settings-details{border-left:none;padding-left:0}}@media (max-width:640px){.profile-page{--profile-gutter:.75rem;padding:1rem var(--profile-gutter) 1.5rem;padding-bottom:calc(1.5rem + var(--safe-bottom))}.profile-page .auth-header{margin-bottom:.9rem}.profile-page .auth-title{font-size:1.3rem}.profile-page .auth-subtitle{font-size:.78rem}.profile-top-tabs{border-radius:14px;gap:.3rem;margin-bottom:1rem;padding:.3rem}.profile-top-tab{border-radius:11px;min-height:40px}.profile-top-tab.premium .profile-top-tab-label,.profile-top-tab:last-child .profile-top-tab-label{display:none}.profile-top-tab.premium .profile-top-tab-label-short{display:inline}.profile-top-tab:last-child{flex:none;min-width:40px;padding:.55rem}.profile-top-tab.premium{flex:none;min-width:0;padding:.55rem .65rem}.profile-top-tab:first-child{flex:1}}@media (max-width:480px){.profile-page{--profile-gutter:.6rem}.profile-top-tabs{gap:.25rem;padding:.25rem}.profile-top-tab{font-size:.78rem}.profile-top-tab:first-child{gap:.35rem;padding:.55rem .5rem}.profile-top-tab.premium{flex:none;min-width:0;padding:.55rem .5rem}.profile-top-tab:last-child{min-width:36px;padding:.5rem}}@media (max-width:380px){.profile-top-tab{font-size:.72rem}.profile-top-tab:first-child{padding:.5rem .35rem}.profile-top-tab.premium{flex:none;min-width:0;padding:.5rem .35rem}.profile-top-tab:last-child{min-width:32px;padding:.45rem}.profile-top-tab svg{width:14px;height:14px}}@media (max-width:640px){.admin-section{border-radius:10px;gap:.9rem;padding:1rem}.admin-section-title{font-size:.92rem}.admin-section-desc{font-size:.8rem}.admin-users-list{max-height:60vh}.admin-user-row{gap:.6rem;padding:.6rem}.admin-user-actions{gap:.4rem}.admin-users-header{gap:.6rem;padding:0 .6rem}.admin-users-header-actions{gap:.4rem}.admin-switch,.admin-user-delete,.admin-users-header-col{width:38px}.admin-switch:before{width:34px;height:20px}.admin-switch-thumb{width:14px;height:14px;left:3px}.admin-switch.on .admin-switch-thumb{transform:translateY(-50%)translate(14px)}.admin-switch:active .admin-switch-thumb{width:18px}.admin-switch.on:active .admin-switch-thumb{transform:translateY(-50%)translate(10px)}.admin-users-header-col{font-size:.62rem}.admin-filter-chip{min-height:36px}.wizard-steps{margin-bottom:1.35rem}.wizard-step-number{width:32px;height:32px;font-size:.75rem}.wizard-step-label{letter-spacing:.2px;font-size:.6rem}.wizard-step-connector{margin:0 5px;top:-12px}}@media (max-width:480px){.wizard-step-number{width:30px;height:30px;font-size:.72rem}.wizard-step-label{font-size:.55rem}.wizard-step-connector{margin:0 4px;top:-11px}}@media (max-width:380px){.wizard-step-number{width:28px;height:28px;font-size:.68rem}.wizard-step-label{letter-spacing:0;font-size:.52rem}.wizard-step-connector{margin:0 3px;top:-10px}}@media (max-width:640px){.profile-form-header{margin-left:calc(var(--profile-gutter,.75rem) * -1);margin-right:calc(var(--profile-gutter,.75rem) * -1);padding-left:var(--profile-gutter,.75rem);padding-right:var(--profile-gutter,.75rem);background:var(--card-bg);border-bottom:1px solid var(--card-border);padding-top:.5rem;padding-bottom:.5rem}.wizard-nav-bar{gap:.2rem;min-height:32px;margin-bottom:0}.wizard-nav-btn{padding:.25rem .35rem;font-size:.72rem}.wizard-nav-btn span{display:none}form.profile-form .profile-form-body{padding:.9rem 0 0}.profile-form-body .wizard-content{background:var(--card-bg);border:1px solid var(--card-border);border-radius:16px;gap:1.1rem;padding:1rem .9rem}.profile-form .form-group input,.profile-form .form-group select{border-radius:12px;min-height:46px;padding:.65rem .8rem;font-size:16px}.profile-form .form-group input.has-icon{padding-left:2.4rem}.profile-form .form-group label{font-size:.78rem}.profile-form .reg-gender-pills{gap:6px}.profile-form .reg-gender-pill{border-radius:12px;min-width:56px;min-height:44px;padding:.5rem .55rem;font-size:.72rem}.reg-gender-pills{gap:6px}.reg-gender-pill{min-width:56px;padding:.5rem .55rem;font-size:.72rem}[data-keyboard-open] .navbar-mobile-logged-in,[data-keyboard-open]:not([data-navbar-input-active]) .navbar-action-bar{display:none!important}[data-keyboard-open] .modal-image-strip{opacity:0!important;height:0!important;min-height:0!important;max-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important}[data-keyboard-open] .modal-drag-handle{display:none!important}[data-keyboard-open] .modal-header{border-bottom-width:0!important;padding:.35rem .75rem .5rem!important}[data-keyboard-open] .modal-header-row,[data-keyboard-open] .modal-url-link-card:not(:focus-within){display:none!important}[data-keyboard-open] .modal-title-textarea{min-height:2rem!important;max-height:3.6rem!important;padding:.35rem .5rem!important;font-size:.88rem!important}[data-keyboard-open] .modal-label-picker{display:none!important}[data-keyboard-open] .modal-close{width:28px!important;height:28px!important;top:.35rem!important;right:.35rem!important}[data-keyboard-open] .modal-body{padding-top:.25rem!important;padding-bottom:.25rem!important}[data-keyboard-open] .modal-tab{padding:.35rem .4rem!important;font-size:.65rem!important}}@media (max-width:480px){.profile-form .form-row{grid-template-columns:1fr 1fr;gap:.55rem}.profile-form .form-group input,.profile-form .form-group select{padding:.6rem .7rem}.wizard-nav-btn{padding:.2rem .3rem;font-size:.7rem}}@media (max-width:380px){form.profile-form .profile-form-body{padding-top:.75rem}.profile-form-body .wizard-content{gap:1rem;padding:.85rem .75rem}form.profile-form .form-row{grid-template-columns:1fr;gap:.7rem}}@media (max-width:640px){.pricing-page.pricing-page{padding:0 .75rem 1.5rem;padding-bottom:calc(1.5rem + var(--safe-bottom,0px));overflow-x:hidden}.pricing-page.pricing-page:before{display:none}.pricing-page .pricing-hero{margin-bottom:.5rem;padding:1.8rem .5rem 1.2rem}.pricing-page .pricing-hero-title{font-size:clamp(1.5rem,5vw,2rem)}.pricing-page .pricing-hero-subtitle{gap:.35rem;font-size:.85rem}.pricing-page .pricing-country-badge{top:.75rem;left:.5rem}.pricing-page .billing-toggle-row{margin-bottom:1.5rem}.pricing-page .billing-toggle-group{border-radius:5px;width:100%;max-width:340px}.pricing-page .billing-toggle-btn{text-align:center;white-space:nowrap;flex:1;padding:.5rem;font-size:.78rem}.pricing-page .billing-toggle-btn .billing-save-badge{padding:.08rem .4rem;font-size:.68rem;display:inline-block}.pricing-page .pricing-grid{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;box-sizing:border-box;flex-flow:row;gap:0;width:100%;max-width:100%;margin:0;padding:1rem 7.5vw 0;display:flex;overflow:auto hidden}.pricing-page .pricing-grid::-webkit-scrollbar{display:none}.pricing-page .pricing-card{scroll-snap-align:center;box-sizing:border-box;border-radius:5px;flex:0 0 85vw;min-width:0;margin-right:.75rem;padding:1.25rem 1rem}.pricing-page .pricing-card:last-child{margin-right:0}.pricing-page .pricing-card:hover{box-shadow:none;transform:none}.pricing-page .pricing-card.is-featured:hover{box-shadow:0 4px 24px #0000001a}.pricing-page .pricing-carousel-dots{display:flex}.pricing-page .pricing-card-badge{padding:.25rem .9rem;font-size:.68rem;top:-.65rem}.pricing-page .pricing-card-name{margin-bottom:.25rem;font-size:1.1rem}.pricing-page .pricing-card-desc{margin-bottom:1rem;font-size:.8rem}.pricing-page .pricing-card-price{margin-bottom:1rem}.pricing-page .pricing-card-price .price-amount{font-size:2rem}.pricing-page .pricing-card-price .price-period{font-size:.8rem}.pricing-page .pricing-card-price .price-local{font-size:.72rem}.pricing-page .pricing-card-features{gap:.55rem;margin-bottom:1.25rem}.pricing-page .pricing-card-features li{gap:.5rem;font-size:.82rem}.pricing-page .feature-icon{width:1.1rem;height:1.1rem;margin-top:.05rem}.pricing-page .pricing-card-cta{justify-content:center;align-items:center;min-height:44px;padding:.7rem 1.25rem;font-size:.9rem;display:flex}.pricing-page .pricing-switch-plan-section{margin-top:.75rem;padding-top:.75rem}.pricing-page .pricing-switch-plan-label{margin-bottom:.5rem;font-size:.7rem}.pricing-page .pricing-switch-plan-buttons{gap:.4rem;margin-bottom:.6rem}.pricing-page .pricing-switch-plan-btn{padding:.45rem .5rem;font-size:.78rem}.pricing-page .pricing-switch-plan-icon{width:12px;height:12px}.pricing-page .pricing-switch-plan-cta{min-height:44px;padding:.6rem 1rem;font-size:.85rem}.pricing-page .pricing-switch-plan-cta-icon{width:14px;height:14px}.pricing-page .pricing-cancel-notice{padding:0 0 .5rem;font-size:.78rem}.pricing-page .pricing-renewal-note{margin-top:.5rem;padding:0 .5rem .5rem;font-size:.75rem}.pricing-page .pricing-restore{max-width:100%;margin-top:1.25rem;padding:1rem}.pricing-page .pricing-restore-text{margin-bottom:.6rem;font-size:.78rem}.pricing-page .pricing-restore-btn{min-height:44px;padding:.5rem 1rem;font-size:.8rem}.pricing-page .pricing-trust{max-width:100%;margin-top:1.5rem;padding-top:1.25rem}.pricing-page .pricing-trust p{gap:.25rem;font-size:.75rem}.pricing-page .pricing-trust .trust-icon{width:.85rem;height:.85rem}}@media (max-width:480px){.pricing-page.pricing-page{padding:0 .6rem 1.25rem;padding-bottom:calc(1.25rem + var(--safe-bottom,0px))}.pricing-page .pricing-hero{padding:1.4rem .4rem .9rem}.pricing-page .pricing-hero-title{font-size:clamp(1.4rem,5vw,1.8rem)}.pricing-page .pricing-country-badge{font-size:.75rem}.pricing-page .billing-toggle-btn{padding:.45rem .5rem;font-size:.76rem}.pricing-page .billing-toggle-btn .billing-save-badge{margin-left:.15rem;font-size:.6rem}.pricing-page .pricing-grid{padding:1rem 6vw 0}.pricing-page .pricing-card{flex:0 0 88vw;padding:1rem .8rem}.pricing-page .pricing-card-name{font-size:1rem}.pricing-page .pricing-card-desc{font-size:.75rem}.pricing-page .pricing-card-price .price-amount{font-size:1.75rem}.pricing-page .pricing-card-features li{font-size:.76rem}.pricing-page .pricing-card-cta{padding:.65rem 1rem;font-size:.85rem}.pricing-page .pricing-switch-plan-btn{font-size:.72rem}.pricing-page .pricing-trust p{font-size:.7rem}}@media (max-width:380px){.pricing-page.pricing-page{padding:0 .5rem 1rem;padding-bottom:calc(1rem + var(--safe-bottom,0px))}.pricing-page .pricing-hero-title{font-size:1.25rem}.pricing-page .pricing-hero-subtitle{font-size:.72rem}.pricing-page .billing-toggle-group{max-width:260px}.pricing-page .billing-toggle-btn{padding:.4rem;font-size:.72rem}.pricing-page .billing-toggle-btn .billing-save-badge{padding:.05rem .3rem;font-size:.55rem}.pricing-page .pricing-grid{gap:0;padding:1rem 5vw 0}.pricing-page .pricing-card{border-radius:5px;flex:0 0 90vw;padding:.85rem .7rem}.pricing-page .pricing-card-badge{padding:.2rem .7rem;font-size:.6rem;top:-.55rem}.pricing-page .pricing-card-name{font-size:.92rem}.pricing-page .pricing-card-desc{margin-bottom:.75rem;font-size:.7rem}.pricing-page .pricing-card-price .price-amount{font-size:1.5rem}.pricing-page .pricing-card-price .price-period{font-size:.72rem}.pricing-page .pricing-card-features{gap:.4rem;margin-bottom:1rem}.pricing-page .pricing-card-features li{font-size:.72rem}.pricing-page .feature-icon{width:1rem;height:1rem}.pricing-page .pricing-card-cta{min-height:40px;padding:.55rem .75rem;font-size:.78rem}.pricing-page .pricing-switch-plan-btn{padding:.38rem .35rem;font-size:.68rem}.pricing-page .pricing-switch-plan-check{font-size:.65rem}.pricing-page .pricing-restore{margin-top:1rem;padding:.75rem}.pricing-page .pricing-restore-text{font-size:.72rem}.pricing-page .pricing-restore-btn{min-height:40px;padding:.45rem .85rem;font-size:.75rem}.pricing-page .pricing-trust{margin-top:1rem;padding-top:1rem}.pricing-page .pricing-trust p{gap:.2rem;font-size:.65rem}}@media (max-width:640px){.cam-hint-bar{min-height:2rem;padding:0 .25rem}.cam-hint-text{font-size:.78rem}.cam-viewfinder{aspect-ratio:1;width:100%;max-height:50dvh}.cam-video{object-fit:cover;width:100%;height:100%}.cam-btn-capture{width:68px;height:68px}.cam-btn-gallery{width:42px;height:42px}.cam-action-bar{padding:.4rem 0}.cam-review-layout{flex-direction:column;gap:1rem}.cam-review-image-section{width:100%;max-width:100%}.cam-macro-pill{flex:1;min-width:0}.cam-macro-input{width:100%}.cam-processing{padding:2rem 1rem}}@media (max-width:480px){nav.navbar-mobile-logged-in{padding-left:.5rem;padding-right:.5rem}.navbar-mobile-logged-in .mobile-nav-items{gap:.15rem}.navbar-mobile-logged-in .mobile-nav-item{padding:.25rem .2rem}div.navbar-action-bar{gap:.4rem;padding-left:.5rem;padding-right:.5rem}.navbar-action-bar .navbar-ai-input-group{padding-left:12px}}@media (max-width:380px){.navbar-mobile-logged-in .navbar-mobile-hamburger{flex-basis:40px;width:40px}.navbar-mobile-logged-in .mobile-nav-item svg{width:20px;height:20px}.navbar-mobile-logged-in .mobile-nav-label{font-size:.58rem}.navbar-mobile-logged-in .mobile-nav-item.active{padding:.25rem .2rem}.navbar-action-bar .navbar-camera-btn{--cam-raise:16px;width:56px}.navbar-action-bar .navbar-camera-btn svg{width:22px;height:22px}}@media (max-height:500px) and (orientation:landscape){.hero{padding:.75rem;padding-top:calc(.75rem + var(--safe-top))}.hero h1{margin-bottom:.3rem;font-size:1.1rem}.hero p{margin-bottom:.4rem;font-size:.65rem;display:none}.modal{max-height:90dvh}nav.navbar-mobile-logged-in{padding-top:calc(.25rem + var(--safe-top,0px));padding-bottom:.25rem}.navbar-mobile-logged-in .mobile-nav-label{display:none}div.navbar-action-bar{padding-top:.35rem;padding-bottom:calc(.35rem + var(--safe-bottom,0px))}.navbar-action-bar .navbar-camera-btn{--cam-raise:13px;width:52px}.navbar-action-bar .navbar-camera-btn svg{width:21px;height:21px}}@media (max-width:640px){.diary-compact-steps-side{padding:.1rem}.diary-insights{gap:.25rem;margin-bottom:.5rem;padding:.45rem .55rem .5rem}.diary-insight-card{gap:.45rem}.diary-insight-icon{width:24px;height:24px;font-size:clamp(.78rem,3vw,.9rem)}.diary-insight-title{font-size:clamp(.72rem,3vw,.84rem)}.diary-insight-message{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:clamp(.58rem,2.5vw,.67rem);line-height:1.38;display:-webkit-box;overflow:hidden}.diary-insight-ai-btn{width:34px;height:34px;min-height:34px;font-size:.85rem}.diary-insight-ai-tag{font-size:clamp(.52rem,2vw,.58rem)}.diary-insight-ai-loading{font-size:clamp(.58rem,2.5vw,.65rem)}}@media (max-width:480px){.diary-insights{padding:.4rem .5rem .45rem}.diary-insight-card{min-height:40px}.diary-insight-icon{width:22px;height:22px}.diary-insight-message{-webkit-line-clamp:2;line-clamp:2}.diary-insight-ai-btn{width:32px;height:32px;min-height:32px}}@media (max-width:380px){.diary-insights{border-left-width:2px}.diary-insight-icon{display:none}.diary-insight-dot.active{width:12px}.diary-insight-ai-btn{width:28px;height:28px;min-height:28px;font-size:.7rem}.diary-insight-ai-tag{display:none}}@media (max-height:500px) and (orientation:landscape){.diary-insights{margin-bottom:.35rem;padding:.35rem .5rem .4rem}.diary-insight-message{-webkit-line-clamp:2;line-clamp:2}}@media (max-width:640px){.ai-insight-modal{max-width:100%;margin:0}.ai-insight-modal-header{font-size:clamp(.82rem,3vw,.95rem)}.ai-insight-modal-header-icon{width:24px;height:24px;font-size:.75rem}.ai-insight-modal-title{font-size:clamp(.9rem,3.5vw,1.05rem)}.ai-insight-modal-content{font-size:clamp(.75rem,3vw,.85rem)}.ai-insight-modal-content table{font-size:clamp(.68rem,2.5vw,.78rem)}.ai-insight-modal-content thead th{padding:.3rem .4rem}.ai-insight-modal-content tbody td{padding:.25rem .4rem}.ai-insight-modal-content ul,.ai-insight-modal-content ol{padding-left:1rem}.wt-camera-btn{width:44px;min-width:44px;height:44px;min-height:44px}.wt-add-row-hint{padding:.3rem .5rem;font-size:.68rem}}@media (max-width:1024px){.heading-xl{font-size:clamp(1.6rem,4.5vw,2.4rem)}.heading-lg{font-size:clamp(1.3rem,3.5vw,1.7rem)}.heading-md{font-size:clamp(1rem,2.5vw,1.2rem)}.heading-sm{font-size:clamp(.88rem,2vw,1rem)}.text-body{font-size:clamp(.82rem,1.8vw,.92rem)}.text-sm{font-size:clamp(.7rem,1.5vw,.8rem)}.text-xs{font-size:clamp(.62rem,1.2vw,.7rem)}.text-lg{font-size:clamp(.88rem,2vw,1rem)}.hero-layout{flex-direction:column;gap:40px}.hero-banner-wrap{width:100%;max-width:500px;height:350px}}@media (max-width:768px){.hero-modern{min-height:auto;padding:80px 16px 48px}.hero-layout{flex-direction:column;gap:28px}.hero-content{max-width:100%}.hero-badge-modern{margin-bottom:18px;padding:5px 12px;font-size:.68rem}.hero-title{margin-bottom:12px;font-size:clamp(1.5rem,5.5vw,2rem)}.hero-subtitle{max-width:100%;margin-bottom:24px;font-size:.85rem}.hero-actions{flex-direction:column;gap:10px;width:100%;max-width:320px;margin-bottom:36px}.hero-btn-glow,.hero-btn-ghost{justify-content:center;width:100%;padding:11px 22px;font-size:.85rem}.hero-banner-wrap{border-radius:5px;width:100%;max-width:100%;height:230px}.hero-stats-row{gap:14px}.hero-stat-num{font-size:1.15rem}.hero-stat-label{font-size:.68rem}.ai-spotlight-inner{text-align:center;flex-direction:column;gap:40px}.ai-spotlight-content .section-label{justify-content:center}.ai-spotlight-features{align-items:center}.cta-modern-card{padding:40px 24px}.features-section,.how-section,.stats-showcase-section,.ai-spotlight-section,.library-modern-section,.community-modern-section{padding:60px 20px}.cta-modern-section{padding:40px 20px 60px}.footer-modern{padding:40px 20px 24px}.community-modern-grid{grid-template-columns:1fr}.hero-btn-glow,.hero-btn-ghost{justify-content:center;width:100%}.dashboard-stats-grid,.home-stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-profile-card{text-align:center;width:100%;min-width:0;max-width:100%;overflow:hidden}.dashboard-profile-card .profile-top-row{flex-flow:wrap;justify-content:space-between;align-items:center;gap:.5rem;width:100%;min-width:0;max-width:100%;overflow:hidden}.dashboard-profile-card .profile-top-row-left{flex-direction:row;flex-shrink:0;align-items:center}.dashboard-profile-card .profile-stats-row,.dashboard-profile-card .profile-carousel{flex-shrink:0}.dashboard-profile-card .profile-info{word-break:break-word;width:100%;min-width:0;max-width:100%;overflow:hidden}.dashboard-profile-card .profile-avatar{flex-shrink:0}.dashboard-profile-card .profile-public-link{text-align:center;box-sizing:border-box;word-break:break-word;width:100%;min-width:0;max-width:100%;margin-left:0;overflow:hidden}.profile-public-link,.profile-private-badge{text-align:center;margin-left:0}.dashboard-profile-card .public-url{word-break:break-all;max-width:100%;display:inline-block;overflow:hidden}.dashboard-details-grid{width:100%;min-width:0;max-width:100%;overflow-x:auto}.hero h1{font-size:2rem}.home-library-grid,.form-row{grid-template-columns:1fr}.form-row-age-gender{grid-template-columns:120px 1fr}.form-row-weight-height,.form-row-3,.form-row-4{grid-template-columns:1fr 1fr}.auth-page{height:100dvh;padding:0}.auth-card{border:none;border-radius:0;max-width:100%;max-height:100dvh;padding:1.6rem 1.2rem}.reg-gender-pills{gap:6px}.reg-gender-pill{min-width:60px;padding:.55rem .6rem;font-size:.76rem}.footer-content{text-align:center;flex-direction:column;align-items:center}.dashboard-widgets-grid{grid-template-columns:repeat(2,1fr);gap:.4rem}.widget-card{padding:.5rem}.widget-stat-value{font-size:.85rem}.widget-title{font-size:.6rem}.widget-icon{font-size:.75rem}.donut-chart-svg{max-width:100px}.dashboard-profile-card{gap:.65rem;padding:1rem}.profile-avatar{width:40px;height:40px;font-size:1.05rem}.profile-name{font-size:.92rem}.profile-stat-pill{gap:.06rem;padding:.18rem .32rem}.widget-stat-item{padding:.28rem .18rem}.widget-stat-item:before{left:25%;right:25%}.widget-stats-grid{gap:.2rem}.widget-goal-name,.widget-goal-values{font-size:.56rem}.widget-goal-track{height:4px}.profile-form-header{top:calc(58px + var(--safe-top,0px))}.profile-form-body{padding:.1rem .2rem}.profile-form .form-row{grid-template-columns:1fr 1fr;gap:.6rem}.lb-grid{grid-template-columns:repeat(2,1fr);gap:.7rem}.lb-container{padding:0 .7rem 2rem}.lb-hero{padding:1.4rem .5rem .9rem}.lb-hero-title{font-size:clamp(1.3rem,4.5vw,1.6rem)}.lb-hero-subtitle{font-size:.8rem}.lb-tabs{border-radius:5px;gap:.3rem;margin:.7rem 0 .9rem;padding:.3rem}.lb-tab{border-radius:5px;padding:.45rem .55rem;font-size:.78rem}.lb-tab-count{padding:.06rem .35rem;font-size:.62rem}.lb-search-bar{gap:.3rem;margin-bottom:.5rem}.lb-search-input{border-radius:5px;padding:.5rem 1.8rem;font-size:.82rem}.lb-filter-toggle{border-radius:5px;padding:.5rem .7rem;font-size:.75rem}.lb-filter-panel{border-radius:5px;gap:.7rem;padding:.7rem .9rem}.lb-filter-chips{gap:.25rem}.lb-chip{padding:.28rem .55rem;font-size:.72rem}.lb-card{border-radius:5px}.lb-card-image-wrap{aspect-ratio:4/3}.lb-card-kcal-badge{padding:.18rem .45rem;font-size:.68rem}.lb-card-action-btns{gap:4px;top:6px;right:6px}.lb-card-action-btns .lb-quick-add-btn{width:26px;height:26px;font-size:.78rem}.lb-card-content{gap:.3rem;padding:.55rem}.lb-card-title{font-size:.82rem}.lb-card-macros{gap:.2rem}.lb-card-recipe-preview{font-size:.68rem}.lb-macro-bar-label{font-size:.62rem}.lb-empty{padding:1.8rem .9rem}.lb-empty-icon{font-size:2rem}.lb-empty-title{font-size:1rem}.pricing-page.pricing-page{padding:0 1rem 2.5rem}.pricing-page .pricing-hero{margin-bottom:.5rem;padding:2rem .75rem 1.5rem}.pricing-page .pricing-hero-title{font-size:clamp(1.6rem,3vw,2rem)}.pricing-page .pricing-grid{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;box-sizing:border-box;flex-flow:row;gap:0;width:100%;max-width:100%;margin:0;padding:1rem 15vw 0;display:flex;overflow:auto hidden}.pricing-page .pricing-grid::-webkit-scrollbar{display:none}.pricing-page .pricing-card{scroll-snap-align:center;box-sizing:border-box;flex:0 0 70vw;min-width:0;margin-right:1.25rem;padding:1.5rem}.pricing-page .pricing-card:last-child{margin-right:0}.pricing-page .pricing-carousel-dots{display:flex}}@media (min-width:641px) and (max-width:1024px){.pricing-page .pricing-grid{scroll-snap-type:none;grid-template-columns:1fr 1fr;gap:1.5rem;max-width:44rem;padding:0;display:grid;overflow:visible}.pricing-page .pricing-card{flex:unset;scroll-snap-align:unset;margin-right:0}.pricing-page .pricing-carousel-dots{display:none}}@media (max-width:768px){.navbar-mobile-logged-in{padding:.4rem .75rem;padding-top:calc(.4rem + var(--safe-top,0px));background:var(--card-bg);border-bottom:1px solid var(--card-border);box-shadow:0 2px 12px var(--shadow-md);z-index:400;box-sizing:border-box;align-items:center;gap:.25rem;display:flex;position:sticky;top:0}[data-keyboard-open] .navbar-mobile-logged-in{display:none!important}.navbar-mobile-hamburger{flex:0 0 44px;width:44px;height:44px}.mobile-nav-items{flex:1;justify-content:space-around;align-items:center;gap:.25rem;min-width:0;display:flex}.mobile-nav-item{min-width:0;min-height:44px;color:var(--text-muted);-webkit-tap-highlight-color:transparent;touch-action:manipulation;border-radius:14px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:.3rem .25rem;text-decoration:none;transition:color .18s cubic-bezier(.22,1,.36,1),transform .18s cubic-bezier(.22,1,.36,1);display:flex;position:relative}.mobile-nav-item.active{background:var(--accent-dim);color:var(--accent);border-radius:999px}.mobile-nav-item:active{transform:scale(.93)}.mobile-nav-item.active .mobile-nav-label{font-weight:600}.mobile-nav-item svg{flex-shrink:0;width:22px;height:22px}.mobile-nav-label{letter-spacing:.01em;white-space:nowrap;font-size:.625rem;font-weight:500;line-height:1}.navbar-action-bar{padding:.5rem .75rem;padding-bottom:calc(.5rem + var(--safe-bottom,0px));min-height:calc(60px + var(--safe-bottom,0px));background:var(--card-bg);border-top:1px solid var(--card-border);box-shadow:0 -6px 20px var(--shadow-md);z-index:400;box-sizing:border-box;justify-content:flex-end;align-items:center;gap:.5rem;display:flex;position:fixed;bottom:0;left:0;right:0}[data-keyboard-open]:not([data-navbar-input-active]) .navbar-action-bar{display:none!important}.navbar-action-bar .navbar-ai-input-group{flex:1;min-width:0}.navbar-camera-btn{--cam-raise:18px;width:68px;margin-top:calc(var(--cam-raise) * -1.16);border:4px solid var(--card-bg);background:linear-gradient(135deg, var(--accent), var(--accent-hover));color:var(--text-on-accent);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border-radius:999px;flex:none;justify-content:center;align-self:stretch;align-items:center;padding:0;transition:transform .18s cubic-bezier(.22,1,.36,1);display:flex;position:relative}.navbar-camera-btn:before{content:"";border:1px solid var(--card-border);clip-path:inset(0 0 calc(100% - (var(--cam-raise) - 5px)) 0);pointer-events:none;border-radius:999px;position:absolute;inset:-4px}.navbar-camera-btn:active{transform:scale(.92)}.navbar-camera-btn svg{width:24px;height:24px}body:has(.navbar-action-bar) main{padding-bottom:calc(70px + var(--safe-bottom,0px))}body:has(.navbar-action-bar) .jump-today{bottom:calc(5.25rem + var(--safe-bottom,0px))}body:has(.navbar-action-bar) .toast-container{bottom:calc(82px + var(--safe-bottom,0px))}}@media (min-width:641px) and (max-width:1024px){.hero{padding:2rem 1.5rem;padding-top:calc(2rem + var(--safe-top))}.hero h1{font-size:clamp(1.8rem,3.5vw,2.4rem)}.table-wrap table{font-size:.75rem}.modal{max-width:440px}.diary-insights{padding:.6rem .8rem}.diary-insight-icon{width:28px;height:28px;font-size:1rem}.diary-insight-title{font-size:.88rem}.diary-insight-message{font-size:.7rem}}@media (min-width:500px){.modal-image-strip{border-radius:5px;height:180px;min-height:140px;max-height:200px}.modal-image-main,.modal-image-main img,.modal-image-side,.modal-image-side img,.modal-image-side,.modal-image-side img{border-radius:5px}}@media print{.hero{padding:1rem;color:#000!important;background:#fff!important}.hero h1 span{color:var(--accent)!important}.hero-badge{border-color:var(--card-border)!important}.stat-num{color:var(--accent)!important}.stat{border-color:var(--card-border)!important;background:var(--card-bg)!important}.modal-backdrop,.jump-today,.pwa-banner,.tips-bar{display:none!important}.legend{position:static!important}footer{page-break-after:avoid}.table-wrap table{box-shadow:none!important}}@media (prefers-color-scheme:dark){.auth-page:before{background:radial-gradient(circle, var(--accent-soft-bg-dim) 0%, transparent 70%)}.auth-page:after{background:radial-gradient(circle, var(--accent-soft-bg-faint) 0%, transparent 70%)}.auth-card{box-shadow:0 8px 40px var(--shadow-dark), 0 1px 3px var(--shadow-medium);border-color:var(--white-soft-6)}.auth-card:after{content:"";background:linear-gradient(135deg, var(--white-soft-2) 0%, transparent 50%);pointer-events:none;border-radius:5px;position:absolute;inset:0}.form-group input:focus,.form-group textarea:focus{box-shadow:0 0 0 4px var(--accent-focus-shadow-strong)}.btn-auth{box-shadow:0 4px 16px var(--accent-btn-shadow-dim)}}@media (min-width:1025px){.diary-insights{padding:.7rem .9rem}.diary-insight-card{gap:.7rem}.diary-insight-icon{width:30px;height:30px;font-size:1.05rem}.diary-insight-title{font-size:.9rem}.diary-insight-message{font-size:.73rem;line-height:1.45}.diary-insight-card:hover .diary-insight-title{text-underline-offset:3px;text-decoration:underline}.diary-insight-dot{width:6px;height:6px}.diary-insight-dot.active{width:16px}.dashboard-profile-card .profile-top-row{flex-direction:row;justify-content:center;align-items:center;position:relative}.dashboard-profile-card .profile-top-row-left{flex-direction:row;align-items:center}.dashboard-profile-card .profile-info{text-align:left;align-items:flex-start}.dashboard-profile-card .profile-stats-row{flex-wrap:nowrap}.dashboard-profile-card .profile-carousel{position:absolute;right:0}.dashboard-widgets-grid{grid-template-columns:repeat(4,1fr)}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
