:root{--tg-theme-bg-color: #ffffff;--tg-theme-text-color: #000000;--tg-theme-hint-color: #999999;--tg-theme-link-color: #007aff;--tg-theme-button-color: #007aff;--tg-theme-button-text-color: #ffffff;--tg-theme-secondary-bg-color: #f2f2f7;--tg-theme-header-bg-color: #ffffff;--tg-theme-accent-text-color: #3390ec;--tg-theme-section-bg-color: #ffffff;--tg-theme-section-header-text-color: #3390ec;--tg-theme-section-separator-color: #e5e5e5;--tg-theme-subtitle-text-color: #999999;--tg-theme-destructive-text-color: #ff3b30;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--radius-md: 8px;--radius-lg: 12px;--shadow-lg: 0 10px 20px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--animation-base: .3s;--ease-out: cubic-bezier(.215, .61, .355, 1);--ease-spring: cubic-bezier(.68, -.55, .265, 1.55);--safe-area-inset-top: max(0px, env(safe-area-inset-top, 0px));--safe-area-inset-bottom: max(0px, env(safe-area-inset-bottom, 0px));--safe-area-inset-left: max(0px, env(safe-area-inset-left, 0px));--safe-area-inset-right: max(0px, env(safe-area-inset-right, 0px));--content-safe-area-inset-top: 0px;--content-safe-area-inset-bottom: 0px}@supports (padding: max(0px)){:root{--safe-area-inset-top: max(20px, env(safe-area-inset-top, 20px));--safe-area-inset-bottom: max(0px, env(safe-area-inset-bottom, 0px));--safe-area-inset-left: max(0px, env(safe-area-inset-left, 0px));--safe-area-inset-right: max(0px, env(safe-area-inset-right, 0px))}}*{box-sizing:border-box;margin:0;padding:0}html{height:100%}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--tg-theme-bg-color);color:var(--tg-theme-text-color);height:100%;margin:0;padding:0;overflow:hidden;overscroll-behavior:none;-webkit-overflow-scrolling:touch}#root{width:100%;height:100%;display:flex;flex-direction:column;background-color:var(--tg-theme-bg-color);color:var(--tg-theme-text-color);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{display:flex;flex-direction:column;min-height:100vh;background:var(--tg-theme-bg-color)}.app-container{width:100%;max-width:600px;margin:0 auto;height:100%;display:flex;flex-direction:column;position:relative;background-color:var(--tg-theme-bg-color)}.fixed-bottom-buttons{bottom:calc(var(--safe-area-inset-bottom) + 0px);padding-bottom:var(--safe-area-inset-bottom)}.fixed-top-header{top:var(--safe-area-inset-top);padding-top:var(--safe-area-inset-top)}.tabs{display:flex;background:var(--tg-theme-bg-color);padding:var(--spacing-sm) var(--spacing-md);gap:var(--spacing-sm);position:sticky;top:0;z-index:100;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--tg-theme-section-separator-color)}.tab{flex:1;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-size:16px;font-weight:500;color:var(--tg-theme-hint-color);background:transparent;transition:all var(--animation-base) var(--ease-out);position:relative;overflow:hidden}.tab:before{content:"";position:absolute;inset:0;background:var(--tg-theme-button-color);opacity:0;transition:opacity var(--animation-base) var(--ease-out)}.tab.active{color:var(--tg-theme-button-text-color)}.tab.active:before{opacity:1}.tab span{position:relative;z-index:1}.content{flex:1;padding-bottom:env(safe-area-inset-bottom);background:var(--tg-theme-bg-color)}.loading{display:flex;align-items:center;justify-content:center;height:200px;font-size:16px;color:var(--tg-theme-hint-color);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.totals-card{background-color:var(--tg-theme-section-bg-color);border-radius:var(--radius-lg);padding:var(--spacing-md);margin-bottom:var(--spacing-md);box-shadow:var(--shadow-md)}.totals-title{font-size:18px;font-weight:600;margin-bottom:var(--spacing-md);color:var(--tg-theme-text-color)}.totals-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}.total-item{background-color:var(--tg-theme-secondary-bg-color);border-radius:var(--radius-md);padding:var(--spacing-md);text-align:center}.total-item.calories{grid-column:span 2}.total-value{font-size:24px;font-weight:600;margin-bottom:4px;color:var(--tg-theme-text-color)}.total-label{font-size:14px;color:var(--tg-theme-hint-color)}.total-unit{font-size:12px;color:var(--tg-theme-hint-color)}.diary-list{background-color:var(--tg-theme-section-bg-color);border-radius:var(--radius-lg);overflow:hidden}.diary-day{border-bottom:1px solid var(--tg-theme-section-separator-color)}.diary-day:last-child{border-bottom:none}.diary-date{font-size:14px;font-weight:600;color:var(--tg-theme-hint-color);padding:var(--spacing-md) var(--spacing-lg) var(--spacing-sm);background-color:var(--tg-theme-secondary-bg-color)}.meal-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--tg-theme-section-separator-color);background-color:var(--tg-theme-bg-color)}.meal-item:last-child{border-bottom:none}.meal-info{flex:1}.meal-name{font-size:16px;font-weight:500;margin-bottom:4px;color:var(--tg-theme-text-color)}.meal-time{font-size:14px;color:var(--tg-theme-hint-color)}.meal-nutrients{display:flex;gap:var(--spacing-md)}.nutrient{text-align:center}.nutrient-value{font-size:16px;font-weight:500;display:block;color:var(--tg-theme-text-color)}.nutrient-label{font-size:12px;color:var(--tg-theme-hint-color)}.empty-state{text-align:center;padding:var(--spacing-lg);color:var(--tg-theme-hint-color)}.weekly-chart{background-color:var(--tg-theme-section-bg-color);border-radius:var(--radius-lg);padding:var(--spacing-md);margin-bottom:var(--spacing-md)}.chart-title{font-size:18px;font-weight:600;margin-bottom:var(--spacing-md);color:var(--tg-theme-text-color)}.chart-container{height:200px;position:relative}.average-card{background-color:var(--tg-theme-section-bg-color);border-radius:var(--radius-lg);padding:var(--spacing-md);margin-bottom:var(--spacing-md)}.average-card h3{font-size:18px;font-weight:600;margin-bottom:var(--spacing-md);color:var(--tg-theme-text-color)}.average-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}.stat{text-align:center;padding:var(--spacing-md);background-color:var(--tg-theme-secondary-bg-color);border-radius:var(--radius-md)}.stat-value{font-size:24px;font-weight:600;margin-bottom:4px;color:var(--tg-theme-text-color)}.stat-label{font-size:14px;color:var(--tg-theme-hint-color)}.upgrade-card{background-color:var(--tg-theme-section-bg-color);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-md);position:relative;overflow:hidden;text-align:center}.upgrade-card:before{content:"";position:absolute;inset:0;background:linear-gradient(45deg,var(--tg-theme-button-color),var(--tg-theme-accent-text-color));opacity:.1;z-index:0}.upgrade-card h3{font-size:24px;font-weight:600;margin-bottom:var(--spacing-md);color:var(--tg-theme-text-color);position:relative;z-index:1}.upgrade-card p{font-size:16px;color:var(--tg-theme-hint-color);margin-bottom:var(--spacing-lg);position:relative;z-index:1}.upgrade-button{display:inline-block;padding:var(--spacing-md) var(--spacing-lg);background-color:var(--tg-theme-button-color);color:var(--tg-theme-button-text-color);border-radius:var(--radius-md);font-size:16px;font-weight:500;text-decoration:none;transition:all var(--animation-base) var(--ease-out);position:relative;z-index:1}.upgrade-button:hover{opacity:.9}.upgrade-button:active{transform:scale(.98)}.pull-to-refresh{position:relative;height:60px;display:flex;align-items:center;justify-content:center;color:var(--tg-theme-hint-color);font-size:14px;transition:transform .3s ease}.pull-icon{width:24px;height:24px;margin-right:8px;transition:transform .3s ease}.pull-to-refresh.can-refresh .pull-icon{transform:rotate(180deg)}.pull-to-refresh.refreshing{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--tg-theme-secondary-bg-color)}::-webkit-scrollbar-thumb{background:var(--tg-theme-hint-color);border-radius:3px}@media (max-width: 480px){body{font-size:14px}.loading-container,.error-container{padding:var(--spacing-md)}}body.tg-fullscreen .food-diary-container,body.tg-fullscreen .profile-page,body.tg-fullscreen .subscription-promo,body.tg-fullscreen .subscription-manager,body.tg-fullscreen .debug-container,body.tg-fullscreen .meal-form-container,body.tg-fullscreen .add-weight-page,body.tg-fullscreen .achievements-page,body.tg-fullscreen .analytics-page,body.tg-fullscreen .referrals-page{padding-top:calc(52px + 16px + var(--safe-area-inset-top, 0px))!important}.food-diary-container,.profile-page,.profile-content,.subscription-promo,.subscription-manager,.onboarding-container,.debug-container,.meal-form-container,.add-weight-page,.achievements-page,.analytics-page,.referrals-page{padding:16px;padding-bottom:calc(16px + var(--safe-area-inset-bottom, 0px));padding-left:calc(16px + var(--safe-area-inset-left, 0px));padding-right:calc(16px + var(--safe-area-inset-right, 0px))}.profile-content{padding:0}.fixed-bottom{bottom:var(--safe-area-inset-bottom, 0px);padding-bottom:var(--safe-area-inset-bottom, 0px)}.fixed-top{top:var(--safe-area-inset-top, 0px);padding-top:var(--safe-area-inset-top, 0px)}body.tg-fullscreen .tabs{top:var(--safe-area-inset-top)}body:not(.tg-fullscreen) .tabs{top:max(20px,var(--safe-area-inset-top))}.page-container{min-height:100vh;padding-top:var(--safe-area-inset-top, 0px);padding-bottom:var(--safe-area-inset-bottom, 0px);padding-left:var(--safe-area-inset-left, 0px);padding-right:var(--safe-area-inset-right, 0px)}@media (min-width: 600px){body{background-color:#1a1a1a}.app-container{box-shadow:0 0 20px #0000004d}}.fullscreen-spinner{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:9999}:root{--font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", Helvetica, Arial, sans-serif;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-xxl: 48px;--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 9999px;--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .05), 0 2px 4px -1px rgba(0, 0, 0, .03);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .05), 0 4px 6px -2px rgba(0, 0, 0, .02);--animation-fast: .15s;--animation-base: .25s;--animation-slow: .35s;--ease-out: cubic-bezier(.33, 1, .68, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{margin:0;font-family:var(--font-family);font-size:16px;line-height:1.5;color:var(--tg-theme-text-color);background-color:var(--tg-theme-bg-color);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;height:100%}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600;line-height:1.2}h1{font-size:34px;letter-spacing:-.02em}h2{font-size:28px;letter-spacing:-.02em}h3{font-size:22px;letter-spacing:-.01em}h4{font-size:18px}p{margin:0}button{font-family:inherit;font-size:16px;font-weight:500;border:none;background:none;cursor:pointer;outline:none;-webkit-user-select:none;user-select:none;transition:all var(--animation-fast) var(--ease-out)}button:active{transform:scale(.97)}a{color:var(--tg-theme-link-color);text-decoration:none}::-webkit-scrollbar{width:0;height:0}html{height:100%;overflow-x:hidden}#root{min-height:100vh;overflow-x:hidden}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--tg-theme-secondary-bg-color) 25%,var(--tg-theme-bg-color) 50%,var(--tg-theme-secondary-bg-color) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.haptic-light{transition:transform var(--animation-fast) var(--ease-out)}.haptic-light:active{transform:scale(.98)}blockquote{margin:0}blockquote p{padding:15px;background:#eee;border-radius:5px}pre{overflow:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(100%)}}.safe-area-top{padding-top:env(safe-area-inset-top)}.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom)}.safe-area-left{padding-left:env(safe-area-inset-left)}.safe-area-right{padding-right:env(safe-area-inset-right)}
