@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Playfair+Display:wght@600;700&display=swap);*,:after,:before{--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:#3b82f680;--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: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::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:#3b82f680;--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: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }

/* ! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com */*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:Inter,system-ui,sans-serif;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit}hr{border-top-width:1px;color:inherit;height:0}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,pre,samp{font-feature-settings:normal;font-family:SF Mono,ui-monospace,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-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,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.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}}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:-webkit-sticky;position:sticky}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-8{margin-bottom:2rem}.ml-2{margin-left:.5rem}.mr-1{margin-right:.25rem}.mr-3{margin-right:.75rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.inline{display:inline}.table{display:table}.contents{display:contents}.h-1\.5{height:.375rem}.h-2{height:.5rem}.h-4{height:1rem}.h-6{height:1.5rem}.w-4{width:1rem}.w-6{width:1.5rem}.max-w-4xl{max-width:56rem}.max-w-6xl{max-width:72rem}.max-w-none{max-width:none}.flex-1{flex:1 1}.flex-shrink-0{flex-shrink:0}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-spin{animation:spin 1s linear infinite}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.rounded{border-radius:.25rem}.rounded-lg{border-radius:.5rem}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-t{border-top-width:1px}.border-blue-200{--tw-border-opacity:1;border-color:#bfdbfe;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.border-gray-100{--tw-border-opacity:1;border-color:#f3f4f6;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:#e5e7eb;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-300{--tw-border-opacity:1;border-color:#d1d5db;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-green-200{--tw-border-opacity:1;border-color:#bbf7d0;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.border-orange-200{--tw-border-opacity:1;border-color:#fed7aa;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.border-red-200{--tw-border-opacity:1;border-color:#fecaca;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-white{--tw-border-opacity:1;border-color:#fff;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.border-yellow-200{--tw-border-opacity:1;border-color:#fef08a;border-color:rgb(254 240 138/var(--tw-border-opacity,1))}.bg-blue-100{--tw-bg-opacity:1;background-color:#dbeafe;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.bg-blue-50{--tw-bg-opacity:1;background-color:#eff6ff;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-blue-500{--tw-bg-opacity:1;background-color:#3b82f6;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:#f3f4f6;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:#e5e7eb;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:#f9fafb;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-green-100{--tw-bg-opacity:1;background-color:#dcfce7;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.bg-green-50{--tw-bg-opacity:1;background-color:#f0fdf4;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.bg-orange-50{--tw-bg-opacity:1;background-color:#fff7ed;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.bg-red-100{--tw-bg-opacity:1;background-color:#fee2e2;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:#fef2f2;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-yellow-100{--tw-bg-opacity:1;background-color:#fef9c3;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.bg-yellow-50{--tw-bg-opacity:1;background-color:#fefce8;background-color:rgb(254 252 232/var(--tw-bg-opacity,1))}.p-2{padding:.5rem}.p-3{padding:.75rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-12{padding-bottom:3rem;padding-top:3rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.pt-6{padding-top:1.5rem}.text-right{text-align:right}.font-display{font-family:Playfair Display,Georgia,serif}.text-xs{font-size:.75rem;line-height:1rem}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.text-blue-500{--tw-text-opacity:1;color:#3b82f6;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:#2563eb;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-blue-700{--tw-text-opacity:1;color:#1d4ed8;color:rgb(29 78 216/var(--tw-text-opacity,1))}.text-blue-800{--tw-text-opacity:1;color:#1e40af;color:rgb(30 64 175/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:#9ca3af;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:#6b7280;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:#4b5563;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:#374151;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:#1f2937;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:#111827;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-green-500{--tw-text-opacity:1;color:#22c55e;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:#16a34a;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-green-800{--tw-text-opacity:1;color:#166534;color:rgb(22 101 52/var(--tw-text-opacity,1))}.text-indigo-600{--tw-text-opacity:1;color:#4f46e5;color:rgb(79 70 229/var(--tw-text-opacity,1))}.text-orange-600{--tw-text-opacity:1;color:#ea580c;color:rgb(234 88 12/var(--tw-text-opacity,1))}.text-purple-500{--tw-text-opacity:1;color:#a855f7;color:rgb(168 85 247/var(--tw-text-opacity,1))}.text-purple-600{--tw-text-opacity:1;color:#9333ea;color:rgb(147 51 234/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:#dc2626;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-red-800{--tw-text-opacity:1;color:#991b1b;color:rgb(153 27 27/var(--tw-text-opacity,1))}.text-yellow-500{--tw-text-opacity:1;color:#eab308;color:rgb(234 179 8/var(--tw-text-opacity,1))}.text-yellow-600{--tw-text-opacity:1;color:#ca8a04;color:rgb(202 138 4/var(--tw-text-opacity,1))}.text-yellow-700{--tw-text-opacity:1;color:#a16207;color:rgb(161 98 7/var(--tw-text-opacity,1))}.text-yellow-800{--tw-text-opacity:1;color:#854d0e;color:rgb(133 77 14/var(--tw-text-opacity,1))}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-sm{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);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 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.outline{outline-style:solid}.ring{--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),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f)}.drop-shadow,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,fill,stroke,-webkit-text-decoration-color;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,-webkit-text-decoration-color;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-shadow{transition-duration:.15s;transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:root{--tabbar-h:4rem;--topbar-h:3.25rem}*{box-sizing:border-box;padding:0}*,body{margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#e0d9ff,#d6e4ff 50%,#f3e8ff);color:#1a1a1a;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.font-display{font-family:Playfair Display,serif}.font-sans{font-family:Inter,sans-serif}.container{margin:0 auto;max-width:1200px;padding:0 1rem}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-4{padding-left:1rem;padding-right:1rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-8{padding-bottom:2rem;padding-top:2rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mr-2{margin-right:.5rem}.mr-4{margin-right:1rem}.mt-6{margin-top:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem}.text-lg,.text-xl{line-height:1.75rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-primary{color:#1a1a1a}.text-secondary{color:#5a5a5a}.text-white{color:#fff}.text-success{color:#4ade80}.text-warning{color:#facc15}.text-error{color:#ef4444}.bg-gradient-premium{background:linear-gradient(135deg,#e0d9ff,#d6e4ff 50%,#f3e8ff)}.bg-white-60{background:#fff9}.bg-white-80{background:#fffc}.bg-white-30{background:#ffffff4d}.backdrop-blur-xl{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.backdrop-blur-2xl{-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px)}.rounded-xl{border-radius:.75rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.border{border-width:1px}.border-white-20{border-color:#fff3}.border-white-30{border-color:#ffffff4d}.shadow-md{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.shadow-lg{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.shadow-2xl{box-shadow:0 25px 50px -12px #00000040}.shadow-inner{box-shadow:inset 0 2px 4px 0 #0000000f}.shadow-glow{box-shadow:0 0 30px #8a2be233}.card{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#fff9;border:1px solid #ffffff4d;border-radius:1rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;padding:1.5rem;transition:all .3s ease}.card:hover{background:#fffc;box-shadow:0 25px 50px -12px #00000040;transform:translateY(-4px)}.btn{align-items:center;border:none;border-radius:.75rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;cursor:pointer;display:inline-flex;font-family:Inter,sans-serif;font-size:.875rem;font-weight:600;padding:.75rem 1.5rem;text-decoration:none;transition:all .3s ease}.btn:focus{box-shadow:0 0 0 3px #8a2be24d;outline:none}.btn-primary{background:linear-gradient(135deg,#8a2be2,#a66bff);color:#fff}.btn-primary:hover{box-shadow:0 10px 15px -3px #8a2be24d,0 0 30px #8a2be233;transform:scale(1.05)}.btn-secondary{background:linear-gradient(135deg,#a66bff,#8a2be2);color:#fff}.btn-secondary:hover{box-shadow:0 10px 15px -3px #a66bff4d,0 0 30px #a66bff33;transform:scale(1.05)}.btn-success{background:linear-gradient(135deg,#4ade80,#22c55e);color:#fff}.btn-success:hover{box-shadow:0 10px 15px -3px #4ade804d,0 0 30px #4ade8033;transform:scale(1.05)}.btn-warning{background:linear-gradient(135deg,#facc15,#eab308);color:#1a1a1a}.btn-warning:hover{box-shadow:0 10px 15px -3px #facc154d,0 0 30px #facc1533;transform:scale(1.05)}.btn-error{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.btn-error:hover{box-shadow:0 10px 15px -3px #ef44444d,0 0 30px #ef444433;transform:scale(1.05)}.btn-sm{font-size:.813rem;padding:.5rem 1rem}.btn-lg{font-size:1rem;padding:1rem 2rem}.form-input{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffc;border:2px solid #8a2be233;border-radius:.75rem;box-shadow:0 2px 8px 0 #0000000d;font-family:Inter,sans-serif;font-size:.875rem;padding:.75rem 1rem;transition:all .3s ease;width:100%}.form-input:focus{background:#fffffff2;border-color:#8a2be2;box-shadow:0 4px 12px 0 #8a2be233,0 0 0 3px #8a2be21a;outline:none}.form-input::placeholder{color:#5a5a5a}.form-input,input[type=email],input[type=number],input[type=password],input[type=text],select,textarea{color:#1a1a1a}.chat-window{background:#ffffff73;border:1px solid #8a2be226;border-radius:.75rem;height:24rem;margin-bottom:1rem;overflow-y:auto;padding:1rem}.chat-row{display:flex;margin-bottom:.75rem}.chat-row-user{justify-content:flex-end}.chat-row-bot{justify-content:flex-start}.chat-bubble{word-wrap:break-word;border-radius:.875rem;font-size:.875rem;line-height:1.55;max-width:85%;overflow-wrap:anywhere;padding:.625rem .875rem}.chat-bubble-user{background:linear-gradient(135deg,#8a2be2,#a66bff);border-bottom-right-radius:.25rem;color:#fff}.chat-bubble-bot{background:#fff;border:1px solid #8a2be226;border-bottom-left-radius:.25rem;color:#1a1a1a}.chat-time{font-size:.6875rem;margin-top:.25rem}.chat-time-user{color:#ffffffd9}.chat-time-bot{color:#6b7280}.chat-bubble-bot h1,.chat-bubble-bot h2,.chat-bubble-bot h3{color:#1a1a1a;font-weight:700;line-height:1.3;margin:.75rem 0 .35rem}.chat-bubble-bot h1{font-size:1.15rem}.chat-bubble-bot h2{font-size:1.05rem}.chat-bubble-bot h3{font-size:.95rem}.chat-bubble-bot strong{color:#1a1a1a;font-weight:600}.chat-bubble-bot li{list-style:disc;margin-left:1.1rem}.chat-bubble-bot p{margin-bottom:.5rem}.chat-empty{color:#5a5a5a;padding:2rem 0;text-align:center}.chat-typing{align-items:center;color:#5a5a5a;display:flex;font-size:.875rem;gap:.5rem}.app-header{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#fff9;border-bottom:2px solid #8a2be233;box-shadow:0 4px 20px 0 #8a2be21a;overflow:hidden;position:relative}.app-header:before{content:"";height:4px;left:0;position:absolute;right:0;top:0}.app-header:before,.header-title{background:linear-gradient(135deg,#8a2be2,#a66bff)}.header-title{-webkit-text-fill-color:#0000;-webkit-background-clip:text;background-clip:text;font-family:Playfair Display,serif;font-weight:700;text-shadow:0 2px 4px #8a2be24d}.welcome-text{color:#5a5a5a;font-weight:500}.nav-item{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff9;border:1px solid #8a2be21a;border-radius:.75rem;overflow:hidden;position:relative;transition:all .3s ease}.nav-item:before{background:linear-gradient(90deg,#0000,#fff6,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.nav-item:hover:before{left:100%}.nav-item:hover{background:#fffc;border-color:#8a2be24d;box-shadow:0 10px 15px -3px #8a2be233;transform:translateY(-2px)}.nav-item.active{background:linear-gradient(135deg,#8a2be2,#a66bff);box-shadow:0 0 30px #8a2be233;color:#fff}.quick-actions{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);margin-top:1.5rem}.quick-action-item{align-items:center;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#fff9;border:1px solid #ffffff4d;border-radius:1rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;cursor:pointer;display:flex;flex-direction:column;justify-content:center;padding:1rem;text-align:center;transition:all .3s ease}.quick-action-item:hover{background:#fffc;box-shadow:0 25px 50px -12px #00000040;transform:scale(1.05)}.quick-action-item .icon{font-size:2rem;margin-bottom:.5rem}.quick-action-item .text{color:#5a5a5a;font-size:.875rem;font-weight:500}.badge{align-items:center;border-radius:9999px;display:inline-flex;font-size:.75rem;font-weight:600;letter-spacing:.025em;padding:.25rem .75rem;text-transform:uppercase}.badge-primary{background:linear-gradient(135deg,#8a2be2,#a66bff);color:#fff}.badge-success{background:linear-gradient(135deg,#4ade80,#22c55e);color:#fff}.badge-warning{background:linear-gradient(135deg,#facc15,#eab308);color:#1a1a1a}.badge-error{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.stat-card{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#fff9;border:1px solid #ffffff4d;border-radius:1rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;padding:1.5rem;position:relative;transition:all .3s ease}.stat-card:hover{box-shadow:0 25px 50px -12px #00000040,0 0 30px #8a2be233;transform:translateY(-4px)}.glass-overlay{-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px);background:#ffffff4d;border:1px solid #fff3;border-radius:1.5rem;box-shadow:inset 0 2px 4px 0 #0000000f}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.fade-in{animation:fadeIn .3s ease-in-out}.slide-in{animation:slideIn .4s ease-out}.shimmer{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200px 100%}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.w-full{width:100%}.h-full{height:100%}.min-h-screen{min-height:100vh}.text-center{text-align:center}.hidden{display:none}.block{display:block}.inline-flex{display:inline-flex}@media (max-width:768px){.quick-actions{grid-template-columns:repeat(2,1fr)}.container{padding:0 .5rem}.card{padding:1rem}.btn{font-size:.813rem;padding:.625rem 1.25rem}}@media (max-width:480px){.quick-actions{grid-template-columns:1fr}.text-2xl{font-size:1.25rem;line-height:1.75rem}.text-3xl{font-size:1.5rem;line-height:2rem}}body.theme-dark{background:#0b0d11;color:#eef2f7}body.theme-dark:before{background:radial-gradient(60rem 40rem at 15% -10%,#8b5cf61a,#0000 60%),radial-gradient(50rem 30rem at 100% 0,#22d3ee12,#0000 55%);content:"";inset:0;pointer-events:none;position:fixed;z-index:0}body.theme-dark .card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#171b23d9;border:1px solid #2a3240;box-shadow:0 1px 2px #0006,0 8px 24px -8px #00000080;color:#eef2f7}body.theme-dark .card:hover{background:#1e242ee6;box-shadow:0 12px 32px -8px #0009}body.theme-dark .text-primary{color:#eef2f7}body.theme-dark .text-secondary{color:#98a2b3}body.theme-dark .form-input,body.theme-dark input[type=email],body.theme-dark input[type=number],body.theme-dark input[type=password],body.theme-dark input[type=text],body.theme-dark select,body.theme-dark textarea{background:#12151b;border:1px solid #2a3240;color:#eef2f7}body.theme-dark .form-input::placeholder{color:#667085}body.theme-dark .form-input:focus{background:#171b23;border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf62e}body.theme-dark .chat-window{background:#0b0d1199;border-color:#2a3240}body.theme-dark .chat-bubble-bot{background:#171b23;border-color:#2a3240;color:#eef2f7}body.theme-dark .chat-bubble-bot h1,body.theme-dark .chat-bubble-bot h2,body.theme-dark .chat-bubble-bot h3,body.theme-dark .chat-bubble-bot strong{color:#fff}body.theme-dark .chat-time-bot{color:#667085}body.theme-dark .chat-empty,body.theme-dark .chat-typing{color:#98a2b3}.app-shell{display:flex;min-height:100vh;position:relative;z-index:1}.nav-rail{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#12151be6;border-right:1px solid #2a3240;bottom:0;display:flex;flex-direction:column;gap:.25rem;left:0;overflow-y:auto;padding:1.25rem .75rem;position:fixed;top:0;width:15rem;z-index:40}.nav-item{align-items:center;background:none;border:1px solid #0000;border-radius:.625rem;color:#98a2b3;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.75rem;padding:.625rem .75rem;text-align:left;transition:background .18s ease,color .18s ease;width:100%}.nav-item:hover{background:#1e242e;color:#eef2f7}.nav-item-active{background:linear-gradient(90deg,#8b5cf62e,#8b5cf60a);border-color:#8b5cf659;color:#fff}.nav-section{color:#667085;font-size:.6875rem;font-weight:600;letter-spacing:.08em;padding:.75rem .75rem .375rem;text-transform:uppercase}.shell-main{flex:1 1;margin-left:15rem;min-width:0;padding:1.5rem 2rem 4rem}.bottom-nav{display:none}@media (max-width:760px){.nav-rail{padding-bottom:calc(1.25rem + env(safe-area-inset-bottom));transform:translateX(-100%);transition:transform .28s cubic-bezier(.32,.72,0,1);width:min(19rem,84vw);z-index:60}.nav-rail-open{transform:translateX(0)}body.drawer-open{overflow:hidden}.shell-main{margin-left:0;padding:calc(4rem + env(safe-area-inset-top)) 1rem calc(5.5rem + env(safe-area-inset-bottom));padding:calc(var(--topbar-h) + env(safe-area-inset-top) + .75rem) 1rem calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 1.5rem)}.bottom-nav{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#12151bf5;border-top:1px solid #2a3240;bottom:0;display:flex;left:0;padding:.5rem .25rem calc(.5rem + env(safe-area-inset-bottom));position:fixed;right:0;z-index:45}.bottom-nav-item{align-items:center;background:none;border:none;color:#667085;cursor:pointer;display:flex;flex:1 1;flex-direction:column;font-size:.625rem;font-weight:500;gap:.1875rem;padding:.375rem 0}.bottom-nav-item-active{color:#a78bfa}}.nav-scrim{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0000009e;inset:0;opacity:0;pointer-events:none;position:fixed;transition:opacity .28s cubic-bezier(.32,.72,0,1);z-index:55}.nav-scrim.is-open{opacity:1;pointer-events:auto}@media (min-width:761px){.nav-scrim{display:none}}.surface{background:#171b23;border:1px solid #2a3240;border-radius:1rem;box-shadow:0 1px 2px #0006,0 8px 24px -8px #00000080}.surface-hover{transition:border-color .2s ease,transform .2s ease}.surface-hover:hover{border-color:#3a4453;transform:translateY(-2px)}.metric-value{font-feature-settings:"tnum";font-size:3.5rem;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:-.03em;line-height:1}.metric-label{color:#667085;font-size:.6875rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase}.macro-track{background:#2a3240;border-radius:999px;height:.5rem;overflow:hidden}.macro-fill{height:100%;transition:width .7s cubic-bezier(.22,1,.36,1)}.macro-fill,.pill{border-radius:999px}.pill{align-items:center;display:inline-flex;font-size:.75rem;font-weight:600;gap:.375rem;padding:.25rem .625rem}.skeleton{background:#1e242e;border-radius:.5rem;overflow:hidden;position:relative}.skeleton:after{animation:shimmer 1.6s infinite;background:linear-gradient(90deg,#0000,#ffffff0d,#0000);content:"";inset:0;position:absolute;transform:translateX(-100%)}@keyframes shimmer{to{transform:translateX(100%)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}.mobile-topbar,.nav-close{display:none}@media (max-width:760px){.mobile-topbar{align-items:center;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0b0e14e0;border-bottom:1px solid #0000;display:flex;gap:.5rem;left:0;margin:0;padding:calc(.5rem + env(safe-area-inset-top)) .75rem .5rem;position:fixed;right:0;top:0;transition:border-color .2s ease;width:100%;z-index:50}.mobile-topbar.is-stuck{border-bottom-color:#2a3240}.topbar-menu{align-items:center;background:#ffffff0d;border:none;border-radius:12px;color:#eef2f7;cursor:pointer;display:flex;flex-shrink:0;height:44px;justify-content:center;transition:background .15s ease,transform .1s ease;width:44px}.topbar-menu:active{background:#ffffff1f;transform:scale(.94)}.topbar-title{font-size:1rem;font-weight:600;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-close{display:block}.dash-hero{flex-direction:column;gap:1.5rem!important}}.stagger>*{animation:fade-up .5s cubic-bezier(.22,1,.36,1) forwards;opacity:0}.stagger>:first-child{animation-delay:.02s}.stagger>:nth-child(2){animation-delay:.07s}.stagger>:nth-child(3){animation-delay:.12s}.stagger>:nth-child(4){animation-delay:.17s}.stagger>:nth-child(5){animation-delay:.22s}.stagger>:nth-child(6){animation-delay:.27s}.stagger>:nth-child(7){animation-delay:.32s}.stagger>:nth-child(8){animation-delay:.37s}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.surface-hero{background:radial-gradient(120% 100% at 0 0,#8b5cf61a,#0000 55%),#171b23;border:1px solid #2a3240;border-radius:1.25rem;box-shadow:0 1px 2px #0006,0 16px 40px -16px #000000b3;overflow:hidden;position:relative}.surface-hero:after{background:linear-gradient(90deg,#0000,#ffffff29,#0000);content:"";height:1px;left:5%;position:absolute;right:5%;top:0}.lift{transition:transform .22s cubic-bezier(.22,1,.36,1),border-color .22s ease,box-shadow .22s ease}.lift:hover{border-color:#3a4453;box-shadow:0 18px 40px -18px #000c;transform:translateY(-3px)}.lift:active{transform:translateY(-1px)}@keyframes ring-sweep{0%{stroke-dashoffset:var(--dash-from)}to{stroke-dashoffset:var(--dash-to)}}.ring-animate{animation:ring-sweep 1.1s cubic-bezier(.22,1,.36,1) forwards}@keyframes bar-grow{0%{width:0}}.macro-fill-animate{animation:bar-grow .9s cubic-bezier(.22,1,.36,1)}.pill-good{background:#34d39924;color:#34d399}.pill-warn{background:#fbbf2424;color:#fbbf24}.pill-bad{background:#f8717124;color:#f87171}.pill-muted{background:#ffffff0d;color:#98a2b3}.pill-brand{background:#8b5cf629;color:#a78bfa}.tabular{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.section-title{color:#eef2f7;font-size:.8125rem;font-weight:700;letter-spacing:.02em}.section-sub{color:#667085;font-size:.75rem;margin-top:2px}.hairline{background:#2a3240;border:0;height:1px}.segmented{background:#12151b;border:1px solid #2a3240;border-radius:999px;display:inline-flex;gap:2px;padding:3px}.segmented button{background:none;border:none;border-radius:999px;color:#98a2b3;cursor:pointer;font-size:.75rem;font-weight:600;padding:.3125rem .75rem;transition:background .18s ease,color .18s ease}.segmented button:hover{color:#eef2f7}.segmented button.is-active{background:linear-gradient(135deg,#8b5cf6,#6d28d9);color:#fff}.ingredient-chip{align-items:center;animation:chip-in .22s cubic-bezier(.22,1,.36,1);background:linear-gradient(135deg,#8b5cf6e6,#6d28d9e6);border:1px solid #a78bfa80;border-radius:999px;color:#fff;cursor:pointer;display:inline-flex;font-size:.8125rem;font-weight:600;gap:.375rem;padding:.375rem .625rem;text-transform:capitalize;transition:transform .15s ease,box-shadow .15s ease}.ingredient-chip:hover{box-shadow:0 6px 16px -6px #8b5cf6cc;transform:translateY(-1px)}.ingredient-chip svg{opacity:.75}@keyframes chip-in{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.suggest-chip{align-items:center;background:#12151b;border:1px dashed #2a3240;border-radius:999px;color:#98a2b3;cursor:pointer;display:inline-flex;font-size:.75rem;font-weight:600;gap:.25rem;padding:.3125rem .625rem;text-transform:capitalize;transition:all .16s ease}.suggest-chip:hover{background:#8b5cf61a;border-color:#8b5cf6;border-style:solid;color:#eef2f7}.suggest-chip.is-active{background:linear-gradient(135deg,#8b5cf6,#6d28d9);border-color:#0000;border-style:solid;color:#fff}.toggle-chip{align-items:center;background:#12151b;border:1px solid #2a3240;border-radius:.625rem;color:#98a2b3;cursor:pointer;display:inline-flex;font-size:.8125rem;font-weight:600;gap:.4375rem;padding:.5rem .875rem;transition:all .18s ease}.toggle-chip:hover{border-color:#3a4453;color:#eef2f7}.toggle-chip.is-active{background:linear-gradient(135deg,#8b5cf640,#22d3ee1f);border-color:#8b5cf6;box-shadow:0 0 18px -6px #8b5cf6b3;color:#fff}.choice-tile{align-items:center;background:#12151b;border:1px solid #2a3240;border-radius:.75rem;color:#667085;cursor:pointer;display:flex;flex-direction:column;font-size:.6875rem;font-weight:600;gap:.3125rem;padding:.75rem .375rem;transition:all .18s cubic-bezier(.22,1,.36,1)}.choice-tile:hover{color:#eef2f7;transform:translateY(-2px)}.choice-tile span{line-height:1.25;overflow-wrap:anywhere;text-align:center}.hero-title{font-size:1.75rem}.hero-sub{font-size:.875rem}@media (max-width:760px){.choice-tile{font-size:.8125rem;justify-content:center;min-height:68px;padding:.875rem .625rem}.choice-tile:hover{transform:none}.choice-tile:active{transform:scale(.97)}.hero-title{font-size:1.375rem}.hero-sub{font-size:.8125rem;line-height:1.45}}.choice-tile.is-active{background:linear-gradient(160deg,#8b5cf647,#22d3ee1a);border-color:#8b5cf6;box-shadow:0 0 20px -8px #8b5cf6e6;color:#fff}.range-slider{-webkit-appearance:none;appearance:none;background:linear-gradient(90deg,#8b5cf6,#22d3ee 50%,#2a3240 0,#2a3240);background:linear-gradient(90deg,#8b5cf6 0,#22d3ee var(--pct,50%),#2a3240 var(--pct,50%),#2a3240 100%);border-radius:999px;cursor:pointer;height:6px;outline:none;width:100%}.range-slider::-webkit-slider-thumb{-webkit-appearance:none;background:#fff;border:3px solid #8b5cf6;border-radius:50%;box-shadow:0 2px 10px #0009;cursor:grab;height:18px;-webkit-transition:transform .15s ease;transition:transform .15s ease;width:18px}.range-slider::-webkit-slider-thumb:hover{transform:scale(1.18)}.range-slider::-webkit-slider-thumb:active{cursor:grabbing}.range-slider::-moz-range-thumb{background:#fff;border:3px solid #8b5cf6;border-radius:50%;cursor:grab;height:18px;width:18px}.generate-btn{align-items:center;background:linear-gradient(135deg,#8b5cf6,#6d28d9 55%,#22d3ee 160%);border:none;border-radius:.875rem;box-shadow:0 10px 30px -12px #8b5cf6e6;color:#fff;display:flex;font-family:Inter,sans-serif;font-size:.9375rem;font-weight:700;gap:.5rem;justify-content:center;padding:.9375rem;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;width:100%}.generate-btn:hover:not(:disabled){box-shadow:0 16px 38px -12px #8b5cf6;filter:brightness(1.08);transform:translateY(-2px)}.generate-btn:active:not(:disabled){transform:translateY(0)}.generate-btn:disabled{box-shadow:none}.ghost-btn{align-items:center;background:#12151b;border:1px solid #2a3240;border-radius:.5rem;color:#98a2b3;cursor:pointer;display:inline-flex;font-size:.75rem;font-weight:600;gap:.3125rem;padding:.375rem .6875rem;transition:all .16s ease}.ghost-btn:hover{border-color:#3a4453;color:#eef2f7}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.recipe-body{color:#c6ceda;font-size:.875rem;line-height:1.7}.recipe-body h1,.recipe-body h2,.recipe-body h3{color:#fff;font-weight:700;line-height:1.3;margin:1.25rem 0 .5rem}.recipe-body h1{font-size:1.125rem}.recipe-body h2{font-size:1.0625rem}.recipe-body h3{color:#a78bfa;font-size:.9375rem;letter-spacing:.04em;text-transform:uppercase}.recipe-body h1:first-child,.recipe-body h2:first-child,.recipe-body h3:first-child{margin-top:0}.recipe-body strong{color:#fff;font-weight:600}.recipe-body li{list-style:none;margin-bottom:.3125rem;margin-left:1.1rem;padding-left:.875rem;position:relative}.recipe-body li:before{background:#8b5cf6;border-radius:50%;content:"";height:5px;left:0;position:absolute;top:.6em;width:5px}.recipe-body p{margin-bottom:.5rem}.recipe-body code{background:#12151b;border-radius:4px;color:#22d3ee;font-size:.8125rem;padding:.1rem .35rem}.region-tile{align-items:center;background:#12151b;border:1px solid #2a3240;border-radius:.75rem;color:#98a2b3;cursor:pointer;display:flex;flex-direction:column;font-size:.75rem;font-weight:600;gap:.3125rem;padding:.875rem .5rem;transition:all .18s cubic-bezier(.22,1,.36,1)}.region-tile:hover{border-color:#3a4453;color:#eef2f7;transform:translateY(-2px)}.region-tile.is-active{background:linear-gradient(160deg,#22d3ee38,#8b5cf61f);border-color:#22d3ee;box-shadow:0 0 22px -8px #22d3eee6;color:#fff}.auth-page{display:grid;grid-template-columns:1.05fr 1fr;min-height:100vh;position:relative;z-index:1}.auth-brand{align-items:center;background:linear-gradient(155deg,#8b5cf61a,#0000 55%),linear-gradient(15deg,#22d3ee12,#0000 50%),#0b0d11;border-right:1px solid #1e242e;display:flex;overflow:hidden;padding:3.5rem 3rem;position:relative}.auth-orb{border-radius:50%;filter:blur(80px);pointer-events:none;position:absolute}.auth-orb-a{animation:orb-drift 22s ease-in-out infinite;background:#8b5cf64d;height:30rem;left:-10rem;top:-8rem;width:30rem}.auth-orb-b{animation:orb-drift 26s ease-in-out infinite reverse;background:#22d3ee38;bottom:-7rem;height:24rem;right:-6rem;width:24rem}@keyframes orb-drift{0%,to{transform:translate(0) scale(1)}50%{transform:translate(3rem,2rem) scale(1.12)}}.auth-brand-inner{max-width:30rem;position:relative;z-index:1}.auth-logo{gap:.7rem;margin-bottom:3rem}.auth-logo,.auth-logo-mark{align-items:center;display:flex}.auth-logo-mark{background:linear-gradient(135deg,#8b5cf6,#22d3ee);border-radius:12px;box-shadow:0 0 26px -6px #8b5cf6bf;flex-shrink:0;height:42px;justify-content:center;width:42px}.auth-logo-text{color:#fff;font-size:1.2rem;font-weight:700;letter-spacing:-.02em}.auth-logo-compact{display:none}.auth-headline{color:#fff;font-size:clamp(2rem,3.2vw,2.85rem);font-weight:700;letter-spacing:-.035em;line-height:1.1;margin-bottom:1rem}.auth-headline-accent{-webkit-text-fill-color:#0000;background:linear-gradient(100deg,#a78bfa,#22d3ee);-webkit-background-clip:text;background-clip:text}.auth-sub{color:#98a2b3;font-size:.9375rem;line-height:1.65;margin-bottom:2.5rem;max-width:26rem}.auth-highlights{grid-gap:1.15rem;display:grid;gap:1.15rem;list-style:none}.auth-highlights li{align-items:flex-start;display:flex;gap:.85rem}.auth-highlight-icon{align-items:center;background:#8b5cf624;border:1px solid #8b5cf647;border-radius:9px;color:#a78bfa;display:flex;flex-shrink:0;height:30px;justify-content:center;width:30px}.auth-highlights strong{color:#eef2f7;display:block;font-size:.875rem;font-weight:600;margin-bottom:.15rem}.auth-highlights em{color:#7d8899;display:block;font-size:.8125rem;font-style:normal;line-height:1.55}.auth-form-side{align-items:center;display:flex;flex-direction:column;gap:1.25rem;justify-content:center;padding:2.5rem 2rem}.auth-card{animation:fade-up .5s cubic-bezier(.22,1,.36,1) both;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#171b23c7;border:1px solid #2a3240;border-radius:1.25rem;box-shadow:0 24px 60px -24px #000c;max-width:25.5rem;padding:1.75rem;width:100%}.auth-segmented{margin-bottom:1.5rem;width:100%}.auth-segmented button{flex:1 1}.auth-form{grid-gap:1rem;animation:fade-up .32s cubic-bezier(.22,1,.36,1) both;display:grid;gap:1rem}.auth-form-head h2{color:#fff;font-size:1.35rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.25rem}.auth-form-head p{color:#7d8899;font-size:.8125rem;line-height:1.5}.auth-steps{display:flex;gap:.375rem}.auth-steps span{background:#2a3240;border-radius:2px;flex:1 1;height:3px;transition:background .35s ease}.auth-steps span.is-done{background:linear-gradient(90deg,#8b5cf6,#22d3ee)}.auth-field{grid-gap:.4rem;display:grid;gap:.4rem}.auth-label{align-items:baseline;color:#98a2b3;display:flex;font-size:.75rem;font-weight:600;gap:.4rem}.auth-hint{color:#667085;font-size:.6875rem;font-weight:400}.auth-control{display:block;position:relative}.auth-control input{background:#12151b;border:1px solid #2a3240;border-radius:.6rem;color:#eef2f7;font-size:.875rem;padding:.7rem .9rem;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;width:100%}.auth-control input::placeholder{color:#556070}.auth-control input:focus{background:#171b23;border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf629;outline:none}.auth-control input:-webkit-autofill,.auth-control input:-webkit-autofill:focus{-webkit-text-fill-color:#eef2f7;-webkit-box-shadow:inset 0 0 0 1000px #12151b;caret-color:#eef2f7}.auth-control-icon{color:#667085;left:.85rem;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.auth-control input:focus~.auth-control-icon{color:#a78bfa}.auth-suffix{font-size:.75rem;pointer-events:none;right:.85rem}.auth-reveal,.auth-suffix{color:#667085;position:absolute;top:50%;transform:translateY(-50%)}.auth-reveal{align-items:center;background:#0000;border:0;border-radius:7px;cursor:pointer;display:flex;height:28px;justify-content:center;right:.6rem;transition:color .15s ease,background .15s ease;width:28px}.auth-reveal:hover{background:#1e242e;color:#eef2f7}.auth-row{grid-gap:.625rem;display:grid;gap:.625rem;grid-template-columns:repeat(3,1fr)}.auth-row .auth-control input{padding-right:1.9rem}.auth-chips{display:flex;flex-wrap:wrap;gap:.4rem}.auth-activity{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(2,1fr)}.auth-activity-tile{background:#12151b;border:1px solid #2a3240;border-radius:.6rem;cursor:pointer;padding:.6rem .7rem;text-align:left;transition:all .18s cubic-bezier(.22,1,.36,1)}.auth-activity-tile:last-child{grid-column:1/-1}.auth-activity-tile strong{color:#98a2b3;display:block;font-size:.8125rem;font-weight:600;margin-bottom:.1rem}.auth-activity-tile em{color:#667085;display:block;font-size:.6875rem;font-style:normal;line-height:1.4}.auth-activity-tile:hover{border-color:#3a4453;transform:translateY(-1px)}.auth-activity-tile:hover strong{color:#eef2f7}.auth-activity-tile.is-active{background:linear-gradient(160deg,#8b5cf62e,#22d3ee0d);border-color:#8b5cf6;box-shadow:0 0 20px -8px #8b5cf6e6}.auth-activity-tile.is-active strong{color:#fff}.auth-activity-tile.is-active em{color:#a9b4c4}.auth-error,.auth-notice{align-items:flex-start;animation:fade-up .25s ease both;border-radius:.6rem;display:flex;font-size:.8125rem;gap:.5rem;line-height:1.45;padding:.6rem .75rem}.auth-error{background:#f871711a;border:1px solid #f8717147;color:#fca5a5}.auth-notice{background:#34d3991a;border:1px solid #34d39947;color:#6ee7b7}.auth-error svg,.auth-notice svg{flex-shrink:0;margin-top:1px}.auth-actions{display:flex;gap:.625rem}.auth-actions .generate-btn{flex:1 1}.auth-actions .ghost-btn{flex-shrink:0}.auth-switch{color:#7d8899;font-size:.8125rem;text-align:center}.auth-switch button{background:none;border:0;color:#a78bfa;cursor:pointer;font-size:inherit;font-weight:600;padding:0}.auth-switch button:hover{color:#c4b5fd;text-decoration:underline}.auth-foot{color:#556070;font-size:.6875rem;line-height:1.5;max-width:25.5rem;text-align:center}@media (max-width:900px){.auth-page{grid-template-columns:1fr}.auth-brand{display:none}.auth-logo-compact{display:flex;justify-content:center;margin-bottom:1.5rem}.auth-form-side{min-height:100vh;padding:2rem 1.25rem}}@media (max-width:420px){.auth-card{border-radius:1rem;padding:1.25rem}.auth-row{grid-template-columns:1fr 1fr}.auth-row .auth-field:first-child{grid-column:1/-1}.auth-activity{grid-template-columns:1fr}.auth-activity-tile:last-child{grid-column:auto}}.chat-page{display:flex;flex-direction:column;height:calc(100vh - 4rem);min-height:30rem;position:relative}.chat-head{border-bottom:1px solid #1e242e;gap:1rem;justify-content:space-between;padding-bottom:1rem}.chat-head,.chat-head-mark{align-items:center;display:flex;flex-shrink:0}.chat-head-mark{background:linear-gradient(135deg,#8b5cf6,#22d3ee);border-radius:11px;box-shadow:0 0 22px -6px #8b5cf6b3;height:38px;justify-content:center;width:38px}.chat-status{align-items:center;border-radius:.6rem;display:flex;flex-shrink:0;font-size:.8125rem;gap:.5rem;margin-top:.75rem;padding:.55rem .75rem}.chat-status.is-degraded{background:#fbbf2417;border:1px solid #fbbf243d;color:#fbbf24}.chat-status.is-down{background:#f8717117;border:1px solid #f8717142;color:#fca5a5}.chat-scroll{flex:1 1;overflow-y:auto;padding:1.25rem .25rem 1rem;scrollbar-width:thin}.chat-scroll::-webkit-scrollbar{width:8px}.chat-scroll::-webkit-scrollbar-thumb{background:#2a3240;border-radius:4px}.chat-thread{grid-gap:1rem;display:grid;gap:1rem}.msg-row{align-items:flex-start;animation:fade-up .28s cubic-bezier(.22,1,.36,1) both;display:flex;gap:.625rem}.msg-row-user{justify-content:flex-end}.msg-avatar{align-items:center;background:#8b5cf624;border:1px solid #8b5cf647;border-radius:9px;color:#a78bfa;display:flex;flex-shrink:0;height:28px;justify-content:center;margin-top:2px;width:28px}.msg-bubble{border-radius:.9rem;font-size:.875rem;line-height:1.65;max-width:min(46rem,82%);padding:.75rem .95rem}.msg-user{background:linear-gradient(135deg,#7c3aed,#6366f1);border-bottom-right-radius:.3rem;box-shadow:0 6px 18px -8px #7c3aedcc;color:#fff}.msg-bot{background:#171b23;border:1px solid #2a3240;border-bottom-left-radius:.3rem;color:#dce3ec}.msg-bot .recipe-body{font-size:.875rem}.msg-bot .recipe-body h1:first-child,.msg-bot .recipe-body h2:first-child,.msg-bot .recipe-body h3:first-child{margin-top:0}.msg-time{font-size:.6875rem;margin-top:.35rem;opacity:.55}.typing{display:flex;gap:4px;padding:.25rem 0}.typing span{animation:typing-bounce 1.3s ease-in-out infinite;background:#667085;border-radius:50%;height:6px;width:6px}.typing span:nth-child(2){animation-delay:.18s}.typing span:nth-child(3){animation-delay:.36s}@keyframes typing-bounce{0%,60%,to{opacity:.45;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.chat-welcome{flex-direction:column;gap:1rem;height:100%;padding:2rem 1rem;text-align:center}.chat-welcome,.chat-welcome-mark{align-items:center;display:flex;justify-content:center}.chat-welcome-mark{background:#8b5cf61f;border:1px solid #8b5cf642;border-radius:16px;color:#a78bfa;height:56px;width:56px}.chat-welcome-text{color:#c6ceda;font-size:1.0625rem;line-height:1.6;max-width:30rem}.chat-suggestions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;max-width:34rem}.chat-composer{align-items:flex-end;background:#12151b;border:1px solid #2a3240;border-radius:1rem;display:flex;flex-shrink:0;gap:.5rem;padding:.6rem;transition:border-color .18s ease,box-shadow .18s ease}.chat-composer:focus-within{border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf624}.chat-input{background:#0000;border:0;color:#eef2f7;flex:1 1;font-family:inherit;font-size:.9375rem;line-height:1.55;max-height:10rem;outline:none;padding:.5rem .4rem;resize:none}.chat-input::placeholder{color:#556070}.chat-input:disabled{opacity:.5}.chat-send{align-items:center;background:linear-gradient(135deg,#8b5cf6,#6366f1);border:0;border-radius:.7rem;box-shadow:0 6px 18px -8px #8b5cf6e6;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:40px;justify-content:center;transition:transform .15s ease,opacity .15s ease;width:40px}.chat-send:hover:not(:disabled){transform:translateY(-1px)}.chat-send:disabled{box-shadow:none;cursor:default;opacity:.35}.scroll-down{align-items:center;animation:fade-up .2s ease both;background:#1e242e;border:1px solid #3a4453;border-radius:50%;bottom:5.5rem;box-shadow:0 8px 20px -8px #000c;color:#eef2f7;cursor:pointer;display:flex;height:34px;justify-content:center;position:absolute;right:1rem;width:34px}.scroll-down:hover{background:#262e3a}@media (max-width:768px){.chat-page{height:calc(100dvh - 9.5rem - env(safe-area-inset-top) - env(safe-area-inset-bottom));height:calc(100dvh - var(--topbar-h) - env(safe-area-inset-top) - var(--tabbar-h) - env(safe-area-inset-bottom) - 2.25rem);margin-bottom:0;min-height:20rem}.chat-head{margin-bottom:.75rem;padding-bottom:.75rem}.chat-head .section-sub{display:none}.chat-head-mark{height:32px;width:32px}.msg-bubble{font-size:.9375rem;max-width:94%}.msg-row{gap:.5rem}.chat-composer{border-radius:.875rem;bottom:0;padding:.5rem;position:-webkit-sticky;position:sticky}.chat-new-label{display:none}.chat-new{flex-shrink:0;height:40px;justify-content:center;padding:0;width:40px}}.scan-overlay{align-items:center;animation:fade-up .2s ease both;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#04060ab8;display:flex;inset:0;justify-content:center;padding:1.25rem;position:fixed;z-index:10000}.scan-sheet{background:#12151b;border:1px solid #2a3240;border-radius:1.125rem;box-shadow:0 30px 70px -20px #000000e6;max-width:26rem;padding:1.25rem;width:100%}.scan-frame{align-items:center;background:#05070a;border:1px solid #2a3240;border-radius:.75rem;display:flex;justify-content:center;min-height:210px;overflow:hidden;position:relative}.scan-frame video{display:block;height:auto!important;width:100%!important}.scan-frame img[alt="Info icon"]{display:none}.scan-hint{align-items:center;color:#667085;display:flex;flex-direction:column;font-size:.8125rem;gap:.5rem;inset:0;justify-content:center;position:absolute}.source-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:.6875rem;font-weight:600;gap:.3rem;letter-spacing:.01em;padding:.2rem .5rem;white-space:nowrap}.source-verified{background:#34d3991f;border:1px solid #34d3994d;color:#34d399}.source-matched{background:#22d3ee1a;border:1px solid #22d3ee47;color:#67e8f9}.source-estimate{background:#fbbf241a;border:1px solid #fbbf2442;color:#fbbf24}@media (prefers-reduced-motion:reduce){.auth-card,.auth-form,.auth-orb{animation:none}}body.native-app{overscroll-behavior-y:none}body.native-app .shell-main{padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right))}@media (pointer:coarse){.btn,.suggest-chip,.toggle-chip{min-height:44px}.range-slider::-webkit-slider-thumb{height:26px;width:26px}}@media (pointer:coarse){input,select,textarea{font-size:16px}.bottom-nav-item:active,.btn:active,.ingredient-chip:active,.suggest-chip:active,.surface.lift:active,.toggle-chip:active{transform:scale(.97);transition:transform .08s ease}*{-webkit-tap-highlight-color:transparent}.bottom-nav-item,.btn,.metric-label,.pill,.section-title,.suggest-chip,.toggle-chip{-webkit-user-select:none;user-select:none}}body.native-app{-webkit-overflow-scrolling:touch}body.native-app .shell-main{animation:screen-in .26s cubic-bezier(.32,.72,0,1) both}@keyframes screen-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.bottom-nav-item svg{transition:transform .2s cubic-bezier(.32,.72,0,1)}.bottom-nav-item-active svg{transform:translateY(-2px) scale(1.08)}body.native-app .stagger>*{animation:fade-up .32s cubic-bezier(.32,.72,0,1) both}body.native-app .stagger>:first-child{animation-delay:.02s}body.native-app .stagger>:nth-child(2){animation-delay:.06s}body.native-app .stagger>:nth-child(3){animation-delay:.1s}body.native-app .stagger>:nth-child(4){animation-delay:.14s}body.native-app .stagger>:nth-child(5){animation-delay:.18s}body.native-app .stagger>:nth-child(n+6){animation-delay:.2s}@media (prefers-reduced-motion:reduce){body.native-app .shell-main,body.native-app .stagger>*{animation:none}.nav-rail,.nav-scrim{transition:none}}.toast-stack{bottom:1.25rem;display:flex;flex-direction:column;gap:.5rem;left:auto;max-width:min(24rem,calc(100vw - 2.5rem));pointer-events:none;position:fixed;right:1.25rem;z-index:80}@media (max-width:760px){.toast-stack{bottom:calc(4.75rem + env(safe-area-inset-bottom));bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + .75rem);left:.75rem;max-width:none;right:.75rem}}.toast{align-items:flex-start;animation:toast-in .28s cubic-bezier(.32,.72,0,1) both;background:#161a22;border:1px solid #2a3240;border-radius:.75rem;box-shadow:0 2px 6px #0006,0 14px 40px -12px #000000bf;color:#eef2f7;display:flex;font-size:.875rem;gap:.625rem;padding:.75rem .875rem}.toast-icon{align-items:center;border-radius:8px;display:inline-flex;flex-shrink:0;height:24px;justify-content:center;width:24px}.toast-success{border-color:#34d39961}.toast-success .toast-icon{background:#34d39929;color:#34d399}.toast-error{border-color:#f8717161}.toast-error .toast-icon{background:#f8717129;color:#fca5a5}.toast-info{border-color:#8b5cf661}.toast-info .toast-icon{background:#8b5cf629;color:#a78bfa}.toast-message{display:block;font-weight:600;line-height:1.35}.toast-detail{color:#98a2b3;display:block;font-size:.8125rem;font-weight:400;line-height:1.4;margin-top:.15rem;overflow-wrap:anywhere}@keyframes toast-in{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}body,html{max-width:100%;overflow-x:clip}@supports not (overflow:clip){body,html{overflow-x:hidden}}.chat-page,.msg-bubble,.surface,.surface-hero{max-width:100%}.msg-bubble,.section-sub,.section-title,.surface,.surface-hero{overflow-wrap:anywhere}.stagger>*,.surface>*{min-width:0}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:#f3f4f6;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.hover\:text-blue-800:hover{--tw-text-opacity:1;color:#1e40af;color:rgb(30 64 175/var(--tw-text-opacity,1))}.hover\:text-green-800:hover{--tw-text-opacity:1;color:#166534;color:rgb(22 101 52/var(--tw-text-opacity,1))}.hover\:text-red-800:hover{--tw-text-opacity:1;color:#991b1b;color:rgb(153 27 27/var(--tw-text-opacity,1))}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}@media (min-width:768px){.md\:col-span-2{grid-column:span 2/span 2}.md\:hidden{display:none}.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\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (min-width:1024px){.lg\:col-span-3{grid-column:span 3/span 3}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
/*# sourceMappingURL=main.62d7b8fd.css.map*/