@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}:root{--color-primary-50: #fafafa;--color-primary-100: #f4f4f5;--color-primary-200: #e4e4e7;--color-primary-300: #d4d4d8;--color-primary-400: #a1a1aa;--color-primary-500: #71717a;--color-primary-600: #52525b;--color-primary-700: #3f3f46;--color-primary-800: #27272a;--color-primary-900: #18181b;--color-accent-50: #eef2ff;--color-accent-100: #e0e7ff;--color-accent-200: #c7d2fe;--color-accent-500: #6366f1;--color-accent-600: #4f46e5;--color-warm-50: #fef3c7;--color-warm-100: #fde68a;--color-warm-200: #fcd34d;--color-warm-500: #f59e0b;--color-warm-600: #d97706;--color-fresh-50: #ecfdf5;--color-fresh-100: #d1fae5;--color-fresh-200: #a7f3d0;--color-fresh-500: #10b981;--color-fresh-600: #059669;--color-appetite-50: #fff7ed;--color-appetite-100: #ffedd5;--color-appetite-200: #fed7aa;--color-appetite-500: #f97316;--color-appetite-600: #ea580c;--radius-card: 1rem;--radius-button: .75rem;--radius-input: .75rem;--radius-modal: 1.5rem;--spacing-card: 1.5rem;--spacing-section: 2rem;--shadow-subtle: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-card: 0 2px 8px -2px rgb(0 0 0 / .08), 0 1px 3px -1px rgb(0 0 0 / .06);--shadow-card-hover: 0 12px 24px -4px rgb(0 0 0 / .12), 0 4px 8px -2px rgb(0 0 0 / .08);--shadow-float: 0 20px 25px -5px rgb(0 0 0 / .15), 0 8px 10px -6px rgb(0 0 0 / .1);--shadow-modal: 0 25px 50px -12px rgb(0 0 0 / .3);--shadow-warm: 0 8px 16px -4px rgb(245 158 11 / .15);--shadow-fresh: 0 8px 16px -4px rgb(16 185 129 / .15);--shadow-appetite: 0 8px 16px -4px rgb(249 115 22 / .15);--shadow-accent: 0 8px 16px -4px rgb(99 102 241 / .15);--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--transition-fast: .2s;--transition-base: .3s;--transition-slow: .5s;--surface-bg: #fafafa;--surface-primary: #ffffff;--surface-secondary: #f4f4f5;--surface-elevated: rgba(255, 255, 255, .95);--surface-glass: rgba(255, 255, 255, .7);--surface-glass-heavy: rgba(255, 255, 255, .9);--surface-overlay: rgba(0, 0, 0, .3);--text-primary: #18181b;--text-secondary: #71717a;--text-tertiary: #a1a1aa;--text-inverted: #ffffff;--border-primary: #e4e4e7;--border-subtle: rgba(255, 255, 255, .4);--selection-bg: #e0e7ff;--selection-text: #312e81;--background: oklch(1 0 0);--foreground: oklch(.145 0 0);--card: oklch(1 0 0);--card-foreground: oklch(.145 0 0);--popover: oklch(1 0 0);--popover-foreground: oklch(.145 0 0);--primary: oklch(.205 0 0);--primary-foreground: oklch(.985 0 0);--secondary: oklch(.97 0 0);--secondary-foreground: oklch(.205 0 0);--muted: oklch(.97 0 0);--muted-foreground: oklch(.556 0 0);--accent: oklch(.97 0 0);--accent-foreground: oklch(.205 0 0);--destructive: oklch(.58 .22 27);--border: oklch(.922 0 0);--input: oklch(.922 0 0);--ring: oklch(.708 0 0);--chart-1: oklch(.809 .105 251.813);--chart-2: oklch(.623 .214 259.815);--chart-3: oklch(.546 .245 262.881);--chart-4: oklch(.488 .243 264.376);--chart-5: oklch(.424 .199 265.638);--radius: .625rem;--sidebar: oklch(.985 0 0);--sidebar-foreground: oklch(.145 0 0);--sidebar-primary: oklch(.205 0 0);--sidebar-primary-foreground: oklch(.985 0 0);--sidebar-accent: oklch(.97 0 0);--sidebar-accent-foreground: oklch(.205 0 0);--sidebar-border: oklch(.922 0 0);--sidebar-ring: oklch(.708 0 0)}.dark{--color-primary-50: #18181b;--color-primary-100: #27272a;--color-primary-200: #3f3f46;--color-primary-300: #52525b;--color-primary-400: #71717a;--color-primary-500: #a1a1aa;--color-primary-600: #d4d4d8;--color-primary-700: #e4e4e7;--color-primary-800: #f4f4f5;--color-primary-900: #fafafa;--color-accent-50: #1e1b4b;--color-accent-100: #312e81;--color-accent-200: #4338ca;--color-accent-500: #818cf8;--color-accent-600: #a5b4fc;--color-warm-50: #451a03;--color-warm-100: #78350f;--color-warm-200: #92400e;--color-warm-500: #fbbf24;--color-warm-600: #fcd34d;--color-fresh-50: #022c22;--color-fresh-100: #064e3b;--color-fresh-200: #065f46;--color-fresh-500: #34d399;--color-fresh-600: #6ee7b7;--color-appetite-50: #431407;--color-appetite-100: #7c2d12;--color-appetite-200: #9a3412;--color-appetite-500: #fb923c;--color-appetite-600: #fdba74;--shadow-subtle: 0 1px 2px 0 rgb(0 0 0 / .3);--shadow-card: 0 2px 8px -2px rgb(0 0 0 / .4), 0 1px 3px -1px rgb(0 0 0 / .3);--shadow-card-hover: 0 12px 24px -4px rgb(0 0 0 / .5), 0 4px 8px -2px rgb(0 0 0 / .4);--shadow-float: 0 20px 25px -5px rgb(0 0 0 / .5), 0 8px 10px -6px rgb(0 0 0 / .4);--shadow-modal: 0 25px 50px -12px rgb(0 0 0 / .7);--shadow-warm: 0 8px 16px -4px rgb(251 191 36 / .2);--shadow-fresh: 0 8px 16px -4px rgb(52 211 153 / .2);--shadow-appetite: 0 8px 16px -4px rgb(251 146 60 / .2);--shadow-accent: 0 8px 16px -4px rgb(129 140 248 / .2);--surface-bg: #09090b;--surface-primary: #18181b;--surface-secondary: #27272a;--surface-elevated: rgba(24, 24, 27, .95);--surface-glass: rgba(24, 24, 27, .7);--surface-glass-heavy: rgba(24, 24, 27, .9);--surface-overlay: rgba(0, 0, 0, .6);--text-primary: #fafafa;--text-secondary: #a1a1aa;--text-tertiary: #71717a;--text-inverted: #18181b;--border-primary: #3f3f46;--border-subtle: rgba(63, 63, 70, .4);--selection-bg: #312e81;--selection-text: #c7d2fe;--background: oklch(.145 0 0);--foreground: oklch(.985 0 0);--card: oklch(.205 0 0);--card-foreground: oklch(.985 0 0);--popover: oklch(.205 0 0);--popover-foreground: oklch(.985 0 0);--primary: oklch(.87 0 0);--primary-foreground: oklch(.205 0 0);--secondary: oklch(.269 0 0);--secondary-foreground: oklch(.985 0 0);--muted: oklch(.269 0 0);--muted-foreground: oklch(.708 0 0);--accent: oklch(.371 0 0);--accent-foreground: oklch(.985 0 0);--destructive: oklch(.704 .191 22.216);--border: oklch(1 0 0 / 10%);--input: oklch(1 0 0 / 15%);--ring: oklch(.556 0 0);--chart-1: oklch(.809 .105 251.813);--chart-2: oklch(.623 .214 259.815);--chart-3: oklch(.546 .245 262.881);--chart-4: oklch(.488 .243 264.376);--chart-5: oklch(.424 .199 265.638);--sidebar: oklch(.205 0 0);--sidebar-foreground: oklch(.985 0 0);--sidebar-primary: oklch(.488 .243 264.376);--sidebar-primary-foreground: oklch(.985 0 0);--sidebar-accent: oklch(.269 0 0);--sidebar-accent-foreground: oklch(.985 0 0);--sidebar-border: oklch(1 0 0 / 10%);--sidebar-ring: oklch(.556 0 0)}body{font-family:Inter,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--surface-bg);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}::-moz-selection{background-color:var(--selection-bg);color:var(--selection-text)}::selection{background-color:var(--selection-bg);color:var(--selection-text)}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.btn-primary{border-radius:var(--radius-button);padding:.75rem 1.5rem;font-weight:600;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.btn-primary:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background-color:var(--text-primary);color:var(--text-inverted)}.btn-primary:hover{opacity:.9}.btn-secondary{border-radius:var(--radius-button);padding:.75rem 1rem;font-weight:600;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;background-color:var(--surface-secondary);color:var(--text-secondary)}.btn-secondary:hover{background-color:var(--color-primary-200)}.btn-danger{border-radius:var(--radius-button);--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity));padding:.75rem 1rem;font-weight:600;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.btn-danger:hover{--tw-bg-opacity: 1;background-color:rgb(185 28 28 / var(--tw-bg-opacity))}.btn-warning{border-radius:var(--radius-button);--tw-bg-opacity: 1;background-color:rgb(217 119 6 / var(--tw-bg-opacity));padding:.625rem 1rem;font-weight:500;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity));--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.btn-warning:hover{--tw-bg-opacity: 1;background-color:rgb(180 83 9 / var(--tw-bg-opacity));--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.btn-icon{height:2rem;width:2rem;border-radius:9999px;color:var(--color-primary-400)}.btn-icon:hover{color:var(--color-primary-600)}.btn-icon{display:flex;align-items:center;justify-content:center;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;background-color:var(--surface-secondary)}.btn-icon:hover{background-color:var(--color-primary-200)}.btn-icon-sm{height:1.75rem;width:1.75rem;border-radius:9999px;color:var(--color-primary-400)}.btn-icon-sm:hover{border-color:var(--color-accent-600);color:var(--color-accent-600)}.btn-icon-sm{display:flex;align-items:center;justify-content:center;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.btn-icon-sm:active{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.btn-icon-sm{background-color:var(--surface-glass);border:1px solid var(--border-primary)}.btn-icon-sm:hover{background-color:var(--surface-glass-heavy)}.btn-regenerate{border-radius:9999px;padding:.625rem 1rem;font-size:.875rem;line-height:1.25rem;font-weight:600;--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn-regenerate:hover{color:var(--color-accent-600);--tw-translate-y: -.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.btn-regenerate:active{--tw-translate-y: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.btn-regenerate{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;background-color:var(--surface-glass);border:2px solid var(--border-subtle);color:var(--text-secondary)}.btn-regenerate:hover{background-color:var(--surface-glass-heavy);border-color:var(--color-accent-500)}.btn-glass{border-radius:var(--radius-button);--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.btn-glass:active{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.btn-glass{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;background-color:var(--surface-glass);border:1px solid var(--border-subtle)}.btn-glass:hover{background-color:var(--surface-glass-heavy);box-shadow:var(--shadow-card)}.meal-card-breakfast{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:var(--surface-primary);border:1px solid var(--border-primary);box-shadow:var(--shadow-card)}.meal-card-breakfast:hover{box-shadow:var(--shadow-card-hover)}.meal-card-lunch{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:var(--surface-primary);border:1px solid var(--border-primary);box-shadow:var(--shadow-card)}.meal-card-lunch:hover{box-shadow:var(--shadow-card-hover)}.meal-card-snack{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:var(--surface-primary);border:1px solid var(--border-primary);box-shadow:var(--shadow-card)}.meal-card-snack:hover{box-shadow:var(--shadow-card-hover)}.meal-card-dinner{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:var(--surface-primary);border:1px solid var(--border-primary);box-shadow:var(--shadow-card)}.meal-card-dinner:hover{box-shadow:var(--shadow-card-hover)}.dark .meal-card-breakfast,.dark .meal-card-lunch,.dark .meal-card-snack,.dark .meal-card-dinner{background-color:var(--surface-primary);border-color:var(--border-primary)}.meal-type-dot-breakfast{--tw-bg-opacity: 1;background-color:rgb(245 158 11 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(245 158 11 / var(--tw-text-opacity))}.meal-type-dot-lunch{--tw-bg-opacity: 1;background-color:rgb(16 185 129 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(16 185 129 / var(--tw-text-opacity))}.meal-type-dot-snack{--tw-bg-opacity: 1;background-color:rgb(249 115 22 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(249 115 22 / var(--tw-text-opacity))}.meal-type-dot-dinner{--tw-bg-opacity: 1;background-color:rgb(99 102 241 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(99 102 241 / var(--tw-text-opacity))}.meal-type-pill{display:inline-flex;align-items:center;gap:.375rem;border-radius:9999px;padding:.125rem .625rem;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.meal-type-pill-breakfast{background-color:#f59e0b1f;color:#d97706}.dark .meal-type-pill-breakfast{background-color:#fbbf2426;color:#fbbf24}.meal-type-pill-lunch{background-color:#10b9811f;color:#059669}.dark .meal-type-pill-lunch{background-color:#34d39926;color:#34d399}.meal-type-pill-snack{background-color:#f973161f;color:#ea580c}.dark .meal-type-pill-snack{background-color:#fb923c26;color:#fb923c}.meal-type-pill-dinner{background-color:#6366f11f;color:#4f46e5}.dark .meal-type-pill-dinner{background-color:#818cf826;color:#818cf8}.card{border-radius:var(--radius-card);padding:var(--spacing-card);--tw-shadow: var(--shadow-card);--tw-shadow-colored: var(--shadow-card);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.card:hover{--tw-shadow: var(--shadow-card-hover);--tw-shadow-colored: var(--shadow-card-hover);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.card{background-color:var(--surface-primary);border:1px solid var(--border-primary)}.card-glass{border-radius:var(--radius-card);--tw-backdrop-blur: blur(40px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);--tw-shadow: var(--shadow-modal);--tw-shadow-colored: var(--shadow-modal);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: rgb(0 0 0 / .05);background-color:var(--surface-glass-heavy);border:1px solid var(--border-subtle)}.\!input,.input{width:100%;border-radius:var(--radius-input);padding:.75rem 1rem}.\!input:focus{border-color:transparent;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: var(--color-primary-900)}.input:focus{border-color:transparent;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: var(--color-primary-900)}.\!input{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.\!input::-moz-placeholder{color:var(--color-primary-400)}.\!input::placeholder{color:var(--color-primary-400)}.input{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.input::-moz-placeholder{color:var(--color-primary-400)}.input::placeholder{color:var(--color-primary-400)}.\!input{background-color:var(--surface-primary)!important;border:1px solid var(--border-primary)!important;color:var(--text-primary)!important}.input{background-color:var(--surface-primary);border:1px solid var(--border-primary);color:var(--text-primary)}.textarea{width:100%;border-radius:var(--radius-input);padding:.75rem 1rem}.textarea:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: var(--color-primary-100)}.textarea{resize:none;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;background-color:var(--surface-primary);border:1px solid var(--border-primary);color:var(--text-primary)}.textarea:focus{background-color:var(--surface-primary)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:1rem;--tw-backdrop-blur: blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;transition-timing-function:cubic-bezier(0,0,.2,1);background-color:var(--surface-overlay)}.modal-container{border-radius:var(--radius-modal);--tw-shadow: var(--shadow-modal);--tw-shadow-colored: var(--shadow-modal);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);--tw-backdrop-blur: blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: rgb(0 0 0 / .05);max-height:80vh;width:100%;max-width:28rem;overflow:hidden;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;transition-timing-function:cubic-bezier(0,0,.2,1);background-color:var(--surface-elevated);border:1px solid var(--border-subtle)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:var(--surface-glass);border-bottom:1px solid var(--border-subtle)}.modal-content{padding:1.5rem}.heading-page{font-size:1.875rem;line-height:2.25rem;font-weight:700;letter-spacing:-.025em;color:var(--color-primary-900)}@media(min-width:768px){.heading-page{font-size:2.25rem;line-height:2.5rem}}.heading-page{background:linear-gradient(135deg,var(--text-primary) 0%,var(--text-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.heading-card{font-size:1.125rem;line-height:1.75rem;font-weight:600;color:var(--color-primary-900)}.label-section{font-size:.75rem;line-height:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--color-primary-400)}.text-body{line-height:1.625;color:var(--color-primary-700)}.text-secondary{line-height:1.625;color:var(--color-primary-500)}.checkbox-enhanced{height:1.25rem;width:1.25rem;border-radius:9999px;border-width:2px;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;display:flex;align-items:center;justify-content:center}.checkbox-unchecked{border-color:var(--color-primary-300);background:transparent}.checkbox-checked{--tw-border-opacity: 1;border-color:rgb(16 185 129 / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgb(16 185 129 / var(--tw-bg-opacity));animation:checkBounce .4s cubic-bezier(.34,1.56,.64,1)}@keyframes checkBounce{0%{transform:scale(1)}30%{transform:scale(1.3)}50%{transform:scale(.9)}to{transform:scale(1)}}.section-divider{height:2px;flex:1 1 0%;background:linear-gradient(90deg,var(--border-primary) 0%,var(--surface-secondary) 50%,transparent 100%)}.empty-state-icon-wrapper{margin-bottom:1.5rem;height:5rem;width:5rem;border-radius:1.5rem;background-image:linear-gradient(to bottom right,var(--tw-gradient-stops));--tw-gradient-from: var(--color-primary-100) var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: var(--color-primary-50) var(--tw-gradient-to-position);border-width:1px;border-color:var(--color-primary-200);display:flex;align-items:center;justify-content:center;--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.skeleton-shimmer{position:relative;overflow:hidden;background-image:linear-gradient(to right,var(--tw-gradient-stops));--tw-gradient-from: var(--color-primary-100) var(--tw-gradient-from-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--color-primary-50) var(--tw-gradient-via-position), var(--tw-gradient-to);--tw-gradient-to: var(--color-primary-100) var(--tw-gradient-to-position);background-size:200% 100%;animation:shimmer 2s ease-in-out infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.sticky-header-mobile{position:sticky;margin-left:-1rem;margin-right:-1rem;padding:.75rem 1rem;--tw-backdrop-blur: blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);top:var(--tab-header-height, 62px);z-index:5;background-color:var(--surface-bg);border-bottom:1px solid var(--border-primary);margin-bottom:1.5rem}.sticky-header-below-progress{top:var(--sticky-content-top, 86px)}@media(min-width:768px){.sticky-header-mobile,.sticky-header-below-progress{top:0}}.loading-screen{display:flex;min-height:100vh;flex-direction:column;align-items:center;justify-content:center;background-color:var(--surface-bg)}.loading-screen-content{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.loading-screen-logo{display:flex;height:4rem;width:4rem;align-items:center;justify-content:center;border-radius:var(--radius-modal);background-color:var(--text-primary);box-shadow:var(--shadow-float)}.loading-screen-spinner-container{display:flex;flex-direction:column;align-items:center;gap:.75rem}.progress-bar-container{width:100%;overflow:hidden;border-radius:9999px;height:6px;background-color:var(--surface-secondary)}.progress-bar-fill{height:100%;border-radius:9999px;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.5s;transition-timing-function:cubic-bezier(0,0,.2,1);background:linear-gradient(90deg,#10b981,#34d399)}.progress-bar-fill-amber{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.meal-card-now-highlight{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: var(--color-accent-500);animation:nowGlow 2s ease-in-out infinite}@keyframes nowGlow{0%,to{box-shadow:var(--shadow-card-hover),0 0 #6366f126}50%{box-shadow:var(--shadow-card-hover),0 0 20px 4px #6366f133}}.dark .meal-card-now-highlight{--tw-ring-color: var(--color-accent-500)}@media(prefers-reduced-motion:reduce){.meal-card-now-highlight{animation:none}}.stage-enter{animation:stageEnter .35s cubic-bezier(.16,1,.3,1) forwards}@keyframes stageEnter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.stagger-item{opacity:0;animation:staggerIn .4s cubic-bezier(.16,1,.3,1) forwards}@keyframes staggerIn{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.strikethrough-animate.\!checked:after{width:100%!important}.strikethrough-animate.checked:after{width:100%}.form-field{width:100%;border-radius:1rem;border-style:none;padding:1rem 1.25rem;font-weight:500;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.form-field:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: var(--color-primary-100)}.form-field{background-color:var(--surface-secondary);color:var(--text-primary)}.form-field::-moz-placeholder{color:var(--text-tertiary)}.form-field::placeholder{color:var(--text-tertiary)}.form-field:focus{background-color:var(--surface-primary)}.form-field-bold{width:100%;border-radius:1rem;border-style:none;padding:1rem 1.25rem;font-size:1.125rem;line-height:1.75rem;font-weight:600;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.form-field-bold:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: var(--color-primary-100)}.form-field-bold{background-color:var(--surface-secondary);color:var(--text-primary)}.form-field-bold::-moz-placeholder{color:var(--text-tertiary)}.form-field-bold::placeholder{color:var(--text-tertiary)}.form-field-bold:focus{background-color:var(--surface-primary)}.form-textarea-wrapper{display:flex;height:100%;flex-direction:column;border-radius:1rem;padding:.25rem;background-color:color-mix(in srgb,var(--surface-secondary) 50%,transparent)}.form-textarea{width:100%;flex:1 1 0%;border-style:none;background-color:transparent;padding:1rem;font-size:.875rem;line-height:1.25rem;line-height:1.625;min-height:100px;resize:none}.form-textarea:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.form-textarea{color:var(--text-secondary)}.form-textarea::-moz-placeholder{color:var(--text-tertiary)}.form-textarea::placeholder{color:var(--text-tertiary)}.invite-link-display{width:100%;border-radius:.5rem;padding:.625rem .75rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.875rem;line-height:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;-webkit-user-select:all;-moz-user-select:all;user-select:all;outline:2px solid transparent;outline-offset:2px}.invite-link-display:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.invite-link-display{background-color:var(--surface-secondary);color:var(--text-secondary);border:1px solid var(--border-primary);focus-ring-color:var(--color-primary-300)}.family-member-row{display:flex;align-items:center;gap:.75rem;border-radius:.75rem;padding:.75rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;background-color:var(--surface-secondary)}.family-member-row:hover{background-color:var(--color-primary-200)}.family-member-role-inline{flex-shrink:0;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-radius:.25rem;padding:.125rem .375rem;color:var(--text-tertiary);background-color:var(--surface-primary)}.family-member-card{position:relative;border-radius:1.5rem;padding:2rem;--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.family-member-card:hover{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.family-member-card{background-color:var(--surface-primary);border:1px solid var(--border-primary)}.family-member-card:hover{border-color:var(--color-primary-300)}.effort-toggle{border-radius:1rem;padding-top:1rem;padding-bottom:1rem;font-size:.875rem;line-height:1.25rem;font-weight:700;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.effort-toggle-active{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);background-color:var(--text-primary);color:var(--text-inverted);box-shadow:0 10px 15px -3px color-mix(in srgb,var(--text-primary) 10%,transparent)}.effort-toggle-inactive{background-color:var(--surface-secondary);color:var(--text-tertiary)}.effort-toggle-inactive:hover{background-color:var(--color-primary-200)}.preferences-card>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3rem * var(--tw-space-y-reverse))}.preferences-card{border-radius:1.5rem;padding:2rem;--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);background-color:var(--surface-primary);border:1px solid var(--border-primary)}.cuisine-select-trigger{display:flex;width:100%;align-items:center;justify-content:space-between;border-radius:1rem;padding:1rem 1.25rem;font-weight:500;cursor:pointer;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;background-color:var(--surface-secondary);color:var(--text-primary);border:none}.cuisine-select-trigger:hover{background-color:var(--color-primary-200)}.cuisine-select-trigger:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: var(--color-primary-100);background-color:var(--surface-primary)}.cuisine-select-placeholder{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;color:var(--text-tertiary)}.cuisine-select-count{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;font-weight:500;color:var(--text-secondary)}.cuisine-select-caret{flex-shrink:0;color:var(--text-tertiary)}.cuisine-select-dropdown{position:absolute;left:0;right:0;z-index:50;overflow:hidden;border-radius:1rem;--tw-backdrop-blur: blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.cuisine-select-dropdown{animation:fadeInUp .5s ease-out;animation:fade-in-up .2s ease-out;top:calc(100% + 4px);background-color:var(--surface-elevated);border:1px solid var(--border-primary);box-shadow:var(--shadow-float)}.cuisine-select-search{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-bottom:1px solid var(--border-primary)}.cuisine-select-search-icon{flex-shrink:0;color:var(--text-tertiary)}.cuisine-select-search-input{width:100%;border-style:none;background-color:transparent;font-size:.875rem;line-height:1.25rem;font-weight:500;outline:2px solid transparent;outline-offset:2px;color:var(--text-primary)}.cuisine-select-search-input::-moz-placeholder{color:var(--text-tertiary)}.cuisine-select-search-input::placeholder{color:var(--text-tertiary)}.cuisine-select-list{overflow-y:auto;padding-top:.25rem;padding-bottom:.25rem;max-height:240px}.cuisine-select-empty{padding-top:1.5rem;padding-bottom:1.5rem;text-align:center;font-size:.875rem;line-height:1.25rem;color:var(--text-tertiary)}.cuisine-select-item{display:flex;width:100%;align-items:center;gap:.625rem;padding:.625rem 1rem;text-align:left;cursor:pointer;font-size:.875rem;line-height:1.25rem;font-weight:500;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;color:var(--text-primary);background:transparent;border:none}.cuisine-select-item:hover{background-color:var(--surface-secondary)}.cuisine-select-item-active{background-color:color-mix(in srgb,var(--color-accent-50) 50%,transparent)}.cuisine-select-check{display:flex;height:1rem;width:1rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:9999px;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;border:1.5px solid var(--color-primary-300);background:transparent}.cuisine-select-check-active{border-color:var(--color-accent-500);background-color:var(--color-accent-500);color:#fff}.cuisine-chips-container{display:flex;flex-wrap:wrap;gap:.5rem}.cuisine-chip{display:inline-flex;align-items:center;gap:.375rem;border-radius:9999px;padding:.375rem .75rem;font-size:.75rem;line-height:1rem;font-weight:600;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.cuisine-chip{animation:fadeInUp .5s ease-out;animation:fade-in-up .2s ease-out;background-color:var(--surface-secondary);color:var(--text-secondary);border:1px solid var(--border-primary)}.cuisine-chip-remove{display:flex;height:1rem;width:1rem;align-items:center;justify-content:center;border-radius:9999px;cursor:pointer;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;color:var(--text-tertiary);background:transparent;border:none;padding:0}.cuisine-chip-remove:hover{color:var(--text-primary);background-color:var(--color-primary-200)}.btn-save-floating{border-radius:9999px;padding:1.25rem 3rem 1.25rem 2.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:700;display:flex;align-items:center;gap:.75rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.btn-save-floating:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.btn-save-floating:disabled{cursor:wait;opacity:.5}.btn-save-floating:hover:disabled{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.btn-save-floating{background-color:var(--text-primary);color:var(--text-inverted);box-shadow:0 25px 50px -12px color-mix(in srgb,var(--text-primary) 30%,transparent)}.btn-save-floating:hover{opacity:.95}.related-meal-pill{display:inline-flex;align-items:center;gap:.375rem;border-radius:.5rem;padding:.25rem .625rem;background-color:var(--surface-secondary);border:1px solid var(--border-primary)}.related-meal-pill-checked{display:inline-flex;align-items:center;gap:.375rem;border-radius:.5rem;padding:.25rem .625rem;background-color:var(--surface-secondary);border:1px solid var(--border-primary);color:var(--text-tertiary)}.add-item-row{display:flex;align-items:center;gap:.75rem;border-radius:1rem;padding:.75rem .75rem .75rem 1rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;background-color:var(--surface-primary);border:1px dashed var(--border-primary)}.add-item-row:focus-within{border-style:solid;border-color:var(--color-accent-400);box-shadow:0 0 0 3px var(--color-accent-100)}.add-item-input{flex:1 1 0%;border-style:none;background-color:transparent;font-size:1rem;line-height:1.5rem;font-weight:500;outline:2px solid transparent;outline-offset:2px;color:var(--text-primary)}.add-item-input::-moz-placeholder{color:var(--text-tertiary)}.add-item-input::placeholder{color:var(--text-tertiary)}.add-item-qty{width:3rem;flex-shrink:0;border-style:none;background-color:transparent;text-align:right;font-size:.875rem;line-height:1.25rem;font-weight:500;outline:2px solid transparent;outline-offset:2px}@media(min-width:768px){.add-item-qty{width:5rem}}.add-item-qty{color:var(--text-secondary)}.add-item-qty::-moz-placeholder{color:var(--text-tertiary)}.add-item-qty::placeholder{color:var(--text-tertiary)}.btn-add-item{display:flex;height:2rem;width:2rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:9999px;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;background-color:var(--color-accent-500);color:#fff}.btn-add-item:hover{background-color:var(--color-accent-600);transform:scale(1.05)}.btn-add-item:active{transform:scale(.95)}.btn-add-item:disabled{cursor:not-allowed;opacity:.3;transform:none}.empty-state-heading{margin-bottom:.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:600;color:var(--text-primary)}.empty-state-text{margin-bottom:1.5rem;max-width:24rem;text-align:center;line-height:1.625;color:var(--text-secondary)}.btn-empty-state{display:flex;align-items:center;gap:.5rem;border-radius:9999px;padding:.75rem 1.5rem;font-weight:600;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.btn-empty-state:disabled{opacity:.5}.btn-empty-state{background-color:var(--text-primary);color:var(--text-inverted)}.btn-empty-state:hover{opacity:.9}.user-menu-trigger{display:flex;height:2.25rem;align-items:center;gap:.5rem;padding-left:.5rem;padding-right:.5rem}@media(min-width:768px){.user-menu-trigger{height:2.5rem;padding-left:.75rem;padding-right:.75rem}}.user-menu-trigger{border-radius:9999px;--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;background-color:var(--surface-glass);border:1px solid var(--border-subtle)}.user-menu-trigger:hover{background-color:var(--surface-glass-heavy)}.user-menu-dropdown{position:absolute;right:0;margin-top:.5rem;width:16rem;border-radius:.75rem;--tw-shadow: var(--shadow-modal);--tw-shadow-colored: var(--shadow-modal);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);--tw-backdrop-blur: blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);overflow:hidden;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: rgb(0 0 0 / .05);z-index:50}.user-menu-dropdown{animation:fadeInUp .5s ease-out;animation:fade-in-up .2s ease-out;background-color:var(--surface-elevated);border:1px solid var(--border-subtle)}.user-menu-info{padding:1rem;--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:var(--surface-glass);border-bottom:1px solid var(--border-subtle)}.user-menu-item{display:flex;width:100%;align-items:center;gap:.75rem;padding:.625rem 1rem;font-size:.875rem;line-height:1.25rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;color:var(--text-secondary)}.user-menu-item:hover{background-color:var(--surface-secondary)}.user-menu-footer{padding:.75rem 1rem;background-color:var(--surface-secondary);border-top:1px solid var(--border-primary)}.delete-account-section{border-radius:.75rem;padding:1rem;background-color:color-mix(in srgb,#ef4444 6%,var(--surface-secondary));border:1px solid color-mix(in srgb,#ef4444 20%,var(--border-primary))}.error-icon-wrapper{display:flex;height:2.5rem;width:2.5rem;align-items:center;justify-content:center;border-radius:9999px;background-color:color-mix(in srgb,#ef4444 15%,var(--surface-secondary))}.error-detail-box{border-radius:1rem;padding:1rem;background-color:var(--surface-secondary)}.error-support-box{border-radius:1rem;padding:1rem;background-color:color-mix(in srgb,var(--color-accent-50) 50%,transparent)}.btn-close-modal{flex:1 1 0%;border-radius:1rem;padding:.75rem 1rem;font-weight:600;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;background-color:var(--surface-secondary);color:var(--text-secondary)}.btn-close-modal:hover{background-color:var(--color-primary-200)}.btn-retry-modal{flex:1 1 0%;border-radius:1rem;padding:.75rem 1rem;font-weight:600;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;display:flex;align-items:center;justify-content:center;gap:.5rem;background-color:var(--text-primary);color:var(--text-inverted)}.btn-retry-modal:hover{opacity:.9}.auth-divider-text{padding-left:.75rem;padding-right:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.025em;color:var(--color-primary-400);background-color:var(--surface-elevated)}.loading-pill{border-radius:9999px;padding:.5rem 1rem;--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);display:flex;align-items:center;gap:.5rem;background-color:var(--surface-elevated);border:1px solid var(--border-primary)}.avatar-fallback{display:flex;flex-shrink:0;align-items:center;justify-content:center;border-radius:9999px;background-color:var(--text-primary)}.avatar-fallback span{font-weight:600;color:var(--text-inverted)}.btn-delete-hover{position:absolute;top:1.5rem;right:1.5rem;border-radius:9999px;padding:.5rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;z-index:20;opacity:0}.group:hover .btn-delete-hover{opacity:1}.btn-delete-hover{color:var(--text-tertiary)}.btn-delete-hover:hover{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity))}.dark .btn-delete-hover:hover{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity));background-color:#ef444426}.skeleton-block{border-radius:.25rem;background-color:var(--color-primary-200)}.skeleton-block-light{border-radius:.25rem;background-color:var(--color-primary-100)}.stage-stepper{display:inline-flex;border-radius:9999px;padding:.25rem;--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);--tw-backdrop-blur: blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background-color:var(--surface-glass);border:1px solid var(--border-subtle)}:root .stage-stepper{background-color:#ffffffb3;border-color:#fff6;box-shadow:0 1px 3px #0000000f,0 1px 2px -1px #0000000f}.dark .stage-stepper{background-color:#ffffff14;border-color:#ffffff1f;box-shadow:0 1px 3px #0000004d,inset 0 1px #ffffff0d}.stage-stepper-tab{display:flex;align-items:center;gap:.5rem;border-radius:9999px;padding:.5rem 1.5rem;font-size:.75rem;line-height:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.025em;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.stage-stepper-tab-active{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text-primary)}:root .stage-stepper-tab-active{background-color:#fffffff2;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a}.dark .stage-stepper-tab-active{background-color:#ffffff1f;box-shadow:0 1px 3px #0000004d,inset 0 1px #ffffff14}.stage-stepper-tab-idle{color:var(--text-tertiary)}.stage-stepper-tab-idle:hover{color:var(--text-secondary)}.stage-stepper-tab-disabled{color:var(--text-tertiary);opacity:.5;cursor:not-allowed}.completion-filter{display:inline-flex;border-radius:9999px;padding:.125rem;--tw-backdrop-blur: blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background-color:var(--surface-glass);border:1px solid var(--border-subtle)}:root .completion-filter{background-color:#ffffffb3;border-color:#fff6;box-shadow:0 1px 3px #0000000f,0 1px 2px -1px #0000000f}.dark .completion-filter{background-color:#ffffff14;border-color:#ffffff1f;box-shadow:0 1px 3px #0000004d,inset 0 1px #ffffff0d}.completion-filter-tab{border-radius:9999px;padding:.25rem .75rem;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.025em;cursor:pointer;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.completion-filter-tab-active{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text-primary)}:root .completion-filter-tab-active{background-color:#fffffff2;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a}.dark .completion-filter-tab-active{background-color:#ffffff1f;box-shadow:0 1px 3px #0000004d,inset 0 1px #ffffff14}.completion-filter-tab-idle{color:var(--text-tertiary)}.completion-filter-tab-idle:hover{color:var(--text-secondary)}.theme-toggle{position:relative;display:flex;height:2.25rem;width:2.25rem;align-items:center;justify-content:center;border-radius:9999px;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;background-color:var(--surface-glass);border:1px solid var(--border-subtle)}.theme-toggle:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);background-color:var(--surface-glass-heavy)}.plan-lock-slider{position:relative;display:inline-flex;height:1.5rem;width:2.75rem;align-items:center;border-radius:9999px;cursor:pointer;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.plan-lock-slider:focus{outline:2px solid transparent;outline-offset:2px}.plan-lock-slider:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: var(--color-primary-400);--tw-ring-offset-width: 2px}.plan-lock-slider-unlocked{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity))}:is(.dark .plan-lock-slider-unlocked){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}.plan-lock-slider-unlocked{border:1px solid var(--border-subtle)}.plan-lock-slider-locked{--tw-bg-opacity: 1;background-color:rgb(245 158 11 / var(--tw-bg-opacity));border:1px solid transparent}.plan-lock-slider-thumb{position:absolute;display:flex;height:1.25rem;width:1.25rem;align-items:center;justify-content:center;border-radius:9999px;--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);transition-property:all;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1);background-color:#fff}.plan-lock-slider-unlocked .plan-lock-slider-thumb{left:.125rem;color:var(--text-tertiary)}.plan-lock-slider-locked .plan-lock-slider-thumb{left:22px;--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity))}.invalidation-banner{position:relative;overflow:hidden;border-radius:1rem;padding:1rem;--tw-shadow: var(--shadow-card);--tw-shadow-colored: var(--shadow-card);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);--tw-backdrop-blur: blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background-color:var(--surface-glass);border:1px solid var(--border-subtle)}.invalidation-banner-icon{display:flex;height:2.25rem;width:2.25rem;align-items:center;justify-content:center;border-radius:9999px;--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:var(--surface-glass);border:1px solid var(--border-subtle)}.btn-invalidation-update{display:flex;width:100%;align-items:center;justify-content:center;gap:.5rem;border-radius:.75rem;padding:.625rem 1rem;font-size:.875rem;line-height:1.25rem;font-weight:500;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.btn-invalidation-update:disabled{cursor:not-allowed;opacity:.5}.btn-invalidation-update{background-color:var(--text-primary);color:var(--text-inverted)}.btn-invalidation-update:hover{opacity:.9}.toast-container{pointer-events:none;position:fixed;z-index:50;display:flex;flex-direction:column;gap:.5rem}@media(max-width:768px){.toast-container{bottom:5rem;left:1rem;right:1rem}}@media(min-width:769px){.toast-container{top:6rem;right:1rem;max-width:420px}}.toast-item{border-radius:1rem;--tw-shadow: var(--shadow-float);--tw-shadow-colored: var(--shadow-float);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);--tw-backdrop-blur: blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: rgb(0 0 0 / .05);display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;pointer-events:auto;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s;transition-timing-function:cubic-bezier(0,0,.2,1);background-color:var(--surface-elevated);border:1px solid var(--border-subtle)}.toast-item-success{border-left-width:4px;--tw-border-opacity: 1;border-left-color:rgb(16 185 129 / var(--tw-border-opacity))}.toast-item-error{border-left-width:4px;--tw-border-opacity: 1;border-left-color:rgb(239 68 68 / var(--tw-border-opacity))}.toast-item-warning{border-left-width:4px;--tw-border-opacity: 1;border-left-color:rgb(245 158 11 / var(--tw-border-opacity))}.toast-item-info{border-left-width:4px;--tw-border-opacity: 1;border-left-color:rgb(59 130 246 / var(--tw-border-opacity))}.toast-icon{margin-top:.125rem;height:1.25rem;width:1.25rem;flex-shrink:0}.toast-content{min-width:0px;flex:1 1 0%}.toast-message{font-size:.875rem;line-height:1.25rem;font-weight:500;line-height:1.375;color:var(--text-primary)}.toast-close-btn{height:1.75rem;width:1.75rem;flex-shrink:0;border-radius:9999px}.toast-close-btn:hover{background-color:var(--color-primary-100)}:is(.dark .toast-close-btn:hover){background-color:var(--color-primary-800)}.toast-close-btn{display:flex;align-items:center;justify-content:center;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.toast-close-btn:active{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.toast-close-icon{height:1rem;width:1rem;color:var(--text-tertiary)}@keyframes toast-slide-in-mobile{0%{opacity:0;transform:translateY(100%) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toast-slide-in-desktop{0%{opacity:0;transform:translate(100%) scale(.95)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes toast-slide-out-mobile{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(100%) scale(.95)}}@keyframes toast-slide-out-desktop{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(100%) scale(.95)}}@media(max-width:768px){.toast-enter{animation:toast-slide-in-mobile .3s cubic-bezier(.16,1,.3,1)}.toast-exit{animation:toast-slide-out-mobile .3s cubic-bezier(.4,0,1,1)}}@media(min-width:769px){.toast-enter{animation:toast-slide-in-desktop .3s cubic-bezier(.16,1,.3,1)}.toast-exit{animation:toast-slide-out-desktop .3s cubic-bezier(.4,0,1,1)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.-right-0{right:-0px}.-right-0\.5{right:-.125rem}.-right-1{right:-.25rem}.-top-0{top:-0px}.-top-0\.5{top:-.125rem}.-top-1{top:-.25rem}.bottom-24{bottom:6rem}.bottom-32{bottom:8rem}.bottom-8{bottom:2rem}.left-0{left:0}.left-1\/2{left:50%}.right-0{right:0}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.right-6{right:1.5rem}.top-0{top:0}.top-1\/2{top:50%}.top-1\/3{top:33.333333%}.top-2{top:.5rem}.top-6{top:1.5rem}.isolate{isolation:isolate}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[101\]{z-index:101}.z-\[15\]{z-index:15}.order-first{order:-9999}.order-last{order:9999}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.-mx-4{margin-left:-1rem;margin-right:-1rem}.mx-auto{margin-left:auto;margin-right:auto}.-mb-4{margin-bottom:-1rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-auto{margin-left:auto}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-12{margin-top:3rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.size-3{width:.75rem;height:.75rem}.size-3\.5{width:.875rem;height:.875rem}.size-4{width:1rem;height:1rem}.size-6{width:1.5rem;height:1.5rem}.size-7{width:1.75rem;height:1.75rem}.size-8{width:2rem;height:2rem}.size-9{width:2.25rem;height:2.25rem}.size-full{width:100%;height:100%}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-20{height:5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[1px\]{height:1px}.h-\[50vh\]{height:50vh}.h-\[600px\]{height:600px}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-40{max-height:10rem}.max-h-72{max-height:18rem}.max-h-\[70vh\]{max-height:70vh}.min-h-16{min-height:4rem}.min-h-\[100px\]{min-height:100px}.min-h-\[120px\]{min-height:120px}.min-h-\[140px\]{min-height:140px}.min-h-screen{min-height:100vh}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\/3{width:66.666667%}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[90vw\]{width:90vw}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-\[3rem\]{min-width:3rem}.max-w-4xl{max-width:56rem}.max-w-\[120px\]{max-width:120px}.max-w-\[1600px\]{max-width:1600px}.max-w-\[85\%\]{max-width:85%}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.origin-bottom-right{transform-origin:bottom right}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0{--tw-translate-y: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-4{--tw-translate-y: 1rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-95{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s infinite}@keyframes fadeInUp{0%{transform:translateY(20px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.animate-fade-in-up{animation:fadeInUp .5s ease-out}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin-slow{animation:spin 1s linear infinite}@keyframes streamIn{0%{transform:translateY(30px) scale(.9);opacity:0}50%{transform:translateY(-5px) scale(1.02);opacity:.8}to{transform:translateY(0) scale(1);opacity:1}}.animate-stream-in{animation:streamIn .6s ease-out forwards}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.scroll-py-1{scroll-padding-top:.25rem;scroll-padding-bottom:.25rem}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-rows-\[0fr\]{grid-template-rows:0fr}.grid-rows-\[1fr\]{grid-template-rows:1fr}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0px}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-10{gap:2.5rem}.gap-12{gap:3rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.-space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(-.25rem * var(--tw-space-x-reverse));margin-left:calc(-.25rem * calc(1 - var(--tw-space-x-reverse)))}.-space-x-1\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(-.375rem * var(--tw-space-x-reverse));margin-left:calc(-.375rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-16>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(4rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(4rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.scroll-smooth{scroll-behavior:smooth}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-\[24px\]{border-radius:24px}.rounded-\[calc\(var\(--radius\)-3px\)\]{border-radius:calc(var(--radius) - 3px)}.rounded-\[min\(var\(--radius-md\)\,10px\)\]{border-radius:min(var(--radius-md),10px)}.rounded-\[min\(var\(--radius-md\)\,12px\)\]{border-radius:min(var(--radius-md),12px)}.rounded-button{border-radius:var(--radius-button)}.rounded-full{border-radius:9999px}.rounded-input{border-radius:var(--radius-input)}.rounded-lg{border-radius:.5rem}.rounded-modal{border-radius:var(--radius-modal)}.rounded-none{border-radius:0}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.rounded-b-xl{border-bottom-right-radius:.75rem;border-bottom-left-radius:.75rem}.rounded-tl-sm{border-top-left-radius:.125rem}.rounded-tr-sm{border-top-right-radius:.125rem}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-emerald-200\/50{border-color:#a7f3d080}.border-primary-100{border-color:var(--color-primary-100)}.border-primary-200{border-color:var(--color-primary-200)}.border-primary-300{border-color:var(--color-primary-300)}.border-transparent{border-color:transparent}.\!bg-green-600{--tw-bg-opacity: 1 !important;background-color:rgb(22 163 74 / var(--tw-bg-opacity))!important}.bg-amber-400{--tw-bg-opacity: 1;background-color:rgb(251 191 36 / var(--tw-bg-opacity))}.bg-black\/10{background-color:#0000001a}.bg-black\/30{background-color:#0000004d}.bg-emerald-400{--tw-bg-opacity: 1;background-color:rgb(52 211 153 / var(--tw-bg-opacity))}.bg-indigo-600{--tw-bg-opacity: 1;background-color:rgb(79 70 229 / var(--tw-bg-opacity))}.bg-primary-200{background-color:var(--color-primary-200)}.bg-primary-400{background-color:var(--color-primary-400)}.bg-primary-50{background-color:var(--color-primary-50)}.bg-primary-900{background-color:var(--color-primary-900)}.bg-transparent{background-color:transparent}.bg-clip-padding{background-clip:padding-box}.fill-current{fill:currentColor}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-0{padding-bottom:0}.pb-2{padding-bottom:.5rem}.pb-20{padding-bottom:5rem}.pb-3{padding-bottom:.75rem}.pb-40{padding-bottom:10rem}.pb-6{padding-bottom:1.5rem}.pb-8{padding-bottom:2rem}.pl-2{padding-left:.5rem}.pl-5{padding-left:1.25rem}.pr-11{padding-right:2.75rem}.pr-12{padding-right:3rem}.pr-2{padding-right:.5rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:Inter,system-ui,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[0\.8rem\]{font-size:.8rem}.text-\[10px\]{font-size:10px}.text-\[14px\]{font-size:14px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[0\.2em\]{letter-spacing:.2em}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-widest{letter-spacing:.1em}.text-\[\#06b6d4\]{--tw-text-opacity: 1;color:rgb(6 182 212 / var(--tw-text-opacity))}.text-\[\#10b981\]{--tw-text-opacity: 1;color:rgb(16 185 129 / var(--tw-text-opacity))}.text-\[\#3b82f6\]{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity))}.text-\[\#6366f1\]{--tw-text-opacity: 1;color:rgb(99 102 241 / var(--tw-text-opacity))}.text-\[\#8b5cf6\]{--tw-text-opacity: 1;color:rgb(139 92 246 / var(--tw-text-opacity))}.text-\[\#ec4899\]{--tw-text-opacity: 1;color:rgb(236 72 153 / var(--tw-text-opacity))}.text-\[\#ef4444\]{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity))}.text-\[\#f59e0b\]{--tw-text-opacity: 1;color:rgb(245 158 11 / var(--tw-text-opacity))}.text-\[\#f97316\]{--tw-text-opacity: 1;color:rgb(249 115 22 / var(--tw-text-opacity))}.text-accent-500{color:var(--color-accent-500)}.text-accent-600{color:var(--color-accent-600)}.text-amber-500{--tw-text-opacity: 1;color:rgb(245 158 11 / var(--tw-text-opacity))}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity))}.text-amber-900{--tw-text-opacity: 1;color:rgb(120 53 15 / var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity))}.text-emerald-500{--tw-text-opacity: 1;color:rgb(16 185 129 / var(--tw-text-opacity))}.text-emerald-600{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity))}.text-indigo-400{--tw-text-opacity: 1;color:rgb(129 140 248 / var(--tw-text-opacity))}.text-indigo-500{--tw-text-opacity: 1;color:rgb(99 102 241 / var(--tw-text-opacity))}.text-primary-300{color:var(--color-primary-300)}.text-primary-400{color:var(--color-primary-400)}.text-primary-500{color:var(--color-primary-500)}.text-primary-600{color:var(--color-primary-600)}.text-primary-700{color:var(--color-primary-700)}.text-primary-900{color:var(--color-primary-900)}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.line-through{text-decoration-line:line-through}.decoration-emerald-400{text-decoration-color:#34d399}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.placeholder-primary-400::-moz-placeholder{color:var(--color-primary-400)}.placeholder-primary-400::placeholder{color:var(--color-primary-400)}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-modal{--tw-shadow: var(--shadow-modal);--tw-shadow-colored: var(--shadow-modal);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-0{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-4{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-indigo-200{--tw-ring-opacity: 1;--tw-ring-color: rgb(199 210 254 / var(--tw-ring-opacity))}.ring-primary-200{--tw-ring-color: var(--color-primary-200)}.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)}.grayscale{--tw-grayscale: grayscale(100%);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)}.backdrop-blur-md{--tw-backdrop-blur: blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-xl{--tw-backdrop-blur: blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.backdrop-blur-xl{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.backdrop-blur-md{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.backdrop-blur-sm{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.frosted-header{transform:translateZ(0);will-change:transform}.no-spinners::-webkit-outer-spin-button,.no-spinners::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.no-spinners{-moz-appearance:textfield}@keyframes fade-in-up{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-up{animation:fade-in-up .2s ease-out}@keyframes fade-out-down{0%{opacity:1;transform:translateY(0) scale(1);max-height:200px}to{opacity:0;transform:translateY(8px) scale(.97);max-height:0;padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0}}.animate-fade-out-down{animation:fade-out-down .4s cubic-bezier(.4,0,1,1) forwards;overflow:hidden;pointer-events:none}@keyframes modal-in{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.animate-modal-in{animation:modal-in .3s cubic-bezier(.16,1,.3,1)}.print-container{display:none}@media print{@page{margin:.4in .35in}.print-container-landscape{page:landscape-page}.print-container-portrait{page:portrait-page}@page landscape-page{size:letter landscape}@page portrait-page{size:letter portrait}html,body,#root,#root>*{display:block!important;height:auto!important;min-height:0!important;overflow:visible!important;margin:0!important;padding:0!important}#root>*>*:not(.print-container){display:none!important;height:0!important;overflow:hidden!important}.print-container{display:block!important;width:100%;font-family:Inter,system-ui,sans-serif;color:#18181b;-webkit-print-color-adjust:exact;print-color-adjust:exact}.print-title{font-size:14pt;font-weight:700;text-align:center;margin:0 0 2pt;letter-spacing:-.01em;color:#18181b}.print-subtitle{font-size:8pt;text-align:center;color:#71717a;margin:0 0 10pt}.print-table{width:100%;border-collapse:collapse;table-layout:fixed}.print-th{font-size:8pt;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:5pt 6pt;text-align:left;border-bottom:1.5pt solid #27272a;color:#3f3f46;vertical-align:bottom}.print-th-day{width:9%}.print-row{-moz-column-break-inside:avoid;break-inside:avoid}.print-row:nth-child(2n){background-color:#f8f8fa}.print-td{font-size:8pt;padding:5pt 6pt;vertical-align:top;border-bottom:.5pt solid #e4e4e7;line-height:1.35}.print-td-day{font-weight:700;font-size:8.5pt;color:#27272a;white-space:nowrap}.print-meal-name{display:block;font-weight:600;font-size:8pt;color:#18181b;line-height:1.3}.print-meal-desc{display:block;font-size:7pt;color:#71717a;line-height:1.3;margin-top:1pt}.print-meal-empty{color:#d4d4d8;font-size:8pt}.print-grocery-columns{-moz-column-count:3;column-count:3;-moz-column-gap:18pt;column-gap:18pt}.print-grocery-category{-moz-column-break-inside:avoid;break-inside:avoid;margin-bottom:10pt}.print-grocery-category-title{font-size:9pt;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#3f3f46;border-bottom:1pt solid #e4e4e7;padding-bottom:3pt;margin:0 0 4pt}.print-grocery-items{list-style:none;margin:0;padding:0}.print-grocery-item{display:flex;align-items:baseline;gap:5pt;padding:2pt 0;font-size:8.5pt;line-height:1.4}.print-grocery-checkbox{display:inline-block;width:8pt;height:8pt;min-width:8pt;border:.75pt solid #71717a;border-radius:2pt;margin-top:1pt}.print-grocery-checkbox-checked{background-color:#10b981;border-color:#10b981}.print-grocery-name{font-weight:500;color:#18181b}.print-grocery-name-checked{text-decoration:line-through;color:#a1a1aa}.print-grocery-qty{font-size:7.5pt;color:#71717a;margin-left:auto;white-space:nowrap}.print-prep-day{-moz-column-break-inside:avoid;break-inside:avoid;margin-bottom:10pt}.print-prep-day-title{font-size:10pt;font-weight:700;color:#27272a;border-bottom:1pt solid #e4e4e7;padding-bottom:3pt;margin:0 0 4pt}.print-prep-tasks{list-style:none;margin:0;padding:0}.print-prep-task{display:flex;align-items:baseline;gap:5pt;padding:3pt 0;font-size:8.5pt;line-height:1.4}.print-prep-checkbox{display:inline-block;width:8pt;height:8pt;min-width:8pt;border:.75pt solid #71717a;border-radius:2pt;margin-top:1pt}.print-prep-checkbox-checked{background-color:#10b981;border-color:#10b981}.print-prep-task-text{font-weight:500;color:#18181b}.print-prep-task-checked{text-decoration:line-through;color:#a1a1aa}.print-prep-meals{font-size:7pt;color:#71717a;font-style:italic}}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-6::file-selector-button{height:1.5rem}.file\:border-0::file-selector-button{border-width:0px}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.focus-within\:ring-2:focus-within{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.hover\:-translate-y-1:hover{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-\[1\.02\]:hover{--tw-scale-x: 1.02;--tw-scale-y: 1.02;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-primary-400:hover{border-color:var(--color-primary-400)}.hover\:bg-green-50:hover{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity))}.hover\:bg-indigo-700:hover{--tw-bg-opacity: 1;background-color:rgb(67 56 202 / var(--tw-bg-opacity))}.hover\:bg-primary-100:hover{background-color:var(--color-primary-100)}.hover\:bg-primary-50:hover{background-color:var(--color-primary-50)}.hover\:bg-red-50:hover{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity))}.hover\:text-accent-500:hover{color:var(--color-accent-500)}.hover\:text-accent-600:hover{color:var(--color-accent-600)}.hover\:text-primary-600:hover{color:var(--color-primary-600)}.hover\:text-primary-700:hover{color:var(--color-primary-700)}.hover\:text-primary-900:hover{color:var(--color-primary-900)}.hover\:text-red-500:hover{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow:hover{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:ring-0:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-0:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.active\:scale-90:active{--tw-scale-x: .9;--tw-scale-y: .9;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-95:active{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-\[0\.98\]:active{--tw-scale-x: .98;--tw-scale-y: .98;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-transparent:disabled{background-color:transparent}.disabled\:opacity-0:disabled{opacity:0}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:opacity-100{opacity:1}.has-\[\>button\]\:ml-\[-0\.3rem\]:has(>button){margin-left:-.3rem}.has-\[\>button\]\:mr-\[-0\.3rem\]:has(>button){margin-right:-.3rem}.has-\[\>kbd\]\:ml-\[-0\.15rem\]:has(>kbd){margin-left:-.15rem}.has-\[\>kbd\]\:mr-\[-0\.15rem\]:has(>kbd){margin-right:-.15rem}.has-\[\>\[data-align\=block-end\]\]\:h-auto:has(>[data-align=block-end]){height:auto}.has-\[\>\[data-align\=block-start\]\]\:h-auto:has(>[data-align=block-start]){height:auto}.has-\[\>textarea\]\:h-auto:has(>textarea){height:auto}.has-\[\>\[data-align\=block-end\]\]\:flex-col:has(>[data-align=block-end]){flex-direction:column}.has-\[\>\[data-align\=block-start\]\]\:flex-col:has(>[data-align=block-start]){flex-direction:column}.has-\[\>svg\]\:p-0:has(>svg){padding:0}.group\/input-group:has(>input) .group-has-\[\>input\]\/input-group\:pb-2{padding-bottom:.5rem}.group\/input-group:has(>input) .group-has-\[\>input\]\/input-group\:pt-2{padding-top:.5rem}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true]{pointer-events:none}.data-\[disabled\=true\]\:opacity-50[data-disabled=true]{opacity:.5}.group\/command-item[data-checked=true] .group-data-\[checked\=true\]\/command-item\:opacity-100{opacity:1}.group\/input-group[data-disabled=true] .group-data-\[disabled\=true\]\/input-group\:opacity-50{opacity:.5}:is(.dark .dark\:bg-transparent){background-color:transparent}:is(.dark .dark\:text-amber-400){--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity))}:is(.dark .dark\:text-amber-500){--tw-text-opacity: 1;color:rgb(245 158 11 / var(--tw-text-opacity))}:is(.dark .dark\:text-blue-500){--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity))}:is(.dark .dark\:text-emerald-500){--tw-text-opacity: 1;color:rgb(16 185 129 / var(--tw-text-opacity))}:is(.dark .dark\:text-green-400){--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity))}:is(.dark .dark\:text-primary-50){color:var(--color-primary-50)}:is(.dark .dark\:text-red-400){--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity))}:is(.dark .dark\:text-red-500){--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity))}:is(.dark .dark\:hover\:bg-green-950\/30:hover){background-color:#052e164d}:is(.dark .dark\:hover\:bg-red-900\/20:hover){background-color:#7f1d1d33}:is(.dark .dark\:hover\:bg-red-950\/30:hover){background-color:#450a0a4d}:is(.dark .dark\:hover\:text-red-400:hover){--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity))}:is(.dark .dark\:disabled\:bg-transparent:disabled){background-color:transparent}@media(min-width:640px){.sm\:max-w-sm{max-width:24rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-end{justify-content:flex-end}.sm\:justify-between{justify-content:space-between}}@media(min-width:768px){.md\:right-10{right:2.5rem}.md\:col-span-4{grid-column:span 4 / span 4}.md\:col-span-8{grid-column:span 8 / span 8}.md\:mx-auto{margin-left:auto;margin-right:auto}.md\:mb-1{margin-bottom:.25rem}.md\:mb-1\.5{margin-bottom:.375rem}.md\:mb-4{margin-bottom:1rem}.md\:mb-6{margin-bottom:1.5rem}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:h-10{height:2.5rem}.md\:h-20{height:5rem}.md\:h-5{height:1.25rem}.md\:h-7{height:1.75rem}.md\:h-8{height:2rem}.md\:h-\[18px\]{height:18px}.md\:w-10{width:2.5rem}.md\:w-5{width:1.25rem}.md\:w-7{width:1.75rem}.md\:w-8{width:2rem}.md\:w-\[18px\]{width:18px}.md\:w-\[400px\]{width:400px}.md\:max-w-4xl{max-width:56rem}.md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:gap-2{gap:.5rem}.md\:gap-2\.5{gap:.625rem}.md\:gap-4{gap:1rem}.md\:p-5{padding:1.25rem}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:px-8{padding-left:2rem;padding-right:2rem}.md\:pt-20{padding-top:5rem}.md\:pt-8{padding-top:2rem}.md\:text-2xl{font-size:1.5rem;line-height:2rem}.md\:text-base{font-size:1rem;line-height:1.5rem}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.md\:text-xs{font-size:.75rem;line-height:1rem}}@media(min-width:1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:px-10{padding-left:2.5rem;padding-right:2.5rem}}@media(min-width:1280px){.xl\:line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.xl\:min-h-\[160px\]{min-height:160px}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.xl\:p-5{padding:1.25rem}}@media(min-width:1536px){.\32xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.\32xl\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}}.has-\[\>\[data-align\=block-end\]\]\:\[\&\>input\]\:pt-3>input:has(>[data-align=block-end]){padding-top:.75rem}.has-\[\>\[data-align\=block-start\]\]\:\[\&\>input\]\:pb-3>input:has(>[data-align=block-start]){padding-bottom:.75rem}.has-\[\>\[data-align\=inline-end\]\]\:\[\&\>input\]\:pr-1\.5>input:has(>[data-align=inline-end]){padding-right:.375rem}.has-\[\>\[data-align\=inline-start\]\]\:\[\&\>input\]\:pl-1\.5>input:has(>[data-align=inline-start]){padding-left:.375rem}.\[\&\>kbd\]\:rounded-\[calc\(var\(--radius\)-5px\)\]>kbd{border-radius:calc(var(--radius) - 5px)}.\[\&\>svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5>svg:not([class*=size-]){width:.875rem;height:.875rem}.\[\&\>svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4>svg:not([class*=size-]){width:1rem;height:1rem}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:.75rem;height:.75rem}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3\.5 svg:not([class*=size-]){width:.875rem;height:.875rem}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:1rem;height:1rem}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}
