.workout-card{background:var(--tg-theme-bg-color);border:1px solid var(--tg-theme-section-separator-color);border-radius:var(--radius-md);padding:16px;cursor:pointer;transition:transform .1s ease,background .15s ease;outline:none}.workout-card:active{transform:scale(.98);background:var(--tg-theme-secondary-bg-color)}.workout-card:focus-visible{box-shadow:0 0 0 2px var(--tg-theme-button-color)}.workout-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:8px}.workout-card-header h3{margin:0;font-size:16px;font-weight:600;color:var(--tg-theme-text-color)}.workout-card-count{font-size:12px;color:var(--tg-theme-hint-color);background:var(--tg-theme-secondary-bg-color);padding:4px 10px;border-radius:var(--radius-sm);white-space:nowrap;flex-shrink:0}.workout-card-summary{font-size:14px;color:var(--tg-theme-hint-color);margin:0 0 12px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.workout-card-exercises{display:flex;flex-direction:column;gap:8px}.workout-running-row{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.workout-running-row>div{display:flex;min-width:0;flex-direction:column;gap:3px;padding:10px 8px;border-radius:10px;background:var(--tg-theme-secondary-bg-color);text-align:center}.workout-running-row strong{overflow:hidden;color:var(--tg-theme-text-color);font-size:15px;text-overflow:ellipsis;white-space:nowrap}.workout-running-row span{color:var(--tg-theme-hint-color);font-size:9px}.exercise-item{display:flex;justify-content:space-between;align-items:center;font-size:14px;padding:10px 12px;background:var(--tg-theme-secondary-bg-color);border-radius:var(--radius-sm);gap:12px}.exercise-name{font-weight:500;color:var(--tg-theme-text-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exercise-details{font-size:13px;color:var(--tg-theme-hint-color);flex-shrink:0;font-variant-numeric:tabular-nums}.exercise-item-more{text-align:center;font-size:13px;color:var(--tg-theme-hint-color);padding:6px}.workout-card-footer{margin-top:12px;display:flex;justify-content:flex-end}.intensity-badge{font-size:11px;font-weight:600;padding:4px 10px;border-radius:12px;text-transform:uppercase;letter-spacing:.3px}.intensity-low{background:#34c75926;color:var(--success)}.intensity-medium{background:#ff950026;color:var(--warning)}.intensity-high{background:#ff3b3026;color:var(--danger)}.skeleton{display:block;background:linear-gradient(90deg,var(--tg-theme-secondary-bg-color, #f0f0f0) 25%,rgba(0,0,0,.06) 37%,var(--tg-theme-secondary-bg-color, #f0f0f0) 63%);background-size:400% 100%;animation:skeleton-shimmer 1.4s ease infinite}@keyframes skeleton-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.skeleton-card{background:var(--tg-theme-bg-color, #fff);border:1px solid var(--tg-theme-section-separator-color, #e5e5ea);border-radius:12px;padding:16px;margin-bottom:12px}.skeleton-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:12px}.skeleton-rows{display:flex;flex-direction:column;gap:8px;margin-top:12px}.state-block{text-align:center;padding:40px 20px;background:var(--tg-theme-secondary-bg-color, #f8f8f8);border-radius:12px;display:flex;flex-direction:column;align-items:center;gap:8px}.state-icon{font-size:40px;line-height:1}.state-title{margin:4px 0 0;font-size:15px;font-weight:600;color:var(--tg-theme-text-color, #000)}.state-hint{margin:0;font-size:13px;color:var(--tg-theme-hint-color, #666);max-width:280px;line-height:1.4}.state-action{margin-top:12px;padding:10px 20px;border:none;border-radius:10px;background:var(--tg-theme-button-color, #3390ec);color:var(--tg-theme-button-text-color, #fff);font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;-webkit-tap-highlight-color:transparent}.state-action:active{transform:scale(.97);opacity:.9}.error-state{background:#ff3b3014}.loading-state{background:transparent}.state-spinner{width:28px;height:28px;border:3px solid var(--tg-theme-section-separator-color, #e5e5ea);border-top-color:var(--tg-theme-button-color, #3390ec);border-radius:50%;animation:state-spin .8s linear infinite}@keyframes state-spin{to{transform:rotate(360deg)}}.dashboard{padding:22px 18px;max-width:600px;margin:0 auto}.dashboard-header{margin-bottom:24px}.dashboard-header h1{margin:0;font-size:31px;font-weight:780;letter-spacing:-.04em;color:var(--tg-theme-text-color)}.dashboard-eyebrow{margin:0 0 5px;color:var(--tg-theme-accent-text-color, #705bff);font-size:11px;font-weight:800;letter-spacing:.14em}.dashboard-greeting{max-width:420px;margin:7px 0 0;font-size:14px;line-height:1.45;color:var(--tg-theme-hint-color)}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}.stat-card{border:1px solid var(--tg-theme-section-separator-color, #e8e8ef);background:var(--tg-theme-section-bg-color, #fff);border-radius:17px;padding:17px 10px;text-align:center;box-shadow:0 8px 26px #1d1f380d}.stat-card-accent{background:var(--tg-theme-button-color)}.stat-card-accent .stat-value,.stat-card-accent .stat-label{color:var(--tg-theme-button-text-color)}.stat-value{font-size:28px;font-weight:700;color:var(--tg-theme-button-color);margin-bottom:4px;line-height:1}.stat-label{font-size:12px;color:var(--tg-theme-hint-color);line-height:1.3}.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px}.action-button{padding:14px 12px;border:none;border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:transform .1s ease,opacity .15s ease}.action-button.upload-button{grid-column:1 / -1;background:linear-gradient(135deg,var(--tg-theme-button-color),#6c5ce7);color:var(--tg-theme-button-text-color);min-height:76px;display:flex;align-items:center;gap:12px;padding:14px;text-align:left;box-shadow:0 12px 30px color-mix(in srgb,var(--tg-theme-button-color) 25%,transparent)}.action-icon{display:grid;place-items:center;flex:0 0 44px;height:44px;border-radius:14px;background:#ffffff2b;font-size:25px;font-weight:300}.action-copy{display:flex;flex:1;flex-direction:column;gap:3px}.action-copy strong{font-size:15px}.action-copy small{opacity:.75;font-size:11px;font-weight:500}.action-arrow{padding-right:3px;font-size:22px}.action-button.primary{background:var(--tg-theme-button-color);color:var(--tg-theme-button-text-color)}.action-button.secondary{background:var(--tg-theme-secondary-bg-color);color:var(--tg-theme-text-color)}.action-button:active{transform:scale(.98)}.recent-workouts{margin-bottom:16px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header h2{font-size:18px;font-weight:600;color:var(--tg-theme-text-color);margin:0}.view-all-button{background:none;border:none;color:var(--tg-theme-button-color);font-size:15px;font-weight:600;cursor:pointer;padding:6px 8px}.dashboard-footer-hint{text-align:center;font-size:13px;color:var(--tg-theme-hint-color);margin:8px 0 0}.react-calendar{width:350px;max-width:100%;background:#fff;border:1px solid #a0a096;font-family:Arial,Helvetica,sans-serif;line-height:1.125em}.react-calendar--doubleView{width:700px}.react-calendar--doubleView .react-calendar__viewContainer{display:flex;margin:-.5em}.react-calendar--doubleView .react-calendar__viewContainer>*{width:50%;margin:.5em}.react-calendar,.react-calendar *,.react-calendar *:before,.react-calendar *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.react-calendar button{margin:0;border:0;outline:none}.react-calendar button:enabled:hover{cursor:pointer}.react-calendar__navigation{display:flex;height:44px;margin-bottom:1em}.react-calendar__navigation button{min-width:44px;background:none}.react-calendar__navigation button:disabled{background-color:#f0f0f0}.react-calendar__navigation button:enabled:hover,.react-calendar__navigation button:enabled:focus{background-color:#e6e6e6}.react-calendar__month-view__weekdays{text-align:center;text-transform:uppercase;font:inherit;font-size:.75em;font-weight:700}.react-calendar__month-view__weekdays__weekday{padding:.5em}.react-calendar__month-view__weekNumbers .react-calendar__tile{display:flex;align-items:center;justify-content:center;font:inherit;font-size:.75em;font-weight:700}.react-calendar__month-view__days__day--weekend{color:#d10000}.react-calendar__month-view__days__day--neighboringMonth,.react-calendar__decade-view__years__year--neighboringDecade,.react-calendar__century-view__decades__decade--neighboringCentury{color:#757575}.react-calendar__year-view .react-calendar__tile,.react-calendar__decade-view .react-calendar__tile,.react-calendar__century-view .react-calendar__tile{padding:2em .5em}.react-calendar__tile{max-width:100%;padding:10px 6.6667px;background:none;text-align:center;line-height:16px;font:inherit;font-size:.833em}.react-calendar__tile:disabled{background-color:#f0f0f0;color:#ababab}.react-calendar__month-view__days__day--neighboringMonth:disabled,.react-calendar__decade-view__years__year--neighboringDecade:disabled,.react-calendar__century-view__decades__decade--neighboringCentury:disabled{color:#cdcdcd}.react-calendar__tile:enabled:hover,.react-calendar__tile:enabled:focus{background-color:#e6e6e6}.react-calendar__tile--now{background:#ffff76}.react-calendar__tile--now:enabled:hover,.react-calendar__tile--now:enabled:focus{background:#ffffa9}.react-calendar__tile--hasActive{background:#76baff}.react-calendar__tile--hasActive:enabled:hover,.react-calendar__tile--hasActive:enabled:focus{background:#a9d4ff}.react-calendar__tile--active{background:#006edc;color:#fff}.react-calendar__tile--active:enabled:hover,.react-calendar__tile--active:enabled:focus{background:#1087ff}.react-calendar--selectRange .react-calendar__tile--hover{background-color:#e6e6e6}.calendar-view{padding:12px;background:var(--tg-theme-bg-color);border-radius:var(--radius-md);border:1px solid var(--tg-theme-section-separator-color)}.react-calendar{width:100%;border:none;font-family:inherit;background:transparent}.react-calendar__tile{position:relative;padding:10px 6px;background:var(--tg-theme-secondary-bg-color);border-radius:var(--radius-sm);margin:2px;color:var(--tg-theme-text-color);font-size:14px;transition:transform .1s ease}.react-calendar__tile:enabled:hover,.react-calendar__tile:enabled:focus{background:var(--tg-theme-button-color);color:var(--tg-theme-button-text-color)}.react-calendar__tile--active{background:var(--tg-theme-button-color)!important;color:var(--tg-theme-button-text-color)!important;font-weight:600}.react-calendar__tile.is-today{border:2px solid var(--tg-theme-button-color);font-weight:600}.react-calendar__tile--now{background:var(--tg-theme-secondary-bg-color)}.react-calendar__month-view__days__day--weekend{color:var(--tg-theme-destructive-text-color)}.react-calendar__navigation{margin-bottom:8px;display:flex;align-items:center}.react-calendar__navigation button{background:var(--tg-theme-secondary-bg-color);color:var(--tg-theme-text-color);border:none;border-radius:var(--radius-sm);padding:8px 12px;font-size:16px;font-weight:600;margin:2px;min-width:36px;font-family:inherit}.react-calendar__navigation__label{font-size:15px}.react-calendar__navigation button:enabled:hover,.react-calendar__navigation button:enabled:focus{background:var(--tg-theme-button-color);color:var(--tg-theme-button-text-color)}.calendar-tile-markers{display:flex;justify-content:center;align-items:center;margin-top:3px;min-height:14px}.marker{width:6px;height:6px;border-radius:50%;line-height:1}.workout-marker{background:var(--success)}.plan-marker{background:var(--tg-theme-button-color)}.react-calendar__month-view__days__day.has-workout{background:#34c7591f}.react-calendar__month-view__days__day.has-plan{background:#3390ec1f}.react-calendar__month-view__weekdays{text-transform:uppercase;font-weight:600;font-size:12px;color:var(--tg-theme-hint-color)}.react-calendar__month-view__weekdays__weekday{padding:8px 4px;text-align:center}abbr[title]{text-decoration:none}.calendar-legend{display:flex;justify-content:center;gap:20px;margin-top:14px;padding-top:12px;border-top:1px solid var(--tg-theme-section-separator-color)}.legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--tg-theme-hint-color)}.legend-dot{width:8px;height:8px;border-radius:50%}.legend-workout{background:var(--success)}.legend-plan{background:var(--tg-theme-button-color)}.calendar-page{padding:16px;max-width:600px;margin:0 auto}.calendar-header{margin-bottom:16px}.calendar-header h1{margin:0;font-size:24px;font-weight:700;color:var(--tg-theme-text-color)}.selected-day-info{margin-top:20px;background:var(--tg-theme-bg-color);border:1px solid var(--tg-theme-section-separator-color);border-radius:var(--radius-md);padding:16px}.selected-day-info h3{margin:0 0 16px;font-size:18px;font-weight:600;color:var(--tg-theme-text-color)}.day-section{padding:14px;border-radius:var(--radius-md);border-left:4px solid transparent}.workout-section{background:#34c75914;border-left-color:var(--success)}.plan-section{background:#3390ec14;border-left-color:var(--tg-theme-button-color)}.empty-section{background:var(--tg-theme-secondary-bg-color);text-align:center}.muted-section{border-left-color:var(--tg-theme-section-separator-color)}.day-section h4{margin:0 0 12px;font-size:15px;font-weight:600;color:var(--tg-theme-text-color)}.exercises-summary{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.exercise-row{display:flex;justify-content:space-between;align-items:center;font-size:14px;padding:8px 10px;background:#ffffff8c;border-radius:var(--radius-sm);gap:12px}.ex-name{font-weight:500;color:var(--tg-theme-text-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ex-meta{font-size:13px;color:var(--tg-theme-hint-color);flex-shrink:0;font-variant-numeric:tabular-nums}.more-exercises{text-align:center;font-size:13px;color:var(--tg-theme-hint-color);padding:4px}.focus-text{margin:0 0 12px;font-size:14px;color:var(--tg-theme-text-color)}.plan-notes{margin:8px 0 0;font-size:13px;color:var(--tg-theme-hint-color);line-height:1.4}.empty-section p{margin:0 0 12px;color:var(--tg-theme-hint-color)}.view-details-btn,.generate-btn{width:100%;padding:11px 16px;border:none;border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;font-family:inherit}.view-details-btn{background:var(--tg-theme-button-color);color:var(--tg-theme-button-text-color)}.generate-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.generate-btn:disabled{opacity:.6;cursor:not-allowed}.view-details-btn:active,.generate-btn:active:not(:disabled){transform:scale(.98)}.error-inline{margin:12px 0 0;font-size:13px;color:var(--danger)}.ai-feedback{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:var(--radius-md);padding:16px;color:#fff}.ai-feedback-muted{background:var(--tg-theme-secondary-bg-color);color:var(--tg-theme-hint-color)}.ai-feedback-header{margin-bottom:12px}.ai-feedback-header h3{margin:0;font-size:16px;font-weight:600;display:flex;align-items:center;gap:8px}.ai-feedback-content{display:flex;flex-direction:column;gap:12px}.feedback-text{margin:0;font-size:14px;line-height:1.5;opacity:.95;white-space:pre-wrap}.progress-indicator{display:flex;align-items:center;gap:8px;background:#ffffff1f;padding:10px 12px;border-radius:var(--radius-sm)}.progress-label{font-size:13px;font-weight:600;opacity:.85}.progress-value{font-size:14px;font-weight:600}.recommendations{background:#ffffff1f;border-radius:var(--radius-sm);padding:12px}.recommendations h4{margin:0 0 8px;font-size:14px;font-weight:600;display:flex;align-items:center;gap:6px}.recommendations ul{margin:0;padding-left:20px;list-style:none}.recommendations li{position:relative;font-size:13px;line-height:1.5;margin-bottom:6px;padding-left:4px}.recommendations li:before{content:"→";position:absolute;left:-16px;font-weight:700}.recommendations li:last-child{margin-bottom:0}.ai-assistant{padding:16px;max-width:600px;margin:0 auto}.ai-assistant-header{margin-bottom:20px}.ai-assistant-header h1{margin:0;font-size:24px;font-weight:700;color:var(--tg-theme-text-color)}.ai-intro{margin-bottom:24px}.intro-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:var(--radius-lg);padding:24px}.intro-card h2{margin:0 0 12px;font-size:20px;font-weight:700}.intro-card p{margin:0;font-size:15px;line-height:1.5;opacity:.95}.feedback-section{margin-bottom:32px}.feedback-section h2,.ai-features h2{font-size:18px;font-weight:600;color:var(--tg-theme-text-color);margin:0 0 16px}.feedback-list{display:flex;flex-direction:column;gap:16px}.feedback-item{background:var(--tg-theme-bg-color);border:1px solid var(--tg-theme-section-separator-color);border-radius:var(--radius-md);padding:12px}.feedback-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:8px}.feedback-date{font-size:13px;color:var(--tg-theme-hint-color)}.feedback-type{font-size:11px;font-weight:600;padding:4px 8px;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.3px;flex-shrink:0}.feedback-type.workout_analysis{background:#3390ec1f;color:var(--tg-theme-button-color)}.feedback-type.general{background:#7b1fa21f;color:#7b1fa2}.ai-features{margin-bottom:24px}.features-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.feature-card{background:var(--tg-theme-secondary-bg-color);border-radius:var(--radius-md);padding:16px;text-align:center}.feature-icon{font-size:32px;margin-bottom:8px}.feature-card h3{margin:0 0 8px;font-size:14px;font-weight:600;color:var(--tg-theme-text-color)}.feature-card p{margin:0;font-size:12px;line-height:1.4;color:var(--tg-theme-hint-color)}.data-privacy{display:flex;flex-direction:column;gap:10px;margin:20px 0;padding:17px;border:1px solid var(--tg-theme-section-separator-color);border-radius:18px;background:var(--tg-theme-section-bg-color)}.data-privacy p{margin:0 0 5px;color:var(--tg-theme-accent-text-color);font-size:10px;font-weight:800;letter-spacing:.1em}.data-privacy h2{margin:0 0 6px;font-size:17px}.data-privacy span{color:var(--tg-theme-hint-color);font-size:12px;line-height:1.45}.data-privacy button{padding:12px;border:0;border-radius:12px;background:var(--tg-theme-secondary-bg-color);color:var(--tg-theme-button-color);font-size:12px;font-weight:700}.data-privacy button.danger{background:#ff3b3017;color:var(--tg-theme-destructive-text-color)}.workouts-list-page{padding:16px;max-width:600px;margin:0 auto}.page-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.page-header h1{margin:0;font-size:22px;font-weight:700;color:var(--tg-theme-text-color)}.filter-toggle{margin-left:auto;padding:8px 10px;border:0;border-radius:10px;background:var(--tg-theme-secondary-bg-color);color:var(--tg-theme-hint-color);font-size:12px;font-weight:700}.filter-toggle.active{background:color-mix(in srgb,var(--tg-theme-button-color) 12%,transparent);color:var(--tg-theme-button-color)}.workout-filters{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:-6px 0 16px;padding:13px;border:1px solid var(--tg-theme-section-separator-color);border-radius:16px;background:var(--tg-theme-section-bg-color)}.workout-filters label{display:flex;flex-direction:column;gap:5px}.workout-filters label>span{color:var(--tg-theme-hint-color);font-size:10px;font-weight:700}.workout-filters select{min-width:0;width:100%;padding:9px;border:1px solid var(--tg-theme-section-separator-color);border-radius:10px;background:var(--tg-theme-bg-color);color:var(--tg-theme-text-color);font:inherit;font-size:12px}.workout-filters>button{grid-column:1 / -1;padding:8px;border:0;background:transparent;color:var(--tg-theme-button-color);font-size:11px;font-weight:700}.back-button{background:var(--tg-theme-secondary-bg-color);border:none;border-radius:var(--radius-sm);width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600;color:var(--tg-theme-button-color);cursor:pointer;flex-shrink:0}.back-button:active{transform:scale(.95)}.list-count{margin:0 0 12px;font-size:13px;color:var(--tg-theme-hint-color)}.workouts-list{display:flex;flex-direction:column;gap:12px}.load-more-button{display:block;width:100%;margin-top:16px;padding:12px;border:none;border-radius:var(--radius-md);background:var(--tg-theme-secondary-bg-color);color:var(--tg-theme-button-color);font-size:14px;font-weight:600;cursor:pointer;font-family:inherit}.load-more-button:active{transform:scale(.98)}.load-more-button:disabled{opacity:.6}.workout-detail-page{padding:16px;max-width:600px;margin:0 auto}.detail-section{margin-bottom:24px}.section-title{margin:0 0 12px;font-size:17px;font-weight:600;color:var(--tg-theme-text-color)}.section-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.section-title-row .section-title{margin:0}.section-text{margin:0;font-size:15px;line-height:1.5;color:var(--tg-theme-text-color)}.section-text.muted{color:var(--tg-theme-hint-color)}.detail-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.chip{font-size:13px;font-weight:500;padding:6px 12px;background:var(--tg-theme-secondary-bg-color);border-radius:14px;color:var(--tg-theme-text-color)}.exercises-full-list{display:flex;flex-direction:column;gap:10px}.exercise-full-card{background:var(--tg-theme-secondary-bg-color);border-radius:var(--radius-md);padding:14px}.exercise-full-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.exercise-full-index{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--tg-theme-button-color);color:var(--tg-theme-button-text-color);font-size:12px;font-weight:700;flex-shrink:0}.exercise-full-name{font-size:15px;font-weight:600;color:var(--tg-theme-text-color)}.exercise-full-meta{display:flex;flex-wrap:wrap;gap:8px}.meta-pill{font-size:13px;padding:4px 10px;background:var(--tg-theme-bg-color);border-radius:var(--radius-sm);color:var(--tg-theme-hint-color)}.exercise-full-notes{margin:8px 0 0;font-size:13px;color:var(--tg-theme-hint-color);line-height:1.4}.generate-feedback-btn{padding:8px 14px;border:none;border-radius:var(--radius-sm);background:var(--tg-theme-button-color);color:var(--tg-theme-button-text-color);font-size:13px;font-weight:600;cursor:pointer;font-family:inherit}.generate-feedback-btn:active{transform:scale(.97)}.generate-feedback-btn:disabled{opacity:.6}.screenshot-preview{width:100%;border-radius:var(--radius-md);border:1px solid var(--tg-theme-section-separator-color)}.running-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}.running-stat-card{background:var(--tg-theme-secondary-bg-color);border-radius:var(--radius-md);padding:12px 8px;text-align:center}.running-stat-value{font-size:18px;font-weight:700;color:var(--tg-theme-button-color);margin-bottom:4px;line-height:1.2}.running-stat-label{font-size:11px;color:var(--tg-theme-hint-color);line-height:1.3}.subsection-title{margin:16px 0 10px;font-size:15px;font-weight:600;color:var(--tg-theme-text-color)}.balance-section{margin-top:16px}.balance-bar{display:flex;height:32px;border-radius:var(--radius-sm);overflow:hidden;font-size:12px;font-weight:600}.balance-left{background:#3390ec33;color:var(--tg-theme-button-color);display:flex;align-items:center;justify-content:center}.balance-right{background:#34c75933;color:var(--success);display:flex;align-items:center;justify-content:center}.zones-section{margin-top:16px}.zones-list{display:flex;flex-direction:column;gap:6px}.zone-row{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--tg-theme-secondary-bg-color);border-radius:var(--radius-sm);font-size:14px}.zone-name{color:var(--tg-theme-text-color);font-weight:500}.zone-value{color:var(--tg-theme-hint-color);font-variant-numeric:tabular-nums}.recovery-section{margin-top:16px}.delete-workout-button{width:100%;margin:4px 0 24px;padding:13px;border:0;border-radius:13px;background:#ff3b3017;color:var(--tg-theme-destructive-text-color, #ff3b30);font-size:12px;font-weight:700}.delete-workout-button:disabled{opacity:.55}.image-upload{width:min(100%,520px);margin:0 auto;padding:22px 18px 34px}.image-upload-input{display:none}.upload-select,.upload-preview,.upload-analyzing,.upload-error,.review-workout{display:flex;flex-direction:column;gap:20px}.review-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.review-header h2{margin:0;color:var(--tg-theme-text-color, #161827);font-size:28px;letter-spacing:-.035em}.parts-badge{flex:0 0 auto;padding:7px 9px;border-radius:10px;background:var(--tg-theme-secondary-bg-color, #f2f2f6);color:var(--tg-theme-hint-color, #73788c);font-size:11px;font-weight:700}.validation-box{padding:14px 15px;border:1px solid rgba(255,149,0,.26);border-radius:16px;background:#ff950017;color:#8c5500}.validation-box strong{display:block;margin-bottom:6px;font-size:13px}.validation-box p{margin:4px 0 0;font-size:12px;line-height:1.4}.review-inline-error{margin:0;padding:12px;border-radius:12px;background:#ff3b301a;color:var(--tg-theme-destructive-text-color, #ff3b30);font-size:13px}.review-section{display:flex;flex-direction:column;gap:10px}.review-section h3{margin:0;color:var(--tg-theme-text-color, #161827);font-size:15px}.review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.review-field{display:flex;min-width:0;flex-direction:column;gap:6px;padding:11px 12px;border:1px solid var(--tg-theme-section-separator-color, #e8e8ef);border-radius:14px;background:var(--tg-theme-section-bg-color, #fff)}.review-field>span{color:var(--tg-theme-hint-color, #73788c);font-size:11px;font-weight:650}.review-field>div{display:flex;align-items:baseline;gap:4px}.review-field input{min-width:0;width:100%;padding:0;border:0;outline:0;background:transparent;color:var(--tg-theme-text-color, #161827);font:inherit;font-size:16px;font-weight:750}.review-field small{flex:0 0 auto;color:var(--tg-theme-hint-color, #73788c);font-size:10px}.review-field.has-warning{border-color:#ff95008c}.review-field.has-error{border-color:#ff3b309e;background:#ff3b3008}.accept-warning{display:flex;align-items:flex-start;gap:10px;padding:12px;border-radius:14px;background:#ff950017;color:var(--tg-theme-text-color, #161827);font-size:12px;line-height:1.4}.accept-warning input{width:18px;height:18px;margin:0;accent-color:var(--tg-theme-button-color, #705bff)}.upload-btn:disabled{cursor:not-allowed;opacity:.5;box-shadow:none}.upload-badge{display:inline-flex;align-items:center;align-self:flex-start;gap:8px;padding:7px 10px;border:1px solid color-mix(in srgb,var(--tg-theme-button-color, #705bff) 22%,transparent);border-radius:999px;background:color-mix(in srgb,var(--tg-theme-button-color, #705bff) 8%,transparent);color:var(--tg-theme-accent-text-color, #705bff);font-size:12px;font-weight:700}.upload-badge span{width:7px;height:7px;border-radius:50%;background:#35c978;box-shadow:0 0 0 4px #35c97821}.upload-title-block h2,.preview-heading h2,.upload-error h2{margin:0;color:var(--tg-theme-text-color, #161827);font-size:clamp(25px,7vw,32px);line-height:1.08;letter-spacing:-.035em}.upload-title-block p{max-width:390px;margin:9px 0 0;color:var(--tg-theme-hint-color, #73788c);font-size:15px;line-height:1.5}.upload-dropzone{min-height:224px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;width:100%;padding:26px;border:1.5px dashed color-mix(in srgb,var(--tg-theme-button-color, #705bff) 45%,transparent);border-radius:24px;background:linear-gradient(145deg,color-mix(in srgb,var(--tg-theme-button-color, #705bff) 7%,transparent),transparent),var(--tg-theme-section-bg-color, #fff);color:var(--tg-theme-text-color, #161827);box-shadow:0 14px 45px #25244814;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.upload-dropzone:active,.upload-dropzone.is-dragging{transform:scale(.985);border-color:var(--tg-theme-button-color, #705bff);box-shadow:0 10px 32px #5340d029}.dropzone-icon{display:grid;place-items:center;width:58px;height:58px;margin-bottom:4px;border-radius:18px;background:var(--tg-theme-button-color, #705bff);color:var(--tg-theme-button-text-color, #fff);box-shadow:0 10px 25px color-mix(in srgb,var(--tg-theme-button-color, #705bff) 30%,transparent)}.dropzone-icon svg{width:26px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.upload-dropzone strong{font-size:17px}.upload-dropzone>span:last-child{color:var(--tg-theme-hint-color, #73788c);font-size:13px}.upload-feature-list{display:grid;gap:4px}.upload-feature-list>div,.analysis-steps>div{display:flex;align-items:center;gap:12px;padding:11px 8px}.feature-check,.analysis-steps>div>span{display:grid;place-items:center;flex:0 0 28px;height:28px;border-radius:50%;background:#35c97821;color:#1e9c5b;font-size:13px;font-weight:800}.upload-feature-list p,.analysis-steps p{display:flex;flex-direction:column;gap:2px;margin:0;font-size:14px}.upload-feature-list small,.analysis-steps small{color:var(--tg-theme-hint-color, #73788c);font-size:12px;font-weight:400}.preview-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.preview-kicker{display:block;margin-bottom:5px;color:#1e9c5b;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.text-button{padding:8px 0;border:0;background:transparent;color:var(--tg-theme-link-color, #705bff);font-size:14px;font-weight:700;cursor:pointer}.preview-card{overflow:hidden;border:1px solid var(--tg-theme-section-separator-color, #e9e9ef);border-radius:22px;background:var(--tg-theme-section-bg-color, #fff);box-shadow:0 14px 45px #25244814}.preview-viewport{position:relative;height:295px;min-height:295px;overflow:hidden;padding:14px 14px 0;background:#15161a}.preview-image{position:absolute;top:14px;left:50%;width:min(calc(100% - 28px),240px);height:auto;transform:translate(-50%);border-radius:12px 12px 0 0}.preview-details{display:flex;flex-direction:column;gap:4px;padding:15px 17px 17px}.preview-details strong{overflow:hidden;color:var(--tg-theme-text-color, #161827);font-size:14px;text-overflow:ellipsis;white-space:nowrap}.preview-details>span{color:var(--tg-theme-hint-color, #73788c);font-size:12px}.preview-details .long-report-label{align-self:flex-start;margin-top:5px;padding:5px 8px;border-radius:8px;background:#35c9781f;color:#1e9c5b;font-weight:700}.privacy-note{margin:-7px 0 0;color:var(--tg-theme-hint-color, #73788c);font-size:12px;line-height:1.45;text-align:center}.preview-actions,.error-actions{display:flex;flex-direction:column;gap:10px}.upload-btn{min-height:52px;width:100%;padding:14px 20px;border:0;border-radius:15px;font-size:15px;font-weight:750;cursor:pointer;transition:transform .12s ease,opacity .12s ease}.upload-btn:active{transform:scale(.985)}.upload-btn.primary{background:var(--tg-theme-button-color, #705bff);color:var(--tg-theme-button-text-color, #fff);box-shadow:0 11px 25px color-mix(in srgb,var(--tg-theme-button-color, #705bff) 28%,transparent)}.upload-btn.secondary{background:var(--tg-theme-secondary-bg-color, #f2f2f6);color:var(--tg-theme-text-color, #161827)}.upload-analyzing,.upload-error{align-items:center;padding-top:44px;text-align:center}.analysis-orbit{position:relative;width:84px;height:84px;border:2px solid color-mix(in srgb,var(--tg-theme-button-color, #705bff) 18%,transparent);border-radius:50%}.analysis-orbit:before{content:"";position:absolute;top:20px;right:20px;bottom:20px;left:20px;border-radius:16px;background:var(--tg-theme-button-color, #705bff);box-shadow:0 8px 24px color-mix(in srgb,var(--tg-theme-button-color, #705bff) 35%,transparent)}.analysis-orbit span:first-child{position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border:2px solid transparent;border-top-color:var(--tg-theme-button-color, #705bff);border-radius:50%;animation:orbit 1.2s linear infinite}.analysis-orbit span:last-child{position:absolute;top:37px;left:37px;z-index:1;width:10px;height:10px;border:2px solid white;border-radius:50%}@keyframes orbit{to{transform:rotate(360deg)}}.analysis-steps{width:100%;padding:8px;border:1px solid var(--tg-theme-section-separator-color, #e9e9ef);border-radius:20px;background:var(--tg-theme-section-bg-color, #fff);text-align:left}.analysis-steps>div>span{background:var(--tg-theme-secondary-bg-color, #f2f2f6);color:var(--tg-theme-hint-color, #73788c)}.analysis-steps .done>span{background:#35c97821;color:#1e9c5b}.analysis-steps .active>span{background:var(--tg-theme-button-color, #705bff);color:var(--tg-theme-button-text-color, #fff);box-shadow:0 0 0 5px color-mix(in srgb,var(--tg-theme-button-color, #705bff) 12%,transparent)}.error-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:20px;background:#ff3b301f;color:var(--tg-theme-destructive-text-color, #ff3b30);font-size:30px;font-weight:800}.error-message{margin:-8px 0 0;color:var(--tg-theme-destructive-text-color, #ff3b30);font-size:14px}.upload-hint{max-width:330px;margin:-8px 0 4px;color:var(--tg-theme-hint-color, #73788c);font-size:13px;line-height:1.45}.error-actions{width:100%}.upload-workout-page{min-height:100vh;background:radial-gradient(circle at 100% 0%,rgba(112,91,255,.12),transparent 34%),var(--tg-theme-bg-color, #fff)}.page-header{display:flex;align-items:center;gap:12px;padding:18px 20px 10px}.page-eyebrow{margin:0 0 2px;color:var(--tg-theme-accent-text-color, #705bff);font-size:11px;font-weight:750;letter-spacing:.09em;text-transform:uppercase}.page-header h1{margin:0;font-size:20px;color:var(--tg-theme-text-color, #000)}.back-button{width:36px;height:36px;border-radius:50%;border:none;background:var(--tg-theme-section-bg-color, #fff);box-shadow:0 5px 18px #1b1f3b14;color:var(--tg-theme-text-color, #000);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center}.back-button:active{opacity:.7}.progress-page{width:min(100%,660px);margin:0 auto;padding:22px 18px 32px}.progress-header p,.comparison-kicker{margin:0 0 5px;color:var(--tg-theme-accent-text-color, #705bff);font-size:11px;font-weight:800;letter-spacing:.12em}.progress-header h1{margin:0;color:var(--tg-theme-text-color);font-size:31px;letter-spacing:-.04em}.progress-header>span,.progress-card-header p{display:block;margin-top:6px;color:var(--tg-theme-hint-color);font-size:13px}.progress-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0 12px}.progress-summary>div{display:flex;flex-direction:column;gap:4px;padding:16px;border:1px solid var(--tg-theme-section-separator-color);border-radius:17px;background:var(--tg-theme-section-bg-color)}.progress-summary strong{font-size:23px;letter-spacing:-.03em}.progress-summary span{color:var(--tg-theme-hint-color);font-size:11px}.progress-card,.comparison-card{margin-top:12px;padding:17px;border:1px solid var(--tg-theme-section-separator-color);border-radius:20px;background:var(--tg-theme-section-bg-color);box-shadow:0 10px 32px #1e1f380f}.progress-card-header{display:flex;flex-direction:column;gap:14px}.progress-card h2,.comparison-card h2{margin:0;font-size:18px}.progress-card-header p{margin:3px 0 0}.metric-switch{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;border-radius:12px;background:var(--tg-theme-secondary-bg-color)}.metric-switch button{padding:8px;border:0;border-radius:9px;background:transparent;color:var(--tg-theme-hint-color);font-size:11px;font-weight:700}.metric-switch button.active{background:var(--tg-theme-section-bg-color);color:var(--tg-theme-text-color);box-shadow:0 2px 9px #191b3214}.metric-bars{height:205px;display:flex;align-items:stretch;gap:5px;margin-top:18px}.metric-bar-column{min-width:0;display:flex;flex:1;flex-direction:column;align-items:center;justify-content:flex-end;gap:5px;padding:0;border:0;background:transparent}.metric-bar{width:100%;height:var(--bar-height);min-height:12px;border-radius:7px 7px 3px 3px;background:linear-gradient(180deg,var(--tg-theme-button-color),color-mix(in srgb,var(--tg-theme-button-color) 55%,#36c78d))}.metric-bar-value{max-width:100%;overflow:hidden;color:var(--tg-theme-text-color);font-size:9px;font-weight:700;text-overflow:clip;white-space:nowrap}.metric-bar-column small{color:var(--tg-theme-hint-color);font-size:8px;transform:rotate(-38deg)}.comparison-card{background:linear-gradient(145deg,color-mix(in srgb,var(--tg-theme-button-color) 8%,var(--tg-theme-section-bg-color)),var(--tg-theme-section-bg-color))}.comparison-card h2{margin-bottom:15px}.comparison-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.comparison-grid>div{display:flex;flex-direction:column;gap:4px;padding:12px 8px;border-radius:13px;background:color-mix(in srgb,var(--tg-theme-secondary-bg-color) 70%,transparent);text-align:center}.comparison-grid strong{font-size:17px}.comparison-grid span,.comparison-empty{color:var(--tg-theme-hint-color);font-size:10px}.comparison-grid .positive strong{color:#199b58}.comparison-grid .negative strong{color:#e0574f}.open-latest-button{width:100%;margin-top:13px;padding:12px;border:0;border-radius:12px;background:var(--tg-theme-secondary-bg-color);color:var(--tg-theme-button-color);font-size:12px;font-weight:750}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:100;display:flex;background:var(--tg-theme-bg-color, #fff);border-top:1px solid var(--tg-theme-section-separator-color, #e5e5ea);padding-bottom:env(safe-area-inset-bottom,0);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px)}.bottom-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:8px 4px calc(8px + env(safe-area-inset-bottom,0px));background:none;border:none;color:var(--tg-theme-hint-color, #999);font-family:inherit;font-size:11px;font-weight:500;cursor:pointer;transition:color .15s ease,transform .1s ease;-webkit-tap-highlight-color:transparent}.bottom-nav-item:active{transform:scale(.94)}.bottom-nav-item.active{color:var(--tg-theme-button-color, #3390ec)}.bottom-nav-icon{font-size:22px;line-height:1}.bottom-nav-label{font-size:11px;line-height:1.2}:root{--tg-theme-bg-color: #ffffff;--tg-theme-text-color: #000000;--tg-theme-hint-color: #999999;--tg-theme-link-color: #3390ec;--tg-theme-button-color: #3390ec;--tg-theme-button-text-color: #ffffff;--tg-theme-secondary-bg-color: #f0f0f0;--tg-theme-section-bg-color: #ffffff;--tg-theme-section-separator-color: #e5e5ea;--tg-theme-subtitle-text-color: #999999;--tg-theme-accent-text-color: #3390ec;--tg-theme-destructive-text-color: #ff3b30;--success: #34c759;--warning: #ff9500;--danger: #ff3b30;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--bottom-nav-height: 56px}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{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;background:var(--tg-theme-bg-color);color:var(--tg-theme-text-color);overscroll-behavior-y:none}#root{min-height:100vh}.app{min-height:100vh;background:var(--tg-theme-bg-color)}.app-main{padding-top:var(--safe-top);padding-bottom:calc(var(--bottom-nav-height) + var(--safe-bottom) + 12px)}.app-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}button{font-family:inherit;-webkit-tap-highlight-color:transparent}button:active{opacity:.85}h1,h2,h3,h4,h5,h6{margin-top:0}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--tg-theme-section-separator-color);border-radius:3px}*{-webkit-tap-highlight-color:transparent}
