:root{--tg-theme-bg-color: #ffffff;--tg-theme-text-color: #000000;--tg-theme-hint-color: #999999;--tg-theme-link-color: #2481cc;--tg-theme-button-color: #2481cc;--tg-theme-button-text-color: #ffffff;--tg-theme-secondary-bg-color: #f0f0f0;--tg-theme-section-bg-color: #ffffff;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--shadow-card: 0 1px 3px rgba(0, 0, 0, .08);--transition: .2s ease;--color-protein: #4CAF50;--color-fats: #FF9800;--color-carbs: #2196F3;--color-calories: #E91E63;--gap-xs: 4px;--gap-sm: 8px;--gap-md: 12px;--gap-lg: 16px;--gap-xl: 20px}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--tg-theme-secondary-bg-color);color:var(--tg-theme-text-color);-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--tg-theme-hint-color);border-radius:2px}.card{background:var(--tg-theme-section-bg-color, var(--tg-theme-bg-color));border-radius:var(--radius-lg);padding:var(--gap-lg);box-shadow:var(--shadow-card)}.page{padding:var(--gap-lg);padding-bottom:calc(var(--gap-xl) + env(safe-area-inset-bottom,0px));max-width:480px;margin:0 auto}.section-title{font-size:13px;font-weight:600;color:var(--tg-theme-hint-color);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--gap-sm);padding-left:var(--gap-xs)}.calorie-ring{display:flex;flex-direction:column;align-items:center;padding:var(--gap-lg) 0}.calorie-ring__svg{transform:rotate(-90deg)}.calorie-ring__center{text-align:center;margin-top:var(--gap-sm)}.calorie-ring__value{font-size:28px;font-weight:700}.calorie-ring__label{font-size:13px;color:var(--tg-theme-hint-color)}.macro-cards{display:flex;gap:var(--gap-sm)}.macro-card{flex:1;background:var(--tg-theme-section-bg-color, var(--tg-theme-bg-color));border-radius:var(--radius-md);padding:var(--gap-md);text-align:center;box-shadow:var(--shadow-card)}.macro-card__label{font-size:11px;color:var(--tg-theme-hint-color);margin-bottom:var(--gap-xs)}.macro-card__value{font-size:18px;font-weight:700}.macro-card__bar{height:4px;border-radius:2px;background:var(--tg-theme-secondary-bg-color);margin-top:var(--gap-sm);overflow:hidden}.macro-card__bar-fill{height:100%;border-radius:2px;transition:width var(--transition)}.week-calendar{display:flex;gap:var(--gap-xs);justify-content:space-between;margin-bottom:var(--gap-lg)}.week-calendar__day{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--gap-sm) 0;border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition);border:none;background:transparent;color:var(--tg-theme-text-color)}.week-calendar__day:hover{background:var(--tg-theme-secondary-bg-color)}.week-calendar__day--active{background:var(--tg-theme-button-color)!important;color:var(--tg-theme-button-text-color)!important}.week-calendar__day--today{position:relative}.week-calendar__day--today:after{content:"";width:4px;height:4px;border-radius:50%;background:var(--tg-theme-button-color);position:absolute;bottom:4px}.week-calendar__day--active.week-calendar__day--today:after{background:var(--tg-theme-button-text-color)}.week-calendar__day-name{font-size:11px;font-weight:500}.week-calendar__day-num{font-size:15px;font-weight:600}.meal-category{margin-bottom:var(--gap-lg)}.meal-category__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--gap-sm)}.meal-category__name{font-size:15px;font-weight:600}.meal-category__kcal{font-size:13px;color:var(--tg-theme-hint-color)}.meal-card{display:flex;align-items:center;gap:var(--gap-md);padding:var(--gap-md);background:var(--tg-theme-section-bg-color, var(--tg-theme-bg-color));border-radius:var(--radius-md);box-shadow:var(--shadow-card);margin-bottom:var(--gap-sm);cursor:pointer;transition:opacity var(--transition)}.meal-card:active{opacity:.7}.meal-card__photo{width:48px;height:48px;border-radius:var(--radius-sm);object-fit:cover;background:var(--tg-theme-secondary-bg-color);flex-shrink:0}.meal-card__photo--placeholder{display:flex;align-items:center;justify-content:center;font-size:20px;width:48px;height:48px;border-radius:var(--radius-sm);background:var(--tg-theme-secondary-bg-color);flex-shrink:0}.meal-card__info{flex:1;min-width:0}.meal-card__name{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meal-card__macros{font-size:12px;color:var(--tg-theme-hint-color);margin-top:2px}.meal-card__kcal{font-size:14px;font-weight:600;color:var(--color-calories);white-space:nowrap}.trial-countdown{display:flex;align-items:center;gap:var(--gap-sm);padding:var(--gap-md) var(--gap-lg);background:linear-gradient(135deg,var(--tg-theme-button-color),#6b5ce7);color:var(--tg-theme-button-text-color);border-radius:var(--radius-lg);font-size:14px;font-weight:500}.trial-countdown__icon{font-size:20px}.analysis-page__photo{width:100%;max-height:300px;object-fit:cover;border-radius:var(--radius-lg);margin-bottom:var(--gap-lg)}.analysis-page__macros{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--gap-sm);margin-bottom:var(--gap-lg)}.analysis-page__macro-item{background:var(--tg-theme-section-bg-color, var(--tg-theme-bg-color));border-radius:var(--radius-md);padding:var(--gap-md);text-align:center;box-shadow:var(--shadow-card)}.analysis-page__macro-label{font-size:11px;color:var(--tg-theme-hint-color)}.analysis-page__macro-value{font-size:20px;font-weight:700;margin-top:var(--gap-xs)}.analysis-page__text{font-size:14px;line-height:1.6;white-space:pre-wrap}.loading-screen{display:flex;align-items:center;justify-content:center;height:100%;font-size:16px;color:var(--tg-theme-hint-color)}.error-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:var(--gap-md);padding:var(--gap-xl);text-align:center}.error-screen__title{font-size:16px;font-weight:600}.error-screen__btn{padding:var(--gap-sm) var(--gap-lg);background:var(--tg-theme-button-color);color:var(--tg-theme-button-text-color);border:none;border-radius:var(--radius-md);font-size:14px;cursor:pointer}.back-btn{display:flex;align-items:center;gap:var(--gap-xs);padding:var(--gap-sm) 0;background:none;border:none;color:var(--tg-theme-link-color);font-size:14px;cursor:pointer;margin-bottom:var(--gap-md)}
