.progress-page{min-height:100dvh}.progress-header{background:var(--surface);border-bottom:1px solid var(--gray-200);padding:calc(var(--safe-top) + .75rem) 0 .75rem;position:sticky;top:0;z-index:50}.header-inner{display:flex;align-items:center;justify-content:space-between}.header-title{font-size:1.0625rem;font-weight:700}.back-btn{width:36px;height:36px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;color:var(--gray-600);background:var(--gray-100);transition:var(--transition)}.back-btn:hover{background:var(--gray-200)}.main-content{padding-top:1.25rem;padding-bottom:2rem;display:flex;flex-direction:column;gap:1rem}.period-wrap{display:flex;gap:.5rem;background:var(--gray-100);border-radius:var(--radius-full);padding:.25rem}.period-btn{flex:1;padding:.5rem;border-radius:var(--radius-full);font-size:.875rem;font-weight:600;color:var(--gray-500);transition:var(--transition);cursor:pointer;border:none;background:none}.period-btn.active{background:var(--surface);color:var(--primary-dark);box-shadow:var(--shadow-sm)}.chart-section{padding:1.25rem}.chart-legend{display:flex;flex-wrap:wrap;gap:.375rem .875rem}.legend-item{display:flex;align-items:center;gap:.3rem;font-size:.75rem;color:var(--gray-600);font-weight:600}.legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.chart-empty{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:2rem 0;text-align:center;color:var(--gray-400);font-size:.9rem;line-height:1.5}.first-day-card,.correlation-card{padding:1.25rem}.first-day-header{display:flex;align-items:flex-start;gap:.875rem;margin-bottom:1rem}.first-day-title{font-size:.9375rem;font-weight:700;color:var(--gray-800)}.first-day-sub{font-size:.8125rem;color:var(--gray-500);margin-top:.1rem;line-height:1.45}.first-day-metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem}.first-day-metric{display:flex;flex-direction:column;align-items:center;gap:.2rem;background:var(--gray-50);border-radius:var(--radius-lg);padding:.625rem .25rem}.first-day-metric-icon{display:flex;align-items:center;justify-content:center;color:var(--gray-500)}.first-day-metric-value{font-size:1.25rem;font-weight:800;font-family:var(--font-heading);line-height:1}.first-day-metric-bar{width:100%;height:4px;background:var(--gray-200);border-radius:99px;overflow:hidden;margin-top:.25rem}.first-day-metric-fill{height:100%;border-radius:99px}.heatmap-wrap{display:grid;grid-template-columns:5rem repeat(7,1fr);gap:3px;margin-bottom:.5rem}.heatmap-header{font-size:.625rem;font-weight:700;color:var(--gray-400);text-align:center;padding:.125rem 0}.heatmap-row-label{font-size:.6875rem;font-weight:600;color:var(--gray-500);display:flex;align-items:center}.heatmap-cell{aspect-ratio:1;border-radius:4px;min-width:0;transition:transform .1s}.heatmap-cell:active{transform:scale(.9)}.heatmap-0{background:var(--gray-100)}.heatmap-1{background:#fca5a5}.heatmap-2{background:#fdba74}.heatmap-3{background:#fde68a}.heatmap-4{background:#86efac}.heatmap-5{background:#4ade80}.heatmap-legend{display:flex;align-items:center;gap:.25rem;margin-top:.5rem}.heatmap-legend .heatmap-cell{width:13px;height:13px;aspect-ratio:unset;flex-shrink:0;border-radius:3px}.legend-txt{font-size:.625rem;font-weight:600;color:var(--gray-400);white-space:nowrap}.legend-sep{width:1px;height:12px;background:var(--gray-200);margin:0 .25rem;flex-shrink:0}.skeleton{background:linear-gradient(90deg,var(--gray-100) 25%,var(--gray-200) 50%,var(--gray-100) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.metrics-list{display:flex;flex-direction:column;padding:0 1rem}.section-label{font-size:.75rem;font-weight:700;color:var(--gray-500);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.625rem}.metric-cards-grid{display:grid;grid-template-columns:1fr 1fr;gap:.625rem}.metric-score-card{background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);border:1px solid var(--gray-100);padding:.875rem .875rem .75rem;display:flex;flex-direction:column;gap:.5rem;animation:cardFadeIn .35s ease both}@keyframes cardFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.msc-header{display:flex;align-items:center;justify-content:space-between}.msc-icon-wrap{width:28px;height:28px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;background:var(--msc-bg, #ede9fe);color:var(--msc-color, #7c3aed)}.msc-score{font-size:1.375rem;font-weight:800;line-height:1;color:var(--msc-color, #7c3aed);font-family:var(--font-heading, inherit)}.msc-label{font-size:.8125rem;font-weight:700;color:var(--gray-700)}.msc-bar-wrap{height:5px;background:var(--gray-100);border-radius:99px;overflow:hidden}.msc-bar{height:100%;border-radius:99px;background:var(--msc-color, #7c3aed);transition:width .7s cubic-bezier(.4,0,.2,1)}.msc-trend{font-size:.6875rem;font-weight:700;display:flex;align-items:center;gap:.2rem}.msc-trend.trend-up{color:var(--success-dark, #059669)}.msc-trend.trend-down{color:var(--danger, #dc2626)}.msc-trend.trend-same{color:var(--gray-400)}.workouts-section{background:linear-gradient(135deg,#f59e0b15,#f5a6cf15);border:2px solid #f59e0b25}.workouts-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.workouts-title-wrap{display:flex;flex-direction:column;gap:.25rem}.workouts-title{font-size:1.125rem;font-weight:700;color:var(--gray-900);margin:0}.workouts-subtitle{font-size:.8125rem;color:var(--gray-600);margin:0}.workouts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}.workout-stat-card{background:#fff;border:1.5px solid #f59e0b20;border-radius:var(--radius-lg);padding:1rem;display:flex;flex-direction:column;align-items:center;gap:.75rem;transition:all var(--transition)}.workout-stat-card:hover{border-color:#f59e0b40;background:#f59e0b05}.workout-stat-card.goal{background:linear-gradient(135deg,#f59e0b08,#fbbf2415);border-color:#f59e0b40}.workout-stat-icon{font-size:2rem;line-height:1}.workout-stat-content{display:flex;flex-direction:column;align-items:center;gap:.25rem}.workout-stat-label{font-size:.75rem;font-weight:600;color:var(--gray-600);text-transform:uppercase;letter-spacing:.5px}.workout-stat-value{font-size:1.75rem;font-weight:800;color:#f59e0b;line-height:1}.workout-stat-sub{font-size:.7rem;color:var(--gray-500);font-weight:500}@media(max-width:640px){.workouts-grid{grid-template-columns:repeat(2,1fr)}}
