::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#10b981;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#059669}@keyframes float{0%,100%{transform:translate(-50%,-45%) translateZ(80px) translateY(0)}50%{transform:translate(-50%,-45%) translateZ(80px) translateY(-10px)}}@keyframes float-slow{0%,100%{transform:translateZ(20px) rotate(-3deg) translateY(0)}50%{transform:translateZ(20px) rotate(-3deg) translateY(-8px)}}@keyframes float-delayed{0%,100%{transform:translateZ(-50px) rotate(6deg) translateY(0)}50%{transform:translateZ(-50px) rotate(6deg) translateY(-6px)}}.animate-float{animation:float 6s ease-in-out infinite}.animate-float-slow{animation:float-slow 8s ease-in-out infinite}.animate-float-delayed{animation:float-delayed 7s ease-in-out infinite 2s}.glass{background:rgba(255,255,255,.7);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.5);box-shadow:0 8px 32px 0 rgba(31,38,135,.07)}.glass-dark{background:rgba(255,255,255,.7);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.5)}.glass-card{background:rgba(255,255,255,.8);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.6);box-shadow:0 4px 6px -1px rgba(0,0,0,.05),0 2px 4px -1px rgba(0,0,0,.03);transition:all .3s cubic-bezier(.4, 0, .2, 1)}.glass-card:hover{background:rgba(255,255,255,.95);transform:translateY(-2px);box-shadow:0 10px 15px -3px rgba(0,0,0,.05),0 4px 6px -2px rgba(0,0,0,.025);border-color:rgba(16,185,129,.3)}#nav-container{transition:all .3s cubic-bezier(.4, 0, .2, 1)}@media print{body{background:#fff;color:#000}.no-print{display:none!important}.print-only{display:block!important}.page-break{page-break-before:always}#results-dashboard{display:block!important}#landing-page,#wizard-section{display:none!important}}.loader{border:4px solid #f3f3f3;border-top:4px solid #10b981;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.step-active{background-color:#059669;color:#fff;border-color:#059669}.step-inactive{background-color:#fff;color:#6b7280;border-color:#e5e7eb}.step-completed{background-color:#d1fae5;color:#047857;border-color:#a7f3d0}nav{transition:all .3s cubic-bezier(.4, 0, .2, 1)}.nav-link{position:relative;padding:.5rem 1rem;border-radius:9999px;transition:all .3s ease}.nav-link:hover{background-color:rgba(16,185,129,.1);color:#059669}#mobile-menu{transition:all .3s cubic-bezier(.4, 0, .2, 1);transform-origin:top}#mobile-menu.hidden{opacity:0;transform:scaleY(.95) translateY(-10px);pointer-events:none}#mobile-menu:not(.hidden){opacity:1;transform:scaleY(1) translateY(0);animation:menuSlideDown .4s cubic-bezier(.16,1,.3,1)}@keyframes menuSlideDown{from{opacity:0;transform:scaleY(.95) translateY(-10px)}to{opacity:1;transform:scaleY(1) translateY(0)}}#menu-line-1,#menu-line-2,#menu-line-3{transition:all .3s cubic-bezier(.4, 0, .2, 1);transform-origin:center}#main-nav.py-2{backdrop-filter:none;background:0 0}.animate-gradient{background-size:200% 200%;animation:gradient 3s ease infinite}@keyframes float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(5deg)}}.animate-fade-in-up{animation:fadeInUp .8s cubic-bezier(.16,1,.3,1) forwards;opacity:0;transform:translateY(20px)}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}.animate-float-slow{animation:floatSlow 8s ease-in-out infinite}@keyframes floatSlow{0%,100%{transform:translateY(0)}50%{transform:translateY(-20px)}}.animate-bounce-slow{animation:bounceSlow 3s infinite}@keyframes bounceSlow{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}.bg-300\%{background-size:300% 300%}button:hover{transform:translateY(-2px)}.bg-radial-gradient{background-image:radial-gradient(circle,var(--tw-gradient-stops))}button:active{transform:translateY(0)}.mix-blend-multiply{mix-blend-mode:multiply}.stroke-dasharray-351{stroke-dasharray:351.86}.perspective-1000{perspective:1000px}.preserve-3d{transform-style:preserve-3d}@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}.animate-blink{animation:blink 1s step-end infinite}.bg-radial-pattern{background-image:radial-gradient(#e5e7eb 1px,transparent 1px);background-size:16px 16px}.faq-item.active .faq-icon i{transform:rotate(45deg)}.faq-item.active .faq-icon{background-color:#ecfdf5;color:#059669}h1 span{display:inline-block}.backdrop-blur-md{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.step-dot{transition:all .3s ease}.step-dot.active{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 12px rgba(16,185,129,.4);transform:scale(1.1)}.input-filled{border-color:#10b981!important;background:#fff!important;box-shadow:0 0 0 4px rgba(16,185,129,.1)!important}.animate-pulse-on-change{animation:pulse-on-change .5s ease}@keyframes pulse-on-change{0%,100%{transform:scale(1)}50%{transform:scale(1.1)}}.selection-card{transition:all .3s cubic-bezier(.4, 0, .2, 1)}.selection-card:hover{transform:translateY(-4px);box-shadow:0 12px 20px -8px rgba(0,0,0,.1)}.selection-card input:checked+div{border-color:#10b981!important;background:linear-gradient(to bottom right,#ecfdf5,#fff)!important;box-shadow:0 0 0 2px #10b981,0 10px 15px -3px rgba(16,185,129,.1)!important}.selection-card input:checked+div i{color:#059669!important;transform:scale(1.1)}.selection-card input:focus-visible+div{outline:0;box-shadow:0 0 0 2px #10b981,0 0 0 4px rgba(16,185,129,.3)!important}.selection-card input:checked+div .w-10.h-10,.selection-card input:checked+div .w-12.h-12,.selection-card input:checked+div .w-16.h-16{background-color:#d1fae5!important;color:#059669!important}.selection-card input:checked+div .w-6.h-6{border-color:#10b981!important;background-color:#10b981!important}.selection-card input:checked+div .w-6.h-6 i{opacity:1!important;color:#fff!important}.diet-btn.active{background:linear-gradient(135deg,#10b981,#059669)!important;color:#fff!important;border-color:#10b981!important;box-shadow:0 4px 12px rgba(16,185,129,.3);transform:translateY(-2px)}button,input,select{transition:all .2s ease}input:focus,select:focus{transform:translateY(-1px);box-shadow:0 4px 12px rgba(16,185,129,.15)}.unit-btn{transition:all .2s ease}#bmi-modal-content{transition:all .3s cubic-bezier(.4, 0, .2, 1)}.step-content{transition:all .4s cubic-bezier(.4, 0, .2, 1)}.step-enter{animation:slideInRight .4s forwards}.step-exit{animation:slideOutLeft .4s forwards}@keyframes slideInRight{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes slideOutLeft{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-20px)}}.animate-fade-in{animation:fadeIn .5s ease-out forwards}.animate-fade-in-right{animation:fadeInRight .5s ease-out forwards}.animate-fade-in-left{animation:fadeInLeft .5s ease-out forwards}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.bg-gradient-morning{background:linear-gradient(135deg,#fef9c3 0,#fde047 100%)}.bg-gradient-midday{background:linear-gradient(135deg,#dbeafe 0,#93c5fd 100%)}.bg-gradient-evening{background:linear-gradient(135deg,#e0e7ff 0,#818cf8 100%)}.bg-gradient-snack{background:linear-gradient(135deg,#fce7f3 0,#f9a8d4 100%)}.shopping-checkbox:checked+div{text-decoration:line-through;color:#9ca3af}.shopping-checkbox:checked+div+i{opacity:1;transform:scale(1)}@keyframes dash{from{stroke-dashoffset:283}to{stroke-dashoffset:var(--target-offset)}}.animate-fade-out-left{animation:fadeOutLeft .5s ease-out forwards}.animate-fade-out-right{animation:fadeOutRight .5s ease-out forwards}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeInRight{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeInLeft{from{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeOutLeft{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-20px)}}@keyframes fadeOutRight{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(20px)}}.toast{pointer-events:auto;animation:slideInRight .3s ease-out,fadeOut .3s ease-in 2.7s}@keyframes slideInRight{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes fadeOut{from{opacity:1}to{opacity:0}}@keyframes float-slow{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(5deg)}}@keyframes spin-reverse{from{transform:rotate(360deg)}to{transform:rotate(0)}}.animate-float-slow{animation:float-slow 6s ease-in-out infinite}.animate-spin-reverse{animation:spin-reverse 3s linear infinite}.bg-gradient-morning{background:linear-gradient(135deg,#fef3c7 0,#fcd34d 100%)}.bg-gradient-midday{background:linear-gradient(135deg,#dbeafe 0,#93c5fd 100%)}.bg-gradient-evening{background:linear-gradient(135deg,#e0e7ff 0,#a5b4fc 100%)}.bg-gradient-snack{background:linear-gradient(135deg,#fce7f3 0,#f9a8d4 100%)}.animate-float{animation:float 6s ease-in-out infinite}.animate-pulse-slow{animation:pulse 4s cubic-bezier(.4,0,.6,1) infinite}.hover\:rotate-y-6:hover{transform:rotateY(6deg)}.hover\:rotate-x-6:hover{transform:rotateX(6deg)}#hero-card{transition:transform .5s cubic-bezier(.4, 0, .2, 1)}.rotate-y-12{transform:rotateY(12deg)}.rotate-x-6{transform:rotateX(6deg)}.rotate-y-12.rotate-x-6{transform:rotateY(12deg) rotateX(6deg)}.hover\:rotate-0:hover{transform:rotateY(0) rotateX(0)!important}@keyframes pan-shake{0%,100%{transform:rotate(0)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}.animate-pan-shake{animation:pan-shake 2s ease-in-out infinite}@keyframes food-toss{0%,100%{transform:translateY(0) rotate(0);opacity:0}20%{opacity:1}50%{transform:translateY(-40px) rotate(180deg);opacity:1}80%{opacity:1}90%{transform:translateY(0) rotate(360deg);opacity:0}}.animate-food-toss{animation:food-toss 2s ease-in-out infinite}@keyframes steam{0%{transform:translateY(0) scale(1);opacity:.8}100%{transform:translateY(-20px) scale(1.5);opacity:0}}.animate-steam{animation:steam 1.5s ease-out infinite}@keyframes shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}.animate-shimmer{animation:shimmer 2s linear infinite}