.responsive-container{--scale-factor:1;--font-scale:1;--padding-scale:1}.mobile-portrait{--scale-factor:0.4;--font-scale:0.5;--padding-scale:0.2}.mobile-portrait .nutrition-timeline{font-size:calc(10px * var(--font-scale))!important}.mobile-portrait .timeline-item{padding:calc(2px * var(--padding-scale))!important;margin:calc(1px * var(--padding-scale)) 0!important}.mobile-portrait .product-card{padding:calc(4px * var(--padding-scale))!important;font-size:calc(9px * var(--font-scale))!important}.mobile-portrait h1{font-size:calc(16px * var(--font-scale))!important}.mobile-portrait h2{font-size:calc(14px * var(--font-scale))!important}.mobile-portrait h3{font-size:calc(12px * var(--font-scale))!important}.mobile-portrait p{font-size:calc(10px * var(--font-scale))!important}.mobile-portrait .text-xs{font-size:calc(8px * var(--font-scale))!important}.mobile-portrait .text-sm{font-size:calc(9px * var(--font-scale))!important}.mobile-portrait .text-base{font-size:calc(10px * var(--font-scale))!important}.mobile-portrait .p-4{padding:calc(4px * var(--padding-scale))!important}.mobile-portrait .p-6{padding:calc(6px * var(--padding-scale))!important}.mobile-portrait .p-8{padding:calc(8px * var(--padding-scale))!important}.mobile-portrait .px-4{padding-left:calc(4px * var(--padding-scale))!important;padding-right:calc(4px * var(--padding-scale))!important}.mobile-portrait .py-4{padding-top:calc(4px * var(--padding-scale))!important;padding-bottom:calc(4px * var(--padding-scale))!important}.mobile-portrait .gap-4{gap:calc(4px * var(--padding-scale))!important}.mobile-portrait .gap-6{gap:calc(6px * var(--padding-scale))!important}.mobile-portrait .space-y-4>*+*{margin-top:calc(4px * var(--padding-scale))!important}.mobile-portrait .space-y-6>*+*{margin-top:calc(6px * var(--padding-scale))!important}.mobile-landscape{--scale-factor:0.6;--font-scale:0.65;--padding-scale:0.3}.mobile-landscape h1{font-size:calc(20px * var(--font-scale))!important}.mobile-landscape h2{font-size:calc(16px * var(--font-scale))!important}.mobile-landscape h3{font-size:calc(14px * var(--font-scale))!important}.mobile-landscape p{font-size:calc(12px * var(--font-scale))!important}.mobile-landscape .text-xs{font-size:calc(10px * var(--font-scale))!important}.mobile-landscape .text-sm{font-size:calc(11px * var(--font-scale))!important}.tablet-portrait{--scale-factor:0.7;--font-scale:0.75;--padding-scale:0.5}.tablet-portrait h1{font-size:calc(24px * var(--font-scale))!important}.tablet-portrait h2{font-size:calc(20px * var(--font-scale))!important}.tablet-portrait h3{font-size:calc(16px * var(--font-scale))!important}.tablet-portrait p{font-size:calc(14px * var(--font-scale))!important}.tablet-landscape{--scale-factor:0.85;--font-scale:0.85;--padding-scale:0.7}.is-portrait.is-mobile .grid,.is-portrait.is-tablet .grid{grid-template-columns:1fr!important}.is-portrait.is-mobile .sidebar-container{display:none!important}.is-mobile .timeline-container{max-height:60vh;overflow-y:auto}.is-mobile .chart-container{height:120px!important;min-height:120px!important}.is-mobile.is-portrait .chart-container{height:80px!important;min-height:80px!important}@media (max-width:768px){.lg\:grid-cols-12{grid-template-columns:1fr!important}.lg\:col-span-3,.lg\:col-span-6,.lg\:col-span-9,.xl\:col-span-3,.xl\:col-span-6,.xl\:col-span-9{grid-column:span 1!important}.sticky{position:relative!important;top:auto!important}}@media (max-width:480px){.hide-on-mobile{display:none!important}.border-2{border-width:1px!important}.rounded-lg{border-radius:4px!important}.rounded-2xl{border-radius:8px!important}.shadow-lg{box-shadow:0 2px 4px rgba(0,0,0,.1)!important}}.nutrition-planner-scaled{transform-origin:top left;transform:scale(var(--scale-factor));width:calc(100% / var(--scale-factor));overflow:hidden}@media (max-width:375px){*{min-font-size:8px!important}.nutrition-timeline{font-size:8px!important;line-height:1.2!important}button{min-height:24px!important;font-size:9px!important;padding:2px 4px!important}}.is-mobile [role=button],.is-mobile a,.is-mobile button{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.mobile-landscape .timeline-wrapper{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}@keyframes spin-slow{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.animate-spin-slow{animation:spin-slow 3s linear infinite}