:root{--tg-bg: var(--tg-theme-bg-color, #ffffff);--tg-text: var(--tg-theme-text-color, #1c1c1e);--tg-hint: var(--tg-theme-hint-color, #8e8e93);--tg-link: var(--tg-theme-link-color, #3390ec);--tg-button-bg: var(--tg-theme-button-color, #3390ec);--tg-button-text: var(--tg-theme-button-text-color, #ffffff);--tg-secondary-bg: var(--tg-theme-secondary-bg-color, #f2f2f7);--tg-surface: var(--tg-theme-section-bg-color, var(--tg-theme-secondary-bg-color, #ffffff));--radius-sm: 12px;--radius-md: 18px;--radius-lg: 24px;--radius-xl: 28px;--shadow-card: 0 1px 2px rgba(0,0,0,.04), 0 10px 24px rgba(0,0,0,.05);--shadow-elevated: 0 8px 28px rgba(0,0,0,.12);--transition: .2s cubic-bezier(.25, .46, .45, .94);--transition-spring: .35s cubic-bezier(.34, 1.56, .64, 1);--green: #34c759;--orange: #ff9500;--red: #ff3b30;--green-bg: rgba(52,199,89,.1);--orange-bg: rgba(255,149,0,.1);--red-bg: rgba(255,59,48,.1);--blue-light: rgba(51,144,236,.08);--blue-medium: rgba(51,144,236,.14);--blue-strong: rgba(51,144,236,.22);--gradient-success: linear-gradient(135deg, #34c759, #30d158);--gradient-energy: linear-gradient(135deg, #ff9500, #ff6b00);--gradient-score: linear-gradient(135deg, var(--tg-button-bg), #5ac8fa);--surface-1: var(--tg-surface);--surface-2: color-mix(in srgb, var(--tg-surface) 95%, var(--tg-button-bg) 5%);--surface-border: color-mix(in srgb, var(--tg-text) 12%, transparent);--divider-color: color-mix(in srgb, var(--tg-text) 10%, transparent);--slider-track-bg: color-mix(in srgb, var(--tg-text) 22%, transparent);--slider-thumb-bg: color-mix(in srgb, var(--tg-bg) 94%, #ffffff 6%);--slider-value-column: 96px;--chart-grid: color-mix(in srgb, var(--tg-text) 14%, transparent);--chart-line: color-mix(in srgb, var(--tg-button-bg) 84%, #ffffff 16%);--chart-fill-strong: color-mix(in srgb, var(--tg-button-bg) 36%, transparent);--chart-fill-soft: color-mix(in srgb, var(--tg-button-bg) 8%, transparent)}:root[data-tg-scheme=dark]{--shadow-card: 0 1px 2px rgba(0,0,0,.35), 0 12px 28px rgba(0,0,0,.42);--slider-track-bg: color-mix(in srgb, var(--tg-text) 30%, transparent);--chart-grid: color-mix(in srgb, var(--tg-text) 20%, transparent)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{background:radial-gradient(120% 80% at 100% -10%,rgba(51,144,236,.08),transparent 60%),var(--tg-bg);color:var(--tg-text);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,system-ui,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}:focus-visible{outline:2px solid var(--tg-button-bg);outline-offset:2px}.hero-header{position:relative;overflow:hidden;border-radius:var(--radius-lg);min-height:160px;margin:0 0 20px;flex-shrink:0;isolation:isolate}.hero-header:before{content:"";position:absolute;inset:-28% -16% auto auto;width:190px;height:190px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.24) 0%,rgba(255,255,255,.06) 42%,transparent 72%);pointer-events:none;z-index:1}.hero-header-bg{position:absolute;inset:0;width:100%;height:100%;z-index:0}.hero-icon-float{pointer-events:none;-webkit-user-select:none;user-select:none;will-change:transform;z-index:1;transform:translate(0) rotate(var(--hero-icon-rotate));animation:heroIconFloat var(--hero-icon-duration) ease-in-out var(--hero-icon-delay) infinite}@keyframes heroIconFloat{0%{transform:translate(0) rotate(var(--hero-icon-rotate))}50%{transform:translate(var(--hero-icon-drift-x),var(--hero-icon-drift-y)) rotate(var(--hero-icon-rotate-delta))}to{transform:translate(0) rotate(var(--hero-icon-rotate))}}@media(prefers-reduced-motion:reduce){.hero-icon-float{animation:none!important;transform:none!important;will-change:auto}}.hero-header-content{position:absolute;bottom:18px;left:20px;right:20px;z-index:2;color:#fff;max-width:min(320px,calc(100% - 40px))}.hero-header-title{font-size:22px;font-weight:760;letter-spacing:-.03em;line-height:1.15;text-wrap:balance}.hero-header-sub{font-size:13px;font-weight:500;opacity:.82;margin-top:4px;max-width:28ch;line-height:1.35}@media(max-width:380px){.hero-header{min-height:152px}.hero-header-content{left:16px;right:16px;bottom:16px;max-width:min(280px,calc(100% - 32px))}.hero-header-title{font-size:20px}.hero-header-sub{font-size:12px}}.page{padding:calc(env(safe-area-inset-top,0px) + 18px) 16px 118px;min-height:100vh;max-width:480px;margin:0 auto;animation:fadeIn .3s ease-out}.page-with-hero{padding-top:0}.page-with-hero>.hero-header:first-child{min-height:calc(178px + env(safe-area-inset-top,0px))}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page-title{font-size:30px;font-weight:760;letter-spacing:-.04em;margin-bottom:20px}.tabs{position:fixed;bottom:calc(env(safe-area-inset-bottom,0px) + 8px);left:12px;right:12px;max-width:456px;margin:0 auto;display:flex;border:1px solid rgba(0,0,0,.08);border-radius:22px;padding:6px;z-index:100;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:var(--tg-surface);background:color-mix(in srgb,var(--tg-surface) 80%,transparent);box-shadow:var(--shadow-card)}.tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:7px 4px 6px;cursor:pointer;font-size:11px;font-weight:600;color:var(--tg-hint);background:none;border:none;border-radius:16px;transition:color var(--transition),transform var(--transition);-webkit-tap-highlight-color:transparent;position:relative}.tab .tab-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:transform var(--transition-spring)}.tab .tab-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.tab.active{color:var(--tg-button-bg);background:var(--blue-medium)}.tab.active .tab-icon{animation:tabIconBounce .35s var(--transition-spring);transform:scale(1.06)}.tab:active{transform:scale(.96)}@keyframes tabIconBounce{0%{transform:scale(.92)}65%{transform:scale(1.12)}to{transform:scale(1.06)}}@media(prefers-reduced-motion:reduce){.tab.active .tab-icon{animation:none}}.toast{position:fixed;left:16px;right:16px;bottom:calc(env(safe-area-inset-bottom,0px) + 92px);max-width:448px;margin:0 auto;padding:14px 16px;border-radius:18px;border:1px solid var(--surface-border);box-shadow:var(--shadow-elevated);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:color-mix(in srgb,var(--surface-2) 88%,transparent);color:var(--tg-text);font-size:14px;font-weight:600;line-height:1.45;z-index:220;animation:toastSlideIn .22s ease-out}.toast-info{border-color:color-mix(in srgb,var(--tg-button-bg) 28%,transparent)}.toast-success{border-color:color-mix(in srgb,var(--green) 32%,transparent);background:color-mix(in srgb,var(--green-bg) 72%,var(--surface-1) 28%)}.toast-error{border-color:color-mix(in srgb,var(--red) 30%,transparent);background:color-mix(in srgb,var(--red-bg) 70%,var(--surface-1) 30%)}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.card{background:var(--surface-1);border:1px solid var(--surface-border);box-shadow:var(--shadow-card);border-radius:var(--radius-md);padding:17px 16px;margin-bottom:12px;transition:transform var(--transition),box-shadow var(--transition)}.card-interactive{cursor:pointer;-webkit-tap-highlight-color:transparent}.card-interactive:active{transform:scale(.98)}.card-title{font-size:15px;font-weight:650;margin-bottom:4px}.card-sub{font-size:13px;color:var(--tg-hint);line-height:1.45}.hero-card{position:relative;overflow:hidden;padding:20px 16px}.hero-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--gradient-score);border-radius:var(--radius-md) var(--radius-md) 0 0}.hero-card.intensity-high:before{background:var(--gradient-energy)}.hero-card.intensity-low:before{background:var(--gradient-success)}.hero-card-today:before{background:var(--gradient-success)}.hero-card-header{display:flex;align-items:center;gap:10px}.hero-card-icon{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--blue-light);color:var(--tg-button-bg);flex-shrink:0}.hero-card-meta{display:flex;gap:12px;flex-wrap:wrap;margin-top:2px}.hero-meta-item{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:500;color:var(--tg-hint)}.hero-meta-item svg{flex-shrink:0}.hero-cta{background:var(--green);box-shadow:0 6px 18px #34c7594d}.hero-cta:active:not(:disabled){box-shadow:0 2px 8px #34c75933}.hero-card-actions{display:grid;gap:6px}.hero-card-expand{display:inline-flex;align-items:center;gap:6px;margin-top:6px;padding-left:0;padding-right:0;color:var(--tg-button-bg)}.hero-card-expand svg{width:16px;height:16px;transition:transform var(--transition)}.btn-skip{background:none;border:none;color:var(--tg-hint);font-size:14px;font-weight:500;cursor:pointer;padding:10px;width:100%;text-align:center;-webkit-tap-highlight-color:transparent}.btn-skip:active{opacity:.6}.btn-skip:disabled{opacity:.4;cursor:not-allowed}.rest-card{display:flex;align-items:center;gap:14px;padding:20px 16px}.rest-card-icon{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;color:var(--tg-hint);background:#8e8e931a;flex-shrink:0}.rest-card-icon svg{width:24px;height:24px}.rest-card-enhanced{padding:20px 16px}.rest-card-enhanced-header{display:flex;align-items:center;gap:14px}.rest-card-enhanced-title{font-size:17px;font-weight:700}.rest-card-enhanced-next{margin-top:10px;padding-top:10px;border-top:1px solid var(--divider-color);font-size:14px;color:var(--tg-hint);font-weight:500}.nav-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.nav-header-back{width:36px;height:36px;border:none;background:var(--blue-light);border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--tg-button-bg);flex-shrink:0;-webkit-tap-highlight-color:transparent;transition:transform var(--transition),background var(--transition)}.nav-header-back:active{transform:scale(.92);background:var(--blue-medium)}.nav-header-back svg{width:20px;height:20px}.nav-header-title{font-size:17px;font-weight:650;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-header-spacer{width:36px;flex-shrink:0}.nav-header-action{width:auto;padding:8px 0 8px 12px}.btn{background:var(--tg-button-bg);color:var(--tg-button-text);border:none;border-radius:var(--radius-sm);padding:13px 24px;font-size:15px;font-weight:640;letter-spacing:.01em;cursor:pointer;width:100%;transition:transform var(--transition),opacity var(--transition),box-shadow var(--transition);-webkit-tap-highlight-color:transparent;position:relative;overflow:hidden;box-shadow:0 6px 18px #3390ec42}.btn:active:not(:disabled){transform:scale(.97);opacity:.9}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-loading{pointer-events:none;opacity:.7}.btn-loading:after{content:"";display:inline-block;width:16px;height:16px;margin-left:8px;border:2px solid rgba(255,255,255,.35);border-top-color:currentColor;border-radius:50%;vertical-align:middle;animation:spin .7s linear infinite}.btn-secondary{background:var(--surface-1);border:1px solid rgba(0,0,0,.08);color:var(--tg-text);box-shadow:none}.btn-small{width:auto;padding:8px 14px;font-size:13px;display:inline-flex;align-items:center;gap:6px}.btn-small svg{width:14px;height:14px}.btn-ghost{background:none;border:none;box-shadow:none;color:var(--tg-button-bg);font-weight:600;padding:8px 12px;width:auto}.btn-ghost:active:not(:disabled){opacity:.6;transform:none}.page-secondary-stack{display:grid;gap:10px;margin-bottom:14px}.page-secondary-stack>.card,.page-secondary-stack>.error-box,.page-secondary-stack>.warning-box,.page-secondary-stack>.info-box,.page-secondary-stack>.success-box{margin-bottom:0}.page-load-alerts{display:grid;gap:12px;margin-bottom:16px}.page-load-alerts .error-box,.page-load-alerts .warning-box{margin-bottom:0}.page-load-alerts-action{display:flex;justify-content:center}.link-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:14px 16px;border:1px solid var(--surface-border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--surface-1) 92%,var(--tg-bg) 8%);color:var(--tg-text);text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform var(--transition),border-color var(--transition),box-shadow var(--transition)}.link-row:active{transform:scale(.98)}.link-row-content{min-width:0}.link-row-title{font-size:15px;font-weight:650;line-height:1.25}.link-row-subtitle{margin-top:4px;font-size:13px;line-height:1.4;color:var(--tg-hint)}.link-row-arrow{width:28px;height:28px;border-radius:999px;display:flex;align-items:center;justify-content:center;color:var(--tg-button-bg);background:var(--blue-light);flex-shrink:0}.link-row-arrow svg{width:16px;height:16px}.input,.textarea{width:100%;padding:14px 16px;border:1.5px solid rgba(0,0,0,.08);border-radius:var(--radius-sm);background:var(--tg-bg);color:var(--tg-text);font-size:16px;font-family:inherit;outline:none;transition:border-color var(--transition),box-shadow var(--transition)}.input:focus,.textarea:focus{border-color:var(--tg-button-bg);box-shadow:0 0 0 3px #3390ec29}.input::placeholder,.textarea::placeholder{color:var(--tg-hint);opacity:.7}.textarea{resize:vertical;min-height:88px}.input-with-suffix{display:flex;align-items:center;gap:8px}.input-suffix{font-size:15px;font-weight:600;color:var(--tg-hint);flex-shrink:0}.number-input-large{font-size:36px;font-weight:800;text-align:center;letter-spacing:-.02em;padding:16px}.date-input{position:relative;width:100%;min-height:52px;border:1.5px solid rgba(0,0,0,.08);border-radius:var(--radius-sm);background:var(--tg-bg);color:var(--tg-text);transition:border-color var(--transition),box-shadow var(--transition)}.date-input:focus-within{border-color:var(--tg-button-bg);box-shadow:0 0 0 3px #3390ec29}.date-input-disabled{opacity:.6}.date-input-disabled .date-input-native{cursor:not-allowed}.date-input-native{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:auto;z-index:2;border:none;margin:0;padding:0;cursor:pointer}.date-input-trigger{width:100%;min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 14px 14px 16px;background:transparent;border:none;color:inherit;text-align:left;font:inherit;cursor:inherit;position:relative;z-index:1}.date-input-placeholder{color:var(--tg-hint);opacity:.7}.date-input-value{font-size:16px;line-height:1.2;color:var(--tg-text);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;flex:1}.date-input-icon{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--tg-hint);pointer-events:none;display:flex}.date-input-icon svg{width:18px;height:18px}.form-group{margin-bottom:20px}.form-label{display:block;font-size:13px;font-weight:600;color:var(--tg-hint);margin-bottom:8px;letter-spacing:.02em}.form-hint{font-size:12px;color:var(--tg-hint);margin-top:6px;opacity:.8}.form-group>input[type=range]{width:100%;display:block}.slider-row{display:grid;grid-template-columns:minmax(0,1fr) var(--slider-value-column);align-items:center;column-gap:12px}.slider-track-wrap{position:relative;width:100%}.slider-fill-track{position:absolute;top:50%;left:0;height:var(--slider-track-size, 6px);transform:translateY(-50%);border-radius:999px;pointer-events:none;z-index:0;opacity:1}.slider{--slider-track-size: 6px;--slider-thumb-size: 26px;flex:1;-webkit-appearance:none;appearance:none;height:var(--slider-track-size);border-radius:999px;background:var(--slider-track-bg);outline:none;transition:background var(--transition);position:relative;z-index:1;width:100%}.slider::-webkit-slider-runnable-track{height:var(--slider-track-size);border-radius:999px;background:transparent}.slider::-webkit-slider-thumb{-webkit-appearance:none;width:var(--slider-thumb-size);height:var(--slider-thumb-size);margin-top:calc((var(--slider-track-size) - var(--slider-thumb-size)) / 2);border-radius:50%;background:var(--slider-thumb-bg);border:2px solid var(--tg-button-bg);cursor:pointer;box-shadow:0 2px 8px #3390ec40;transition:transform var(--transition-spring),box-shadow var(--transition)}.slider::-webkit-slider-thumb:active{transform:scale(1.2);box-shadow:0 2px 12px #3390ec66}.slider::-moz-range-track{height:var(--slider-track-size);border-radius:999px;background:var(--slider-track-bg)}.slider::-moz-range-progress{height:var(--slider-track-size);border-radius:999px;background:transparent}.slider::-moz-range-thumb{width:var(--slider-thumb-size);height:var(--slider-thumb-size);border-radius:50%;background:var(--slider-thumb-bg);border:2px solid var(--tg-button-bg);cursor:pointer;box-shadow:0 2px 8px #3390ec40}.slider-value-group{display:flex;align-items:center;gap:6px;min-width:0;width:100%;justify-content:flex-end}.slider-emoji{font-size:18px;line-height:1}.slider-value{font-size:18px;font-weight:700;color:var(--tg-button-bg);min-width:36px;text-align:right;font-variant-numeric:tabular-nums}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.report-page .page-title{margin-bottom:16px}.report-metrics-card{padding:14px 14px 10px;margin-bottom:16px;background:radial-gradient(120% 80% at 90% -10%,var(--chart-fill-strong),transparent 65%),var(--surface-1)}.report-metrics-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.report-metrics-head .section-title{margin-bottom:8px}.report-metrics-caption{font-size:11px;font-weight:500;color:var(--tg-hint);text-align:right;max-width:150px;line-height:1.25}.report-metrics-svg{display:block;width:100%;height:auto}.report-metrics-grid-line{stroke:var(--chart-grid);stroke-width:1}.report-metrics-area{opacity:.95}.report-metrics-line{fill:none;stroke:var(--chart-line);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.report-metrics-point{fill:var(--slider-thumb-bg);stroke:var(--tg-button-bg);stroke-width:2}.report-metrics-label{fill:var(--tg-hint);font-size:10px;font-weight:600;letter-spacing:.02em}.report-metrics-value{fill:var(--tg-text);font-size:10px;font-weight:700}.segment-group{display:flex;gap:8px}.segment-grid{display:grid;gap:8px}.segment-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;border:1.5px solid rgba(0,0,0,.08);border-radius:var(--radius-sm);background:var(--tg-bg);color:var(--tg-text);font-size:14px;font-weight:600;cursor:pointer;transition:all var(--transition);-webkit-tap-highlight-color:transparent}.segment-item:active{transform:scale(.96)}.segment-item.active{border-color:var(--tg-button-bg);background:var(--blue-light);color:var(--tg-button-bg)}.segment-icon{display:flex;align-items:center;justify-content:center}.segment-icon svg{width:22px;height:22px}.segment-desc{font-size:11px;font-weight:400;color:var(--tg-hint);line-height:1.3}.segment-item.active .segment-desc{color:var(--tg-button-bg);opacity:.8}.chip-group{display:flex;flex-wrap:wrap;gap:8px}.chip-select{padding:9px 16px;border:1.5px solid rgba(0,0,0,.1);border-radius:999px;background:var(--tg-bg);color:var(--tg-text);font-size:14px;font-weight:600;cursor:pointer;transition:all var(--transition);-webkit-tap-highlight-color:transparent}.chip-select:active{transform:scale(.95)}.chip-select.selected{border-color:var(--tg-button-bg);background:var(--blue-medium);color:var(--tg-button-bg)}.streak-banner{display:flex;align-items:center;gap:8px;padding:12px 16px;border-radius:var(--radius-md);background:var(--surface-2);border:1px solid rgba(0,0,0,.04);margin-bottom:16px}.streak-banner.streak-empty{opacity:.7}.streak-flame{display:flex;align-items:center;justify-content:center;color:var(--orange)}.streak-flame svg{width:22px;height:22px}.streak-flame-active{animation:flamePulse 1.5s ease-in-out infinite}@keyframes flamePulse{0%,to{transform:scale(1)}50%{transform:scale(1.12) rotate(3deg)}}.streak-count{font-size:22px;font-weight:800;color:var(--orange);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.streak-label{font-size:14px;font-weight:500;color:var(--tg-hint)}.progress-ring{position:relative;display:inline-flex;align-items:center;justify-content:center}.progress-ring svg{display:block}.progress-ring-track{stroke:color-mix(in srgb,var(--tg-text) 8%,transparent)}.progress-ring-label{position:absolute;font-weight:800;color:var(--tg-text);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.progress-ring-sm{width:40px;height:40px}.progress-ring-md{width:72px;height:72px}.progress-ring-lg{width:88px;height:88px}.timeline{position:relative;padding-left:28px}.timeline:before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:2px;background:color-mix(in srgb,var(--tg-text) 32%,transparent);border-radius:1px}.timeline-entry{position:relative;margin-bottom:12px;padding-bottom:12px}.timeline-entry:last-child{margin-bottom:0;padding-bottom:0}.timeline-content{background:var(--surface-1);border:1px solid rgba(0,0,0,.06);border-radius:var(--radius-sm);padding:12px 14px;box-shadow:var(--shadow-card)}.timeline-date{font-size:12px;font-weight:600;color:var(--tg-hint);margin-bottom:4px;text-transform:capitalize}.timeline-today .timeline-content{border-color:var(--tg-button-bg);border-width:1.5px}.timeline-today .timeline-date{color:var(--tg-button-bg)}.timeline-dot{position:absolute;left:-22px;top:20px;width:10px;height:10px;border-radius:50%;background:var(--tg-hint);border:2px solid var(--tg-bg);z-index:1}.timeline-dot-completed{background:var(--green)}.timeline-dot-skipped{background:var(--orange)}.timeline-dot-missed{background:var(--red)}.timeline-dot-planned{background:var(--tg-button-bg)}.timeline-dot-rest{background:#c7c7cc}.timeline-dot-today{box-shadow:0 0 0 3px var(--blue-medium);animation:todayPulse 2s ease-in-out infinite}@keyframes todayPulse{0%,to{box-shadow:0 0 0 3px var(--blue-medium)}50%{box-shadow:0 0 0 6px var(--blue-light)}}.timeline-item.future{opacity:.65}.week-header{font-size:13px;font-weight:700;color:var(--tg-hint);letter-spacing:.02em;text-transform:uppercase;padding:12px 0 8px;margin-top:8px}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:24px}.stat-card{background:var(--surface-1);border:1px solid rgba(0,0,0,.05);border-radius:var(--radius-md);padding:16px 14px;text-align:center;transition:transform var(--transition-spring)}.stat-card:active{transform:scale(.97)}.stat-card-hero{grid-column:1 / -1;padding:20px 14px}.stat-card-hero-total{text-align:left}.stat-card-hero-total .stat-card-icon{margin:0 0 10px}.stat-card-icon{width:32px;height:32px;margin:0 auto 8px;border-radius:8px;display:flex;align-items:center;justify-content:center}.stat-card-icon svg{width:18px;height:18px}.stat-card-icon.blue{background:var(--blue-light);color:var(--tg-button-bg)}.stat-card-icon.green{background:var(--green-bg);color:var(--green)}.stat-card-icon.orange{background:var(--orange-bg);color:var(--orange)}.stat-card-icon.red{background:var(--red-bg);color:var(--red)}.stat-card-icon.score{background:var(--gradient-score);color:#fff}.stat-value{font-size:28px;font-weight:800;color:var(--tg-button-bg);line-height:1;margin-bottom:6px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.stat-card-hero .stat-value{font-size:36px}.stat-value-score{background:var(--gradient-score);-webkit-background-clip:text;background-clip:text;color:transparent}.stat-label{font-size:11px;font-weight:500;color:var(--tg-hint);text-transform:uppercase;letter-spacing:.04em}.stat-trend{display:inline-flex;align-items:center;gap:2px;font-size:11px;font-weight:600;margin-top:4px}.stat-trend svg{width:12px;height:12px}.stat-trend-up{color:var(--green)}.stat-trend-down{color:var(--red)}.stat-trend-flat{color:var(--tg-hint)}.stat-trend-flat-mark{font-size:12px;line-height:1}.stat-card-foot{margin-top:8px;font-size:12px;color:var(--tg-hint);line-height:1.4}.completion-chart{display:grid;gap:10px;margin-top:10px}.completion-row{display:grid;grid-template-columns:minmax(0,104px) minmax(0,1fr) auto;align-items:center;gap:10px}.completion-meta{display:flex;flex-direction:column;gap:4px}.completion-date{font-size:12px;font-weight:650;color:var(--tg-text)}.completion-name{font-size:11px;color:var(--tg-hint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.completion-track{height:10px;background:color-mix(in srgb,var(--tg-text) 8%,transparent);border-radius:999px;overflow:hidden}.completion-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,color-mix(in srgb,var(--green) 90%,#69d36c),color-mix(in srgb,var(--tg-button-bg) 70%,var(--green)));transition:width .6s cubic-bezier(.25,.46,.45,.94)}.completion-value{font-size:12px;font-weight:700;color:var(--tg-text);font-variant-numeric:tabular-nums}.score-dist-stack{display:flex;width:100%;height:12px;margin-top:10px;border-radius:999px;overflow:hidden;background:color-mix(in srgb,var(--tg-text) 6%,transparent)}.score-dist-segment{height:100%;transition:width .5s ease}.score-dist-legend{display:grid;gap:8px;margin-top:12px}.score-dist-legend-row{display:flex;align-items:center;gap:10px}.score-dist-dot{width:10px;height:10px;border-radius:999px;flex-shrink:0}.score-dist-legend-label{font-size:12px;font-weight:600;color:var(--tg-hint)}.score-dist-legend-value{margin-left:auto;font-size:12px;font-weight:600;color:var(--tg-text);font-variant-numeric:tabular-nums}.score-badge{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;font-size:14px;font-weight:700;color:#fff;flex-shrink:0}.score-high{background:var(--green)}.score-mid{background:var(--orange)}.score-low{background:var(--red)}.day-type-chip{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;padding:3px 10px;border-radius:20px;margin-bottom:4px}.chip-training{background:var(--blue-medium);color:var(--tg-button-bg)}.chip-rest{background:#8e8e931f;color:#8e8e93}.chip-cardio{background:var(--orange-bg);color:var(--orange)}.chip-stretch{background:var(--green-bg);color:var(--green)}.report-row-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.report-row-chips{display:flex;flex-wrap:wrap;gap:8px}.report-inline-flag{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:20px;background:var(--orange-bg);color:var(--orange);font-size:12px;font-weight:600}.report-inline-flag svg{width:14px;height:14px}.progress-track{height:6px;background:#0000000f;border-radius:3px;margin-bottom:12px;overflow:hidden}.progress-fill{height:100%;background:var(--gradient-score);border-radius:3px;transition:width .5s cubic-bezier(.25,.46,.45,.94)}.goal-progress-card{margin-bottom:16px;text-align:center;position:relative;overflow:hidden;background:radial-gradient(130% 90% at 95% -10%,color-mix(in srgb,var(--tg-button-bg) 18%,transparent),transparent 65%),var(--surface-1)}.goal-progress-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient-score);border-radius:var(--radius-md) var(--radius-md) 0 0}.goal-progress-topline{display:flex;justify-content:center;margin-bottom:6px}.goal-state-chip{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:4px 12px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.goal-state-active{color:var(--tg-button-bg);background:var(--blue-medium)}.goal-state-achieved{color:var(--green);background:var(--green-bg)}.goal-state-expired{color:var(--orange);background:var(--orange-bg)}.goal-state-awaiting,.goal-state-no-goal,.goal-state-unknown{color:var(--tg-hint);background:color-mix(in srgb,var(--tg-text) 8%,transparent)}.goal-progress-ring-wrap{display:flex;flex-direction:column;align-items:center;gap:6px;margin-bottom:6px}.goal-progress-ring{display:flex;justify-content:center;position:relative;z-index:1}.goal-progress-ring-scene{width:148px;height:148px;display:grid;place-items:center;position:relative}.goal-orbit-illustration{width:148px;height:148px;position:absolute;inset:0;pointer-events:none}.goal-orbit-base{fill:color-mix(in srgb,var(--tg-text) 4%,transparent);stroke:color-mix(in srgb,var(--tg-text) 10%,transparent);stroke-width:1}.goal-orbit-progress{fill:none;stroke-width:6}.goal-orbit-dot{fill:var(--tg-button-bg)}.goal-orbit-dot-primary{opacity:.38}.goal-orbit-dot-secondary{opacity:.24}.goal-orbit-dot-progress{fill:color-mix(in srgb,var(--green) 85%,var(--tg-button-bg));opacity:.95}.goal-orbit-core{fill:color-mix(in srgb,var(--tg-button-bg) 6%,transparent);stroke:color-mix(in srgb,var(--tg-button-bg) 18%,transparent);stroke-width:1}.goal-orbit-rotor{transform-origin:64px 64px;animation:goalOrbitSpin 18s linear infinite}.goal-orbit-rotor-static{animation:none}@keyframes goalOrbitSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.goal-orbit-rotor{animation:none}}.goal-progress-ring-caption{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tg-hint)}.goal-progress-title{font-size:18px;font-weight:720;margin-bottom:6px;letter-spacing:-.02em}.goal-progress-goal{font-size:14px;font-weight:600;color:var(--tg-text);margin-bottom:6px}.goal-progress-hint{font-size:13px;color:var(--tg-hint);line-height:1.5}.goal-metric-grid{margin-top:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.goal-metric-item{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:68px;background:var(--surface-2);border:1px solid var(--surface-border);border-radius:var(--radius-sm);padding:10px 12px;text-align:left}.goal-metric-label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--tg-hint)}.goal-metric-value{display:block;font-size:15px;font-weight:650;color:var(--tg-text);line-height:1.25;font-variant-numeric:tabular-nums}.goal-edit-button{margin-top:14px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.goal-edit-button svg{width:16px;height:16px}.goal-refresh-row{display:flex;justify-content:center;margin-bottom:10px}.coaching-card{margin-bottom:16px;position:relative;overflow:hidden}.coaching-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;border-radius:var(--radius-md) 0 0 var(--radius-md);background:var(--tg-button-bg)}.coaching-card-success:before{background:var(--green)}.coaching-card-warning:before{background:var(--orange)}.coaching-card-neutral:before{background:color-mix(in srgb,var(--tg-text) 22%,transparent)}.coaching-card-kicker{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--tg-hint)}.coaching-card-title{margin-top:8px;font-size:18px;font-weight:760;letter-spacing:-.02em;line-height:1.2}.coaching-card-text{margin-top:8px;font-size:14px;line-height:1.5;color:var(--tg-text)}.coaching-card-action{margin-top:12px;padding:12px 14px;border-radius:14px;background:color-mix(in srgb,var(--surface-2) 92%,transparent);font-size:13px;line-height:1.5;color:var(--tg-hint)}.nutrition-card{margin-bottom:16px;background:radial-gradient(120% 100% at 100% 0%,color-mix(in srgb,var(--orange) 12%,transparent),transparent 58%),linear-gradient(180deg,color-mix(in srgb,var(--surface-1) 92%,white),var(--surface-1))}.nutrition-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.nutrition-card-title-wrap{display:flex;align-items:center;gap:12px;min-width:0}.nutrition-card-icon{width:42px;height:42px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--orange);background:color-mix(in srgb,var(--orange) 14%,transparent)}.nutrition-card-kicker{font-size:11px;font-weight:700;color:var(--tg-hint);text-transform:uppercase;letter-spacing:.08em}.nutrition-card-title{font-size:20px;font-weight:760;letter-spacing:-.02em}.nutrition-action-button{flex-shrink:0}.nutrition-summary-row{margin-top:16px;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.nutrition-mode-chip{justify-content:flex-start}.nutrition-balance-chip{justify-content:flex-start;color:#fff}.nutrition-mode-auto{color:var(--tg-button-bg);background:color-mix(in srgb,var(--tg-button-bg) 16%,transparent)}.nutrition-mode-manual_override{color:var(--orange);background:var(--orange-bg)}.nutrition-mode-unavailable{color:var(--tg-hint);background:color-mix(in srgb,var(--tg-text) 8%,transparent)}.nutrition-summary-note{font-size:13px;color:var(--tg-hint)}.nutrition-progress-band{margin-top:16px;padding:14px 14px 12px;border-radius:var(--radius-md);background:color-mix(in srgb,var(--orange) 6%,var(--surface-2));border:1px solid color-mix(in srgb,var(--orange) 10%,var(--surface-border))}.nutrition-progress-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}.nutrition-progress-title{font-size:18px;font-weight:740;line-height:1.2}.nutrition-progress-caption{font-size:12px;color:var(--tg-hint);white-space:nowrap}.nutrition-progress-track{margin-bottom:0;height:10px;border-radius:999px;background:color-mix(in srgb,var(--tg-text) 8%,transparent)}.nutrition-progress-fill{background:linear-gradient(90deg,color-mix(in srgb,var(--orange) 78%,#ff7f2a),color-mix(in srgb,var(--tg-button-bg) 52%,var(--orange)));border-radius:999px}.nutrition-progress-empty{font-size:13px;color:var(--tg-hint);line-height:1.5}.nutrition-metric-grid{margin-top:14px}.nutrition-metric-item{min-height:76px}.nutrition-card-hint{margin-top:12px;font-size:13px;color:var(--tg-hint);line-height:1.5}.nutrition-meals-section{margin-top:18px}.nutrition-meals-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}.nutrition-meals-head>:first-child{flex:1 1 220px;min-width:0}.nutrition-meals-title{margin:0}.nutrition-meals-caption{margin-top:4px;font-size:12px;color:var(--tg-hint)}.nutrition-meals-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-left:auto;max-width:100%}.nutrition-open-chat-btn,.nutrition-add-manual-btn{min-width:0}.nutrition-empty-state{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:10px;padding:14px;border-radius:var(--radius-sm);background:var(--surface-2);color:var(--tg-hint);font-size:13px;line-height:1.45}.nutrition-empty-state svg{flex-shrink:0;color:var(--orange)}.nutrition-empty-button{margin-top:2px}.nutrition-empty-actions{grid-column:1 / -1;display:grid;gap:8px;margin-top:2px}.nutrition-empty-button-secondary{box-shadow:none}.nutrition-meal-list{display:grid;gap:10px}.nutrition-meal-item{padding:14px;border-radius:var(--radius-md);border:1px solid var(--surface-border);background:color-mix(in srgb,var(--surface-2) 92%,white)}.nutrition-meal-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.nutrition-meal-title{font-size:15px;font-weight:700;line-height:1.3}.nutrition-meal-meta{margin-top:4px;font-size:12px;color:var(--tg-hint)}.nutrition-meal-calories{font-size:14px;font-weight:760;white-space:nowrap;color:var(--orange)}.nutrition-meal-summary{margin-top:10px;font-size:13px;line-height:1.5;color:var(--tg-hint)}.nutrition-meal-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.nutrition-delete-button{box-shadow:none}.nutrition-target-mode-grid{display:grid;gap:10px;margin-bottom:20px}.nutrition-target-option{border:1px solid var(--surface-border);background:var(--surface-1);color:var(--tg-text);border-radius:var(--radius-sm);padding:14px 16px;text-align:left;cursor:pointer;transition:border-color var(--transition),transform var(--transition),box-shadow var(--transition)}.nutrition-target-option:disabled{opacity:.5;cursor:not-allowed}.nutrition-target-option:active:not(:disabled){transform:scale(.985)}.nutrition-target-option-active{border-color:color-mix(in srgb,var(--orange) 52%,var(--tg-button-bg));box-shadow:0 0 0 3px color-mix(in srgb,var(--orange) 12%,transparent)}.nutrition-target-option-title{display:block;font-size:15px;font-weight:700}.nutrition-target-option-text{display:block;margin-top:4px;font-size:13px;color:var(--tg-hint);line-height:1.45}@media(max-width:520px){.nutrition-meals-actions{width:100%}.nutrition-open-chat-btn,.nutrition-add-manual-btn{width:100%;justify-content:center}}@media(max-width:380px){.goal-state-chip{font-size:11px;padding:4px 10px}.goal-metric-grid,.completion-row{grid-template-columns:1fr}.nutrition-card-head,.nutrition-progress-head,.nutrition-meals-head,.nutrition-meal-topline,.report-row-topline{flex-direction:column;align-items:stretch}.nutrition-action-button{width:100%;justify-content:center}.nutrition-progress-caption,.nutrition-meals-caption,.nutrition-meal-calories{white-space:normal}.nutrition-meals-actions,.nutrition-empty-button,.nutrition-empty-button-secondary,.nutrition-open-chat-btn,.nutrition-add-manual-btn{width:100%}}.onboarding-section-progress{margin-bottom:8px}.onboarding-section-label{font-size:13px;font-weight:700;color:var(--tg-button-bg);letter-spacing:.02em;margin-bottom:8px}.onboarding-section-bar{display:flex;gap:4px}.onboarding-segment{flex:1;height:6px;background:#0000000f;border-radius:3px;overflow:hidden;position:relative}.onboarding-segment-fill{height:100%;background:var(--tg-button-bg);border-radius:3px;transition:width var(--transition-spring)}.onboarding-segment-done .onboarding-segment-fill{width:100%!important}.onboarding-segment-active{background:color-mix(in srgb,var(--tg-button-bg) 14%,transparent)}.onboarding-section-step-counter{font-size:12px;color:var(--tg-hint);margin-top:6px;text-align:right}.onboarding-question{font-size:18px;font-weight:600;line-height:1.5;padding:20px}@keyframes slideInRight{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.step-enter{animation:slideInRight .25s ease-out}.error-box{background:var(--red-bg);color:var(--red);border-radius:var(--radius-sm);padding:12px 16px;font-size:14px;font-weight:500;margin-bottom:16px;animation:shakeIn .3s ease-out}@keyframes shakeIn{0%{transform:translate(-4px);opacity:0}25%{transform:translate(3px)}50%{transform:translate(-2px)}to{transform:translate(0);opacity:1}}.success-box{background:var(--green-bg);color:var(--green);border-radius:var(--radius-sm);padding:12px 16px;font-size:14px;font-weight:500;margin-bottom:16px;animation:successSlideIn .3s ease-out}@keyframes successSlideIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.info-box{background:var(--blue-light);color:var(--tg-button-bg);border-radius:var(--radius-sm);padding:12px 16px;font-size:14px;font-weight:500;margin-bottom:16px;animation:successSlideIn .3s ease-out}.warning-box{background:var(--orange-bg);color:var(--orange);border-radius:var(--radius-sm);padding:12px 16px;font-size:14px;font-weight:500;margin-bottom:16px;animation:shakeIn .3s ease-out}@media(prefers-color-scheme:dark){.timeline:before{background:#ffffff5c}}.missed-banner{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:var(--radius-sm);background:var(--orange-bg);margin-bottom:12px}.missed-banner-text{font-size:14px;color:var(--orange);font-weight:500;flex:1}.missed-banner-btn{font-size:13px;font-weight:700;color:var(--orange);background:none;border:none;cursor:pointer;white-space:nowrap;padding:4px 8px;-webkit-tap-highlight-color:transparent}.missed-banner-close{background:none;border:none;color:var(--orange);opacity:.5;cursor:pointer;padding:4px;display:flex;-webkit-tap-highlight-color:transparent}.missed-banner-close svg{width:16px;height:16px}.onboarding-history-toggle{margin-bottom:8px;padding-left:0}.onboarding-history-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.onboarding-goal-picker{display:grid;gap:10px}.onboarding-custom-goal-btn{margin-top:2px}.onboarding-custom-toggle{margin-top:6px;padding-left:0}.onboarding-welcome{display:flex;flex-direction:column;align-items:center;text-align:center;padding:48px 20px 32px}.onboarding-welcome-icon{font-size:56px;margin-bottom:20px;line-height:1}.onboarding-welcome-title{font-size:26px;font-weight:760;letter-spacing:-.03em;line-height:1.2;margin-bottom:12px}.onboarding-welcome-subtitle{font-size:15px;color:var(--tg-hint);line-height:1.55;max-width:300px}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}.skeleton{background:linear-gradient(90deg,var(--tg-secondary-bg) 25%,color-mix(in srgb,var(--tg-secondary-bg) 70%,var(--tg-bg)) 50%,var(--tg-secondary-bg) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}.skeleton-card{border-radius:var(--radius-md)}.skeleton-circle{border-radius:50%}.loading{text-align:center;color:var(--tg-hint);padding:60px 0;font-size:15px;font-weight:500}.loading:after{content:"";display:block;width:24px;height:24px;margin:16px auto 0;border:2.5px solid rgba(0,0,0,.08);border-top-color:var(--tg-button-bg);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.section-title{font-size:13px;font-weight:700;color:var(--tg-hint);letter-spacing:.03em;margin-bottom:12px}.divider{height:.5px;background:#00000014;margin:20px 0}.row{display:flex;align-items:center;gap:12px}.spacer{flex:1}.text-hint{color:var(--tg-hint)}.text-small{font-size:13px}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mb-8{margin-bottom:8px}.mb-12{margin-bottom:12px}.mb-16{margin-bottom:16px}.empty-state{text-align:center;padding:32px 20px}.empty-state-icon{width:64px;height:64px;margin:0 auto 14px;border-radius:18px;display:flex;align-items:center;justify-content:center;color:var(--tg-button-bg);background:var(--blue-medium)}.empty-state-icon svg{width:30px;height:30px;stroke-width:1.9}.empty-state-icon .empty-stats-illustration{width:78px;height:78px;stroke-width:initial}.empty-stats-bg{fill:color-mix(in srgb,var(--tg-bg) 88%,white 12%);stroke:color-mix(in srgb,var(--tg-button-bg) 24%,transparent);stroke-width:1.6}.empty-stats-axis{stroke:color-mix(in srgb,var(--tg-text) 18%,transparent);stroke-width:1.8;stroke-linecap:round}.empty-stats-line{fill:none;stroke:var(--tg-button-bg);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.empty-stats-arrow{fill:none;stroke:var(--green);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.empty-stats-point{fill:var(--tg-bg);stroke:var(--tg-button-bg);stroke-width:1.8}.empty-state-title{font-size:18px;font-weight:700;margin-bottom:8px}.empty-state-desc{font-size:14px;color:var(--tg-hint);line-height:1.5}.result-card{background:var(--surface-1);border:1px solid rgba(0,0,0,.06);box-shadow:var(--shadow-card);border-radius:var(--radius-lg);padding:28px 20px;text-align:center;margin-bottom:16px;animation:resultCardIn .4s cubic-bezier(.34,1.56,.64,1)}@keyframes resultCardIn{0%{opacity:0;transform:scale(.92) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.result-icon{width:72px;height:72px;margin:0 auto 16px;border-radius:22px;display:flex;align-items:center;justify-content:center;color:var(--tg-button-bg);background:var(--blue-medium)}.result-icon svg{width:38px;height:38px;stroke-width:1.9}.result-score{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;font-size:24px;font-weight:800;color:#fff;margin-bottom:16px;animation:scorePop .5s cubic-bezier(.34,1.56,.64,1) .15s both}@keyframes scorePop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.result-title{font-size:20px;font-weight:700;margin-bottom:8px}.result-summary{font-size:14px;color:var(--tg-hint);line-height:1.6}.celebration-wrap{position:relative}.confetti{position:fixed;inset:0;pointer-events:none;z-index:50;overflow:hidden}.confetti-piece{position:absolute;top:-14px;opacity:0;animation-name:confettiFall;animation-timing-function:cubic-bezier(.22,.61,.36,1);animation-fill-mode:forwards}@keyframes confettiFall{0%{opacity:0;transform:translate3d(0,-20px,0) rotate(0)}12%{opacity:1}to{opacity:0;transform:translate3d(var(--confetti-drift, 0px),110vh,0) rotate(var(--confetti-rotate-end, 540deg))}}@media(prefers-reduced-motion:reduce){.confetti{display:none}.confetti-piece{animation:none!important}}.schedule-details{font-size:14px;color:var(--tg-hint);border-top:.5px solid rgba(0,0,0,.08);padding-top:12px;margin-top:8px;white-space:pre-wrap;line-height:1.6;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.expand-icon{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;color:var(--tg-hint);flex-shrink:0;transition:transform var(--transition);opacity:.7}.expand-icon svg{width:15px;height:15px}.expand-icon.expanded{transform:rotate(180deg)}.deviation-tag{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--orange);background:var(--orange-bg);padding:5px 10px;border-radius:20px;margin-top:8px}.tag-icon{width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center}.tag-icon svg{width:14px;height:14px}.btn-danger{background:var(--red);color:#fff;box-shadow:none}.danger-zone{margin-top:32px;padding-top:20px;border-top:2px solid var(--red-bg)}.danger-zone-title{font-size:13px;font-weight:700;color:var(--red);text-transform:uppercase;letter-spacing:.03em;margin-bottom:12px}.modal-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:200;padding:24px;animation:fadeInOverlay .2s ease-out}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.modal-card{background:var(--tg-bg);border:1px solid rgba(0,0,0,.06);border-radius:var(--radius-lg);padding:28px 24px;width:100%;max-width:340px;box-shadow:var(--shadow-elevated);animation:scaleIn .25s cubic-bezier(.34,1.56,.64,1)}.goal-edit-modal-card{max-width:420px;max-height:min(80vh,680px);overflow-y:auto;padding:24px 20px}.activities-edit-modal-card,.move-workout-modal-card{max-width:420px;max-height:min(82vh,720px);overflow-y:auto;padding:24px 20px}.move-workout-modal-icon{color:var(--tg-button-bg);background:var(--blue-light)}.move-workout-source-card{border:1px solid rgba(0,0,0,.08);background:var(--surface-1);border-radius:16px;padding:14px 16px;margin-bottom:12px}.move-workout-source-label{font-size:15px;font-weight:650;color:var(--tg-text)}.move-workout-source-date{margin-top:4px;font-size:13px;color:var(--tg-hint)}.move-workout-target-list{display:grid;gap:10px}.move-workout-target-button{width:100%;border:1px solid rgba(0,0,0,.08);border-radius:16px;background:var(--surface-1);padding:14px 16px;text-align:left;display:grid;gap:4px;cursor:pointer;transition:transform var(--transition),border-color var(--transition),box-shadow var(--transition)}.move-workout-target-button:active:not(:disabled){transform:scale(.98);border-color:#3390ec59}.move-workout-target-button:disabled{opacity:.45;cursor:not-allowed}.move-workout-target-title{font-size:15px;font-weight:650;color:var(--tg-text)}.move-workout-target-subtitle{font-size:13px;color:var(--tg-hint)}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.modal-title{font-size:18px;font-weight:700;text-align:center;margin-bottom:8px}.modal-desc{font-size:14px;color:var(--tg-hint);text-align:center;line-height:1.5;margin-bottom:24px}.modal-alert-icon{width:54px;height:54px;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;border-radius:16px;color:var(--orange);background:var(--orange-bg)}.modal-alert-icon svg{width:28px;height:28px}.modal-actions{display:flex;gap:10px}.modal-actions .btn{flex:1;padding:12px 16px;font-size:15px}.subscription-card{position:relative;overflow:hidden}.subscription-card:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--tg-button-bg),#5ac8fa)}.subscription-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.subscription-eyebrow{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--tg-hint)}.subscription-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:4px}.subscription-title{font-size:19px;font-weight:760;line-height:1.1;letter-spacing:-.02em}.subscription-base-pill{display:inline-flex;align-items:center;border-radius:999px;font-size:11px;font-weight:650;color:var(--tg-hint);background:color-mix(in srgb,var(--tg-text) 7%,transparent);padding:4px 8px}.subscription-plan-pill{flex-shrink:0;display:inline-flex;align-items:center;border-radius:999px;font-size:12px;font-weight:700;padding:4px 10px}.subscription-plan-pill.plan-free{color:var(--tg-hint);background:color-mix(in srgb,var(--tg-text) 8%,transparent)}.subscription-plan-pill.plan-pro{color:var(--tg-button-bg);background:var(--blue-light)}.subscription-plan-pill.plan-max{color:var(--orange);background:var(--orange-bg)}.subscription-trial-note{margin-top:12px;font-size:13px;color:var(--tg-button-bg);background:var(--blue-light);border-radius:10px;padding:8px 10px}.subscription-quotas{margin-top:12px;display:flex;flex-direction:column;gap:11px}.subscription-quota-row{border:1px solid color-mix(in srgb,var(--tg-text) 10%,transparent);border-radius:12px;background:var(--surface-2);padding:10px}.subscription-quota-row.is-warning{border-color:color-mix(in srgb,var(--orange) 35%,transparent)}.subscription-quota-row.is-empty{border-color:color-mix(in srgb,var(--red) 45%,transparent);background:var(--red-bg)}.subscription-quota-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.subscription-quota-label{font-size:13px;font-weight:700}.subscription-quota-value{font-size:12px;color:var(--tg-hint);white-space:nowrap}.subscription-progress-track{margin-top:8px;height:7px;width:100%;border-radius:999px;background:color-mix(in srgb,var(--tg-text) 10%,transparent);overflow:hidden}.subscription-progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--tg-button-bg),#5ac8fa);transition:width var(--transition)}.subscription-quota-row.is-warning .subscription-progress-fill{background:linear-gradient(90deg,#ffb340,var(--orange))}.subscription-quota-row.is-empty .subscription-progress-fill{background:linear-gradient(90deg,#ff6a60,var(--red))}.subscription-meta{margin-top:12px}.subscription-period{font-size:12px;color:var(--tg-hint)}.subscription-warning-note{margin-top:6px;font-size:12px;color:var(--red)}.subscription-prices{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px}.subscription-price-chip{display:inline-flex;align-items:center;border-radius:999px;font-size:12px;font-weight:650;color:var(--tg-text);background:color-mix(in srgb,var(--tg-text) 9%,transparent);padding:5px 10px}.subscription-promo-copy{margin-top:10px;font-size:13px;color:var(--tg-hint);line-height:1.45}.subscription-upgrade-btn{margin-top:12px;display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%}.subscription-card-detailed .subscription-title{font-size:21px}.payment-soon-modal-card{max-width:360px}.payment-soon-icon{width:54px;height:54px;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;border-radius:16px;color:var(--tg-button-bg);background:var(--blue-light)}.payment-soon-icon svg{width:28px;height:28px}.payment-soon-note{font-size:13px;text-align:center;color:var(--tg-hint);line-height:1.45}.payment-soon-modal-card .modal-desc{margin-bottom:14px}.payment-soon-modal-card .modal-actions{margin-top:16px}.subscription-upsell-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:14px;padding-bottom:14px}.subscription-upsell-copy{min-width:0}.subscription-upsell-title{font-size:14px;font-weight:700;line-height:1.25}.subscription-upsell-subtitle{margin-top:4px;font-size:12px;color:var(--tg-hint);line-height:1.4}.subscription-upsell-btn{flex-shrink:0;display:inline-flex;align-items:center;gap:6px;width:auto;padding-left:12px;padding-right:12px}@media(max-width:420px){.subscription-upsell-banner{flex-direction:column;align-items:stretch}.subscription-upsell-btn{width:100%;justify-content:center}}.profile-header{display:flex;align-items:center;gap:14px}.profile-avatar{width:64px;height:64px;border-radius:50%;background:var(--gradient-score);color:#fff;display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:700;flex-shrink:0;box-shadow:0 4px 12px #3390ec33}.profile-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.profile-goal-chip{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;padding:3px 10px;border-radius:20px;background:var(--blue-light);color:var(--tg-button-bg);margin-top:4px}.profile-field{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:.5px solid rgba(0,0,0,.06)}.profile-field:last-child{border-bottom:none}.profile-field-label{font-size:14px;color:var(--tg-hint)}.profile-field-value{font-size:14px;font-weight:600}.profile-card-icon{display:flex;align-items:center;gap:8px;margin-bottom:12px}.profile-card-icon svg{width:18px;height:18px;color:var(--tg-button-bg)}.profile-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.profile-activities-list{display:flex;flex-direction:column;gap:10px}.profile-activity-item{border:1px solid rgba(0,0,0,.08);border-radius:14px;background:var(--surface-1);padding:12px}.profile-activity-title{font-size:15px;font-weight:650;line-height:1.35;margin-bottom:4px}.profile-activity-days{font-size:13px;color:var(--tg-hint);margin-bottom:8px}.profile-activity-meta{display:flex;flex-wrap:wrap;gap:6px}.profile-activity-badge{display:inline-flex;align-items:center;border-radius:999px;background:#0000000d;color:var(--tg-hint);font-size:12px;font-weight:600;padding:4px 10px}.profile-activity-badge.intensity-low{background:var(--green-bg);color:var(--green)}.profile-activity-badge.intensity-medium{background:var(--orange-bg);color:var(--orange)}.profile-activity-badge.intensity-high{background:var(--red-bg);color:var(--red)}.profile-activities-empty{border:1px dashed rgba(0,0,0,.14);border-radius:14px;padding:14px 12px;font-size:14px;color:var(--tg-hint);text-align:center}.days-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.day-chip{border:1.5px solid rgba(0,0,0,.1);border-radius:999px;background:var(--tg-bg);color:var(--tg-text);padding:10px 0;min-height:44px;font-size:13px;font-weight:600;cursor:pointer;transition:all var(--transition);-webkit-tap-highlight-color:transparent;display:flex;align-items:center;justify-content:center}.day-chip.active{border-color:var(--tg-button-bg);background:var(--blue-medium);color:var(--tg-button-bg)}.day-chip.conflict{border-color:#e249586b;background:var(--red-bg);color:var(--red)}.btn-save-pulse{box-shadow:0 10px 24px #3390ec33}.btn-save-pulse:active:not(:disabled){box-shadow:0 6px 16px #3390ec2e}.workout-meta{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}.meta-badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:3px 10px;border-radius:20px;background:#0000000a;color:var(--tg-hint)}.meta-icon{width:14px;height:14px;display:inline-flex;align-items:center;justify-content:center}.meta-icon svg{width:14px;height:14px}.meta-badge.intensity-low{background:var(--green-bg);color:var(--green)}.meta-badge.intensity-med{background:var(--orange-bg);color:var(--orange)}.meta-badge.intensity-high{background:var(--red-bg);color:var(--red)}.exercise-list{list-style:none;padding:0;margin:0}.exercise-item{position:relative;padding:6px 0 6px 16px;font-size:14px;color:var(--tg-text);line-height:1.45}.exercise-item:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:6px;height:6px;border-radius:50%;background:var(--tg-button-bg);opacity:.5}.exercise-item+.exercise-item{border-top:.5px solid rgba(0,0,0,.04)}.status-pill{display:inline-flex;align-items:center;font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;margin-top:8px}.status-completed{background:var(--green-bg);color:var(--green)}.status-skipped{background:var(--orange-bg);color:var(--orange)}.status-missed{background:var(--red-bg);color:var(--red)}.status-planned{background:var(--blue-medium);color:var(--tg-button-bg)}.status-rest{background:#8e8e931f;color:#8e8e93}.preview-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px}.preview-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;background:var(--surface-1);border:1px solid rgba(0,0,0,.06);border-radius:var(--radius-sm);transition:transform var(--transition);-webkit-tap-highlight-color:transparent;text-align:center;min-width:0;width:100%;cursor:pointer;font:inherit;appearance:none;-webkit-appearance:none}.preview-item:active{transform:scale(.96)}.preview-day{font-size:11px;font-weight:700;color:var(--tg-hint);text-transform:capitalize}.preview-icon{display:flex;align-items:center;justify-content:center;color:var(--tg-button-bg)}.preview-label{font-size:11px;font-weight:500;color:var(--tg-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.preview-today{border-color:var(--tg-button-bg);background:var(--blue-light)}.preview-today .preview-day{color:var(--tg-button-bg)}.preview-done{border-color:var(--green);background:var(--green-bg)}.preview-done .preview-icon{color:var(--green)}.preview-skipped{opacity:.5}.preview-selected{box-shadow:inset 0 0 0 1px var(--tg-button-bg)}.card-stagger{animation:fadeIn .3s ease-out both}.card-stagger:nth-child(1){animation-delay:0ms}.card-stagger:nth-child(2){animation-delay:30ms}.card-stagger:nth-child(3){animation-delay:60ms}.card-stagger:nth-child(4){animation-delay:90ms}.card-stagger:nth-child(5){animation-delay:.12s}.card-stagger:nth-child(6){animation-delay:.15s}.card-stagger:nth-child(7){animation-delay:.18s}.card-stagger:nth-child(8){animation-delay:.21s}.card-stagger:nth-child(9){animation-delay:.24s}.card-stagger:nth-child(10){animation-delay:.27s}.exercise-card{background:var(--tg-secondary-bg);border:1px solid var(--surface-border);border-radius:var(--radius-md);padding:14px 14px 12px;margin-bottom:10px}.exercise-card-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.exercise-card-number{flex-shrink:0;width:26px;height:26px;border-radius:50%;background:var(--tg-button-bg);color:var(--tg-button-text);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1}.exercise-card-name-input{flex:1;min-width:0;padding:10px 12px;border:1.5px solid transparent;border-radius:var(--radius-sm);background:var(--tg-bg);color:var(--tg-text);font-size:15px;font-weight:600;font-family:inherit;outline:none;transition:border-color var(--transition),box-shadow var(--transition)}.exercise-card-name-input:focus{border-color:var(--tg-button-bg);box-shadow:0 0 0 3px #3390ec24}.exercise-card-name-input::placeholder{color:var(--tg-hint);font-weight:400;opacity:.7}.exercise-card-remove{flex-shrink:0;width:32px;height:32px;border:none;border-radius:50%;background:var(--red-bg);color:var(--red);font-size:13px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition);-webkit-tap-highlight-color:transparent;padding:0}.exercise-card-remove:active{transform:scale(.88)}.exercise-type-label{display:inline-block;margin-bottom:10px;padding:5px 12px;border-radius:999px;background:var(--blue-light);color:var(--tg-button-bg);font-size:12px;font-weight:600;border:1.5px solid rgba(51,144,236,.3)}.exercise-card-types{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:10px}.exercise-type-chip{padding:7px 4px;border-radius:999px;border:1.5px solid var(--surface-border);background:var(--tg-bg);color:var(--tg-hint);font-size:12px;font-weight:600;cursor:pointer;transition:all var(--transition);-webkit-tap-highlight-color:transparent;line-height:1;text-align:center;white-space:nowrap}.exercise-type-chip.active{border-color:var(--tg-button-bg);background:var(--blue-light);color:var(--tg-button-bg)}.exercise-type-chip:active{transform:scale(.93)}.exercise-card-status{margin-bottom:10px}.exercise-sets{margin-top:8px}.exercise-sets-header,.exercise-set-row{display:grid;grid-template-columns:28px 1fr 1fr 28px;align-items:center;gap:6px}.exercise-sets-header{margin-bottom:4px}.exercise-sets-col-label{font-size:11px;font-weight:600;color:var(--tg-hint);letter-spacing:.04em;text-transform:uppercase;text-align:center}.exercise-set-row{margin-bottom:6px}.exercise-set-num{font-size:13px;font-weight:700;color:var(--tg-hint);text-align:center}.exercise-set-input{padding:10px 6px;border:1.5px solid var(--surface-border);border-radius:var(--radius-sm);background:var(--tg-bg);color:var(--tg-text);font-size:15px;font-weight:600;font-family:inherit;text-align:center;width:100%;outline:none;transition:border-color var(--transition),box-shadow var(--transition);font-variant-numeric:tabular-nums;-moz-appearance:textfield}.exercise-set-input::-webkit-inner-spin-button,.exercise-set-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.exercise-set-input:focus{border-color:var(--tg-button-bg);box-shadow:0 0 0 3px #3390ec24}.exercise-set-input::placeholder{color:var(--tg-hint);opacity:.5}.exercise-set-remove{width:28px;height:28px;border:none;border-radius:50%;background:transparent;color:var(--tg-hint);font-size:20px;font-weight:300;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition);-webkit-tap-highlight-color:transparent;padding:0;line-height:1;justify-self:center}.exercise-set-remove:active{color:var(--red);transform:scale(.88)}.exercise-add-set{display:inline-flex;align-items:center;gap:4px;margin-top:4px;padding:8px 14px;border-radius:999px;border:1.5px dashed var(--surface-border);background:transparent;color:var(--tg-button-bg);font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:all var(--transition);-webkit-tap-highlight-color:transparent}.exercise-add-set:active{transform:scale(.95)}.exercise-metric-row{margin-top:8px}.exercise-metric-field{display:flex;flex-direction:column;gap:4px}.exercise-metric-label{font-size:11px;font-weight:600;color:var(--tg-hint);letter-spacing:.04em;text-transform:uppercase}.exercise-run-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:8px}.exercise-add-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px}.exercise-add-btn{padding:11px 8px;border-radius:var(--radius-sm);border:1.5px dashed var(--surface-border);background:transparent;color:var(--tg-button-bg);font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:all var(--transition);-webkit-tap-highlight-color:transparent;text-align:center}.exercise-add-btn:active{background:var(--blue-light);transform:scale(.96)}.report-page{padding-bottom:calc(env(safe-area-inset-bottom,0px) + 218px)}.report-extra-card{margin-bottom:0}.report-extra-toggle{width:100%;padding:0;border:none;background:none;color:inherit;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;cursor:pointer}.report-extra-toggle svg{width:18px;height:18px;color:var(--tg-hint);flex-shrink:0;transition:transform var(--transition)}.report-extra-body{margin-top:14px}.sticky-submit-bar{position:fixed;left:16px;right:16px;bottom:calc(env(safe-area-inset-bottom,0px) + 92px);max-width:448px;margin:0 auto;padding:12px;border-radius:20px;border:1px solid var(--surface-border);background:color-mix(in srgb,var(--surface-1) 92%,transparent);box-shadow:var(--shadow-elevated);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);z-index:160}.sticky-submit-copy{margin-bottom:10px;font-size:13px;line-height:1.45;color:var(--tg-hint)}.report-result-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px}@media(max-width:380px){.sticky-submit-bar{left:12px;right:12px}.exercise-sets-header,.exercise-set-row{grid-template-columns:24px 1fr 1fr 24px;gap:4px}.exercise-set-input{font-size:14px;padding:8px 4px}.exercise-set-remove{width:24px;height:24px;font-size:18px}.exercise-run-fields{grid-template-columns:1fr 1fr}}
