:root{--bg: #0A0A0B;--bg-card: #141416;--bg-elevated: #1C1C1F;--text: #FFFFFF;--text-secondary: #9CA3AF;--text-dim: #6B7280;--accent: #F59E0B;--accent-glow: rgba(245, 158, 11, .15);--success: #10B981;--danger: #EF4444;--phase-warmup: #06B6D4;--phase-strength: #F59E0B;--phase-rollout: #8B5CF6;--rainbow: linear-gradient(90deg, #EF4444, #F97316, #F59E0B, #10B981, #06B6D4, #8B5CF6, #EC4899);--radius: 16px;--radius-sm: 8px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;overflow:hidden;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,system-ui,sans-serif;font-size:18px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;user-select:none;-webkit-user-select:none}#app{height:100%;display:flex;flex-direction:column;padding-top:var(--safe-top);padding-bottom:var(--safe-bottom);padding-left:var(--safe-left);padding-right:var(--safe-right)}::view-transition-old(root){animation:vt-fade-out .25s ease-in both}::view-transition-new(root){animation:vt-fade-in .3s ease-out both}@keyframes vt-fade-out{to{opacity:0;transform:scale(.98)}}@keyframes vt-fade-in{0%{opacity:0;transform:scale(1.01)}to{opacity:1;transform:scale(1)}}.screen{flex:1;display:flex;flex-direction:column;overflow:hidden}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes popIn{0%{transform:scale(0)}70%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes popBounce{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2);opacity:1}70%{transform:scale(.95)}to{transform:scale(1);opacity:1}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.06);opacity:.85}}@keyframes breathe{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes flicker{0%,to{transform:scale(1) rotate(-1deg)}25%{transform:scale(1.08) rotate(1deg)}50%{transform:scale(1.15) rotate(-2deg)}75%{transform:scale(1.05) rotate(1.5deg)}}@keyframes ringGlow{0%,to{filter:drop-shadow(0 0 4px var(--glow-color))}50%{filter:drop-shadow(0 0 12px var(--glow-color))}}@keyframes celebratePulse{0%{box-shadow:0 0 #10b98166}70%{box-shadow:0 0 0 20px #10b98100}to{box-shadow:0 0 #10b98100}}@keyframes progressPulse{0%,to{opacity:1;filter:brightness(1) drop-shadow(0 0 0px transparent)}50%{opacity:.85;filter:brightness(1.4) drop-shadow(0 0 6px rgba(245,158,11,.5))}}@keyframes urgentPulse{0%,to{opacity:1}50%{opacity:.6}}.stagger-slow>*{animation:fadeSlideUp .5s ease-out both}.stagger-slow>*:nth-child(1){animation-delay:0ms}.stagger-slow>*:nth-child(2){animation-delay:.4s}.stagger-slow>*:nth-child(3){animation-delay:.8s}.stagger-slow>*:nth-child(4){animation-delay:1.2s}.stagger-slow>*:nth-child(5){animation-delay:1.6s}.home{padding:24px 20px;justify-content:space-between}.home-header{display:flex;justify-content:space-between;align-items:center}.home-title{font-size:32px;font-weight:700;letter-spacing:-.5px;background:var(--rainbow);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;background-size:200% auto;animation:shimmer 6s linear infinite}.home-nav{display:flex;gap:8px}.home-nav button{background:var(--bg-elevated);border:none;color:var(--text-secondary);font-size:20px;cursor:pointer;padding:10px 14px;border-radius:var(--radius-sm);transition:transform .15s,background .15s}.home-nav button:active{color:var(--text);background:var(--bg-card);transform:scale(.92)}.home-status{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.home-streak{display:flex;align-items:baseline;gap:8px;font-size:72px;font-weight:800;letter-spacing:-2px}.streak-flame{display:inline-block;animation:flicker 1.5s ease-in-out infinite;filter:drop-shadow(0 0 8px rgba(245,158,11,.4))}.streak-flame.hot{animation-duration:.8s;filter:drop-shadow(0 0 14px rgba(239,68,68,.6))}.home-streak-label{font-size:18px;color:var(--text-secondary);font-weight:400}.home-today-status{font-size:18px;color:var(--text-secondary);padding:8px 18px;border-radius:100px;background:var(--bg-card);transition:all .3s}.home-today-status.completed{color:var(--success);background:#10b9811a;animation:celebratePulse 2s ease-out}.home-week{font-size:15px;color:var(--text-dim);background:var(--bg-elevated);padding:6px 14px;border-radius:100px}.home-bottom{display:flex;flex-direction:column;gap:8px}.btn-start{width:100%;padding:18px;border:none;border-radius:var(--radius);background:var(--rainbow);background-size:200% auto;color:#000;font-size:20px;font-weight:700;cursor:pointer;letter-spacing:-.3px;transition:transform .15s,opacity .1s;animation:shimmer 4s linear infinite}.btn-start:active{transform:scale(.97);opacity:.9}.btn-start.btn-start-quick{background:var(--bg-elevated);color:var(--text);border:2px solid var(--bg-elevated);animation:none}.btn-start.btn-start-quick:active{border-color:var(--accent)}.home-mode{text-align:center;font-size:14px;color:var(--text-dim);margin-bottom:4px}.settings{padding:24px 20px;overflow-y:auto}.settings-header{display:flex;align-items:center;gap:12px;margin-bottom:32px}.btn-back{background:none;border:none;color:var(--text-secondary);font-size:24px;cursor:pointer;padding:8px;transition:transform .15s}.btn-back:active{transform:translate(-3px)}.settings-title{font-size:24px;font-weight:700}.settings-group{margin-bottom:28px}.settings-label{font-size:15px;color:var(--text-secondary);margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px}.segmented{display:flex;background:var(--bg-elevated);border-radius:var(--radius-sm);padding:3px;gap:2px}.segmented button{flex:1;padding:12px 8px;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);font-size:16px;font-weight:500;cursor:pointer;transition:all .2s}.segmented button.active{background:var(--accent);color:#000;font-weight:600}.toggle-row{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--bg-elevated)}.toggle-row-label{font-size:18px}.toggle{position:relative;width:52px;height:32px;background:var(--bg-elevated);border-radius:16px;border:none;cursor:pointer;transition:background .2s}.toggle.on{background:var(--accent)}.toggle:after{content:"";position:absolute;top:3px;left:3px;width:26px;height:26px;background:#fff;border-radius:50%;transition:transform .2s}.toggle.on:after{transform:translate(20px)}.workout-preview{margin-top:12px;display:flex;flex-direction:column;gap:4px}.preview-phase-label{font-size:13px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;font-weight:600;margin-top:12px;margin-bottom:4px}.preview-phase-label:first-child{margin-top:0}.preview-exercise{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--bg-card);border-radius:var(--radius-sm);transition:transform .15s}.preview-exercise:active{transform:scale(.98)}.preview-icon{font-size:20px;width:28px;text-align:center;flex-shrink:0}.preview-info{display:flex;flex-direction:column;gap:1px;min-width:0}.preview-name{font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-dur{font-size:13px;color:var(--text-dim)}.workout-progress-bar{height:5px;background:var(--bg-elevated);width:100%;flex-shrink:0;overflow:hidden}.workout-progress-fill{height:100%;border-radius:2px;transition:width .4s ease;background:var(--rainbow)!important;background-size:200% auto!important;animation:shimmer 3s linear infinite,progressPulse 2s ease-in-out infinite}.workout-layout{padding:0;position:relative;touch-action:pan-y}.workout-header{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;gap:8px;flex-shrink:0}.workout-header-time{display:flex;align-items:baseline;gap:4px}.remaining-countdown{font-size:20px;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums}.remaining-label{font-size:13px;color:var(--text-dim)}.workout-phase{font-size:14px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-weight:600;flex:1;text-align:center}.workout-step-count{font-size:13px;color:var(--text-dim);font-variant-numeric:tabular-nums}.btn-pause{background:var(--bg-elevated);border:none;color:var(--text-secondary);font-size:18px;cursor:pointer;padding:6px 12px;border-radius:var(--radius-sm);transition:transform .15s}.btn-pause:active{background:var(--bg-card);color:var(--text);transform:scale(.9)}.btn-close{background:none;border:none;color:var(--text-dim);font-size:22px;cursor:pointer;padding:8px;transition:transform .15s}.btn-close:active{transform:scale(.9)}.workout-body{flex:1;display:flex;flex-direction:column;align-items:center;padding:16px 24px 0;text-align:center;overflow-y:auto;min-height:0}.workout-icon{width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:36px;margin-bottom:12px;flex-shrink:0;animation:popIn .4s cubic-bezier(.34,1.56,.64,1)}.workout-name{font-size:24px;font-weight:700;margin-bottom:6px;letter-spacing:-.3px;flex-shrink:0;animation:fadeSlideUp .35s ease-out both;animation-delay:50ms}.workout-meta{display:flex;gap:8px;margin-bottom:12px;justify-content:center;flex-wrap:wrap;flex-shrink:0;animation:fadeSlideUp .35s ease-out both;animation-delay:.1s}.workout-badge{font-size:14px;color:var(--accent);background:var(--accent-glow);padding:6px 14px;border-radius:100px;font-weight:600;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;line-height:1.2}.workout-badge .tempo-explain{font-size:11px;font-weight:400;color:var(--text-dim)}.hold-badge{color:var(--phase-warmup);background:#06b6d426}.workout-set-badge{font-size:14px;color:var(--text-secondary);background:var(--bg-elevated);padding:6px 14px;border-radius:100px;display:inline-flex;align-items:center;justify-content:center;line-height:1.2}.workout-why{font-size:15px;color:var(--text-secondary);font-style:italic;max-width:340px;line-height:1.4;margin-bottom:4px;flex-shrink:0;animation:fadeSlideUp .4s ease-out both;animation-delay:.12s}.workout-muscles{font-size:12px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;flex-shrink:0;animation:fadeSlideUp .4s ease-out both;animation-delay:.16s}.workout-cues{list-style:none;display:flex;flex-direction:column;gap:10px;text-align:left;width:100%;max-width:380px}.workout-cues li{font-size:16px;color:var(--text-secondary);line-height:1.5;padding-left:22px;position:relative;animation:fadeSlideUp .4s ease-out both}.workout-cues li:nth-child(1){animation-delay:.15s}.workout-cues li:nth-child(2){animation-delay:.23s}.workout-cues li:nth-child(3){animation-delay:.31s}.workout-cues li:nth-child(4){animation-delay:.39s}.workout-cues li:before{content:"";position:absolute;left:2px;top:9px;width:7px;height:7px;border-radius:50%;background:var(--cue-color, var(--accent))}.workout-footer{display:flex;flex-direction:column;align-items:center;padding:12px 20px 16px;gap:12px;flex-shrink:0}.timer-ring-container{position:relative;width:100px;height:100px}.timer-ring{transform:rotate(-90deg)}.timer-ring-bg{fill:none;stroke:var(--bg-elevated);stroke-width:6}.timer-ring-progress{fill:none;stroke-width:6;stroke-linecap:round;transition:stroke-dashoffset .1s linear}.timer-ring-progress.glow{stroke-width:7;animation:ringGlow 1s ease-in-out infinite}.timer-text{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:700;font-variant-numeric:tabular-nums}.timer-text.urgent{color:var(--danger);animation:urgentPulse .8s ease-in-out infinite}.transition-countdown{font-size:56px;font-weight:700;background:var(--rainbow);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:shimmer 3s linear infinite;font-variant-numeric:tabular-nums;min-width:80px;text-align:center}.workout-nav-btns{display:flex;gap:12px;width:100%;justify-content:center}.btn-prev,.btn-next,.btn-trans-back,.btn-skip{flex:1;max-width:160px;padding:12px 0;border:2px solid var(--bg-elevated);border-radius:var(--radius);background:transparent;color:var(--text-secondary);font-size:16px;font-weight:600;cursor:pointer;transition:all .15s;text-align:center}.btn-prev:active,.btn-next:active,.btn-trans-back:active,.btn-skip:active{background:var(--bg-elevated);color:var(--text);transform:scale(.96)}.transition-bg{background:linear-gradient(135deg,#0d0d1a,#141428,#0f0f20,#0d0d1a)!important;background-size:300% 300%!important;animation:breathe 8s ease-in-out infinite!important}.transition-bg .workout-body{border-top:1px solid rgba(139,92,246,.08)}.pause-overlay{position:fixed;inset:0;background:#0a0a0bd9;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:100;overflow-y:auto;padding:40px 20px;animation:fadeIn .2s ease-out}.pause-content{display:flex;flex-direction:column;align-items:center;gap:14px;max-width:360px;width:100%;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:32px 24px;box-shadow:0 8px 32px #0000004d}.pause-title{font-size:36px;font-weight:700;background:var(--rainbow);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.pause-exercise{font-size:20px;color:var(--text-secondary)}.pause-stats{font-size:16px;color:var(--text-dim);font-variant-numeric:tabular-nums}.pause-cues{width:100%}.pause-cues .workout-cues{gap:8px}.pause-cues .workout-cues li{font-size:16px;color:var(--text-secondary);line-height:1.5;animation:none}.pause-actions{display:flex;flex-direction:column;gap:12px;width:100%;margin-top:8px}.btn-resume{padding:16px;border:none;border-radius:var(--radius);background:var(--rainbow);background-size:200% auto;color:#000;font-size:18px;font-weight:700;cursor:pointer;animation:shimmer 4s linear infinite;transition:transform .15s}.btn-resume:active{transform:scale(.97)}.btn-quit{padding:16px;border:2px solid var(--bg-elevated);border-radius:var(--radius);background:transparent;color:var(--text-secondary);font-size:18px;font-weight:600;cursor:pointer;transition:transform .15s}.btn-quit:active{transform:scale(.97)}.complete{justify-content:center;align-items:center;gap:0;padding:40px 20px;text-align:center;background:linear-gradient(180deg,rgba(16,185,129,.08) 0%,var(--bg) 40%)}.complete-check{width:100px;height:100px;border-radius:50%;background:var(--rainbow);background-size:200% auto;display:flex;align-items:center;justify-content:center;font-size:48px;animation:popBounce .6s cubic-bezier(.34,1.56,.64,1),shimmer 4s linear infinite,celebratePulse 2s ease-out .6s;margin-bottom:20px}.complete-title{font-size:32px;font-weight:700;background:var(--rainbow);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:shimmer 4s linear infinite,fadeSlideUp .5s ease-out both;animation-delay:0ms,.3s;margin-bottom:8px}.complete-subtitle{font-size:18px;color:var(--text-secondary);line-height:1.4;animation:fadeSlideUp .5s ease-out both;animation-delay:.6s;margin-bottom:24px}.complete-stats{display:flex;gap:16px;width:100%;max-width:340px;margin-bottom:24px}.complete-stat{flex:1;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);padding:16px 12px;text-align:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.complete-stat-value{font-size:28px;font-weight:700;font-variant-numeric:tabular-nums}.complete-stat-label{font-size:13px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;margin-top:4px}.complete-streak{font-size:22px;color:var(--text-secondary);animation:fadeSlideUp .5s ease-out both;animation-delay:.9s;margin-bottom:8px}.complete-encouragement{font-size:16px;color:var(--text-dim);font-style:italic;animation:fadeSlideUp .5s ease-out both;animation-delay:1.1s;margin-bottom:20px;max-width:300px}.btn-home{padding:16px 48px;border:none;border-radius:var(--radius);background:var(--bg-elevated);color:var(--text);font-size:18px;font-weight:600;cursor:pointer;transition:transform .15s;animation:fadeSlideUp .5s ease-out both;animation-delay:1.3s}.btn-home:active{transform:scale(.96)}.history{padding:24px 20px;overflow-y:auto}.history-header{display:flex;align-items:center;gap:12px;margin-bottom:24px}.history-title{font-size:24px;font-weight:700}.history-stats{display:flex;gap:12px;margin-bottom:24px}.history-stat{flex:1;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);border-radius:var(--radius);padding:16px;text-align:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:fadeSlideUp .4s ease-out both}.history-stat:nth-child(1){animation-delay:0ms}.history-stat:nth-child(2){animation-delay:80ms}.history-stat:nth-child(3){animation-delay:.16s}.history-stat-value{font-size:32px;font-weight:700}.history-stat-label{font-size:13px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-top:4px}.heatmap{display:flex;flex-direction:column;gap:3px;animation:fadeSlideUp .4s ease-out both;animation-delay:.24s}.heatmap-month-label{font-size:14px;color:var(--text-dim);margin-bottom:4px;margin-top:12px}.heatmap-row{display:flex;gap:3px;flex-wrap:wrap}.heatmap-cell{width:14px;height:14px;border-radius:3px;background:var(--bg-elevated);transition:background .3s,transform .3s,box-shadow .3s}.heatmap-cell.filled{background:var(--rainbow);background-size:400% auto;box-shadow:0 0 4px #8b5cf64d}.heatmap-cell.today{outline:2px solid var(--accent);outline-offset:1px;animation:pulse 2s ease-in-out infinite}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}::view-transition-old(root),::view-transition-new(root){animation:none!important}}
