:root{--color-primary:#00d4ff;--color-primary-dark:#00b0d4;--color-primary-light:#66e5ff;--color-primary-rgb:0, 212, 255;--color-background:#0a0a0b;--color-surface:#151517;--color-surface-hover:#1c1c1f;--color-surface-active:#252529;--color-border:#2a2a2f;--color-border-subtle:#1f1f23;--color-text-primary:#fff;--color-text-secondary:#a8a8b3;--color-text-tertiary:#6b6b76;--color-text-inverse:#0a0a0b;--color-success:#4cd964;--color-success-bg:#4cd9641a;--color-error:#ff453a;--color-error-bg:#ff453a1a;--color-warning:#ffd60a;--color-warning-bg:#ffd60a1a;--color-info:#64d2ff;--color-info-bg:#64d2ff1a;--space-1:.125rem;--space-2:.25rem;--space-3:.375rem;--space-4:.5rem;--space-6:.75rem;--space-8:1rem;--space-10:1.25rem;--space-12:1.5rem;--space-16:2rem;--space-20:2.5rem;--space-24:3rem;--space-32:4rem;--touch-target-min:2.75rem;--touch-target-comfortable:3rem;--touch-target-large:3.5rem;--space-xs:var(--space-2);--space-sm:var(--space-4);--space-md:var(--space-8);--space-lg:var(--space-12);--space-xl:var(--space-16);--space-2xl:var(--space-24);--space-3xl:var(--space-32);--font-primary:-apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;--font-mono:"SF Mono", "Monaco", "Inconsolata", "Fira Code", "Menlo", monospace;--text-caption2:.6875rem;--text-caption1:.75rem;--text-footnote:.8125rem;--text-subheadline:.9375rem;--text-callout:1rem;--text-body:1.0625rem;--text-headline:1.0625rem;--text-title3:1.25rem;--text-title2:1.375rem;--text-title1:1.75rem;--text-large-title:2.125rem;--text-xs:var(--text-caption1);--text-sm:var(--text-footnote);--text-base:var(--text-body);--text-lg:var(--text-title3);--text-xl:var(--text-title2);--text-2xl:var(--text-title1);--text-3xl:var(--text-large-title);--text-4xl:2.5rem;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #00000080;--shadow-md:0 4px 6px -1px #00000080, 0 2px 4px -1px #00000080;--shadow-lg:0 10px 15px -3px #00000080, 0 4px 6px -2px #00000080;--shadow-xl:0 20px 25px -5px #00000080, 0 10px 10px -5px #00000080;--shadow-glow:0 0 20px rgba(var(--color-primary-rgb), .3);--transition-fast:.15s ease-in-out;--transition-base:.25s ease-in-out;--transition-slow:.35s ease-in-out;--transition-spring:.3s cubic-bezier(.32, .72, 0, 1);--transition-bounce:.6s cubic-bezier(.68, -.55, .265, 1.55);--transition-native:.2s cubic-bezier(.25, .46, .45, .94);--z-dropdown:10;--z-sticky:20;--z-fixed:30;--z-modal-backdrop:40;--z-modal:50;--z-popover:60;--z-tooltip:70;--breakpoint-sm:640px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px;--breakpoint-2xl:1536px}@media (prefers-color-scheme:dark){:root{--color-background:#0a0a0b;--color-surface:#151517}}[data-theme=light]{--color-background:#fff;--color-surface:#f7f7f8;--color-surface-hover:#ececef;--color-surface-active:#e1e1e5;--color-border:#e1e1e5;--color-border-subtle:#f0f0f3;--color-text-primary:#1a1a1d;--color-text-secondary:#6b6b76;--color-text-tertiary:#a8a8b3;--color-text-inverse:#fff}.glass-effect{-webkit-backdrop-filter:blur(20px);border:1px solid var(--color-border-subtle);background:#151517b3}.gradient-border{background:linear-gradient(var(--color-surface), var(--color-surface)) padding-box, linear-gradient(135deg, var(--color-primary), var(--color-info)) border-box;border:2px solid #0000;position:relative}.text-gradient{background:linear-gradient(135deg, var(--color-primary), var(--color-info));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hover-lift{transition:transform var(--transition-base)}.hover-lift:hover{transform:translateY(-2px)}.focus-ring{transition:box-shadow var(--transition-fast)}.focus-ring:focus{box-shadow:0 0 0 3px rgba(var(--color-primary-rgb), .3);outline:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes slideInFromRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slideInFromLeft{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes bounce{0%,20%,53%,80%,to{transform:translateY(0)}40%,43%{transform:translateY(-15px)}70%{transform:translateY(-7px)}90%{transform:translateY(-3px)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes rubberBand{0%{transform:scale(1)}30%{transform:scale(1.25,.75)}40%{transform:scale(.75,1.25)}50%{transform:scale(1.15,.85)}65%{transform:scale(.95,1.05)}75%{transform:scale(1.05,.95)}to{transform:scale(1)}}.animate-fadeIn{animation:fadeIn var(--transition-spring) ease-out}.animate-slideInFromRight{animation:slideInFromRight var(--transition-spring) ease-out}.animate-slideInFromLeft{animation:slideInFromLeft var(--transition-spring) ease-out}.animate-slideUp{animation:slideUp var(--transition-spring) ease-out}.animate-scaleIn{animation:scaleIn var(--transition-native) ease-out}.animate-pulse{animation:2s ease-in-out infinite pulse}.animate-bounce{animation:bounce var(--transition-bounce) ease}.animate-rubberBand{animation:rubberBand var(--transition-bounce) ease}.skeleton{background:linear-gradient(90deg, var(--color-surface) 25%, var(--color-surface-hover) 50%, var(--color-surface) 75%);background-size:200% 100%;animation:1.5s ease-in-out infinite shimmer}
.haptic-light{animation:.15s ease-out haptic-light-pulse}@keyframes haptic-light-pulse{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}.haptic-medium{animation:.2s ease-out haptic-medium-pulse}@keyframes haptic-medium-pulse{0%{transform:scale(1)}30%{transform:scale(1.05)}to{transform:scale(1)}}.haptic-heavy{animation:.25s ease-out haptic-heavy-shake}@keyframes haptic-heavy-shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-2px)}20%,40%,60%,80%{transform:translate(2px)}}.haptic-success{animation:.4s cubic-bezier(.68,-.55,.265,1.55) haptic-success-bounce}@keyframes haptic-success-bounce{0%{transform:scale(1)}25%{transform:scale(1.1)}50%{transform:scale(.95)}75%{transform:scale(1.05)}to{transform:scale(1)}}.haptic-warning{animation:.3s ease-out haptic-warning-wobble}@keyframes haptic-warning-wobble{0%{transform:rotate(0)}15%{transform:rotate(-5deg)}30%{transform:rotate(3deg)}45%{transform:rotate(-3deg)}60%{transform:rotate(2deg)}75%{transform:rotate(-1deg)}to{transform:rotate(0)}}.haptic-error{animation:.4s ease-out haptic-error-shake}@keyframes haptic-error-shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}.haptic-selection{animation:.1s ease-out haptic-selection-highlight}@keyframes haptic-selection-highlight{0%{opacity:1}50%{opacity:.7}to{opacity:1}}.haptic-ripple{pointer-events:none;z-index:1;background:#ffffff4d;border-radius:50%;animation:.3s ease-out haptic-ripple-expand;position:absolute;transform:scale(0)}@keyframes haptic-ripple-expand{0%{opacity:1;transform:scale(0)}to{opacity:0;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.haptic-light,.haptic-medium,.haptic-heavy,.haptic-success,.haptic-warning,.haptic-error,.haptic-selection{animation:none}.haptic-ripple{display:none}}@media (hover:none) and (pointer:coarse){button:active,.touchable:active{animation:.1s ease-out haptic-light-pulse}button.primary:active{animation:.15s ease-out haptic-medium-pulse}}
.native-spinner{display:inline-block;position:relative}.spinner-track{border-radius:50%;animation:1s linear infinite rotate;position:relative;overflow:hidden}.spinner-fill{opacity:.9;border:2px solid #0000;border-top-color:currentColor;border-radius:50%;position:absolute;inset:0}.native-spinner.small .spinner-track{width:16px;height:16px}.native-spinner.small .spinner-fill{border-width:1.5px}.native-spinner.medium .spinner-track{width:24px;height:24px}.native-spinner.medium .spinner-fill{border-width:2px}.native-spinner.large .spinner-track{width:32px;height:32px}.native-spinner.large .spinner-fill{border-width:3px}.native-spinner.default{color:var(--color-text-secondary)}.native-spinner.primary{color:var(--color-primary)}.native-spinner.white{color:#fff}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.native-dots{align-items:center;gap:4px;display:flex}.native-dots .dot{background:var(--color-text-secondary);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite bounce-dots}.native-dots .dot:first-child{animation-delay:-.32s}.native-dots .dot:nth-child(2){animation-delay:-.16s}@keyframes bounce-dots{0%,80%,to{opacity:.5;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.progress-ring{transform:rotate(-90deg)}.progress-ring-circle{fill:#0000;stroke:#ffffff1a;stroke-width:3px}.progress-ring-progress{fill:#0000;stroke:var(--color-primary);stroke-width:3px;stroke-linecap:round;stroke-dasharray:283;stroke-dashoffset:283px;transition:stroke-dashoffset .3s}
.native-skeleton{background:var(--color-surface-hover);border-radius:var(--radius-md);position:relative;overflow:hidden}.native-skeleton.animated:after{content:"";background:linear-gradient(90deg,#0000,#ffffff0d,#0000);width:100%;height:100%;animation:1.5s infinite skeleton-shimmer;position:absolute;top:0;left:-100%}@keyframes skeleton-shimmer{0%{left:-100%}to{left:100%}}.native-skeleton.text{gap:var(--space-2);flex-direction:column;display:flex}.skeleton-line{background:var(--color-surface-hover);border-radius:var(--radius-sm);height:14px;position:relative;overflow:hidden}.skeleton-line.short{width:60%}.skeleton-line.shorter{width:40%}.skeleton-line.medium{width:80%}.skeleton-line.tiny{width:20px;height:12px}.skeleton-line:after{content:"";background:linear-gradient(90deg,#0000,#ffffff0d,#0000);width:100%;height:100%;animation:1.5s infinite skeleton-shimmer;position:absolute;top:0;left:-100%}.native-skeleton.circular{border-radius:50%;width:40px;height:40px}.native-skeleton.rectangular{border-radius:var(--radius-lg);width:100%;height:200px}.native-skeleton.card{padding:var(--space-8);background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);gap:var(--space-6);flex-direction:column;display:flex}.skeleton-header{align-items:center;gap:var(--space-6);display:flex}.skeleton-avatar{background:var(--color-surface-hover);border-radius:50%;flex-shrink:0;width:48px;height:48px}.skeleton-avatar.small{width:32px;height:32px}.skeleton-text-group{gap:var(--space-2);flex-direction:column;flex:1;display:flex}.skeleton-text-group.flex-1{flex:1}.skeleton-content{gap:var(--space-2);flex-direction:column;display:flex}.native-skeleton.list-item{align-items:center;gap:var(--space-6);padding:var(--space-8);background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);display:flex}.skeleton-workout-card{gap:var(--space-4);padding:var(--space-8);background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border-subtle);flex-direction:column;display:flex}.skeleton-exercise-item{padding:var(--space-6) 0;border-bottom:1px solid var(--color-border-subtle);justify-content:space-between;align-items:center;display:flex}.skeleton-exercise-item:last-child{border-bottom:none}.skeleton-progress-ring{background:var(--color-surface-hover);border-radius:50%;width:24px;height:24px}.loading-grid{gap:var(--space-8);grid-template-columns:1fr;display:grid}.loading-list{gap:var(--space-4);flex-direction:column;display:flex}@media (prefers-reduced-motion:reduce){.native-skeleton.animated:after,.skeleton-line:after{animation:none}}
.context-menu-trigger{-webkit-tap-highlight-color:transparent;position:relative}.context-menu-trigger.long-pressing{animation:.5s ease-out context-menu-scale}@keyframes context-menu-scale{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}.context-menu-backdrop{z-index:var(--z-modal-backdrop);background:0 0;position:fixed;inset:0}.context-menu{z-index:var(--z-modal);filter:drop-shadow(0 10px 40px #0000004d);animation:.2s cubic-bezier(.32,.72,0,1) context-menu-appear;position:fixed}@keyframes context-menu-appear{0%{opacity:0;transform:translate(-50%,-100%)scale(.8)}to{opacity:1;transform:translate(-50%,-100%)scale(1)}}.context-menu-content{-webkit-backdrop-filter:blur(40px)saturate(180%);background:#1e1e20f2;border:.5px solid #ffffff1a;border-radius:14px;min-width:200px;overflow:hidden;box-shadow:0 0 0 .5px #ffffff0d,0 10px 40px #00000080,inset 0 0 1px #ffffff1a}.context-menu-item{align-items:center;gap:var(--space-6);padding:var(--space-8) var(--space-10);width:100%;color:var(--color-text-primary);font-size:var(--text-callout);font-weight:var(--font-normal);text-align:left;cursor:pointer;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-bottom:.5px solid #ffffff0d;display:flex}.context-menu-item:last-child{border-bottom:none}.context-menu-item:hover{background:#ffffff14}.context-menu-item:active{background:#ffffff1f;transform:scale(.98)}.context-menu-item.destructive{color:#ff453a}.context-menu-item.disabled{opacity:.5;cursor:not-allowed}.context-menu-item.disabled:hover{background:0 0}.menu-item-icon{opacity:.8;flex-shrink:0;font-size:16px}.menu-item-label{flex:1;line-height:1.3}.context-menu.ios-style .context-menu-content{background:#3c3c43bf;border-radius:13px}.context-menu.ios-style .context-menu-item{border-bottom:.5px solid #3c3c434a;padding:16px 20px;font-size:17px}@media (hover:none) and (pointer:coarse){.context-menu-trigger.long-pressing{animation:.5s ease-out haptic-long-press}}@keyframes haptic-long-press{0%{transform:scale(1)}30%{transform:scale(1.02)}60%{transform:scale(.98)}to{transform:scale(1)}}.context-menu.position-above{transform:translate(-50%,-100%)}.context-menu.position-below{transform:translate(-50%,10px)}.context-menu.position-left{transform:translate(-100%,-50%)}.context-menu.position-right{transform:translate(10px,-50%)}@media (prefers-reduced-motion:reduce){.context-menu,.context-menu-trigger.long-pressing{animation:none}}
.native-scroll-container{height:100%;position:relative;overflow:hidden}.native-scroll-view{-webkit-overflow-scrolling:touch;scroll-behavior:smooth;overscroll-behavior-y:contain;scrollbar-width:none;-ms-overflow-style:none;height:100%;overflow:hidden auto}.native-scroll-view::-webkit-scrollbar{display:none}.native-scroll-view.bounces{overscroll-behavior-y:auto}.native-scroll-view.scrolling{scroll-snap-type:none}.pull-refresh-indicator{z-index:10;transition:all var(--transition-native);position:absolute;top:-60px;left:50%;transform:translate(-50%)}.refresh-spinner{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);width:40px;height:40px;transition:all var(--transition-native);background:#ffffff1a;border-radius:50%;justify-content:center;align-items:center;gap:4px;display:flex}.pull-refresh-indicator.can-refresh .refresh-spinner{background:var(--color-primary)}.spinner-dot{background:var(--color-text-secondary);width:4px;height:4px;transition:all var(--transition-native);border-radius:50%}.pull-refresh-indicator.can-refresh .spinner-dot{background:var(--color-text-inverse)}.refresh-spinner.spinning .spinner-dot{animation:1.4s ease-in-out infinite spinner-bounce}.refresh-spinner.spinning .spinner-dot:first-child{animation-delay:-.32s}.refresh-spinner.spinning .spinner-dot:nth-child(2){animation-delay:-.16s}@keyframes spinner-bounce{0%,80%,to{opacity:.5;transform:scale(.8)}40%{opacity:1;transform:scale(1.2)}}.scroll-indicator{opacity:0;width:3px;transition:opacity var(--transition-fast);pointer-events:none;z-index:10;background:#ffffff4d;border-radius:2px;position:absolute;right:2px}.scroll-indicator.visible{opacity:1}.native-scroll-view{scroll-snap-type:y proximity;overscroll-behavior:contain}.native-scroll-view:not(.scrolling){scroll-behavior:smooth}@supports (-webkit-overflow-scrolling:touch){.native-scroll-view.bounces{-webkit-overflow-scrolling:touch;overscroll-behavior:auto}}.native-scroll-view:before,.native-scroll-view:after{content:"";z-index:1;pointer-events:none;height:20px;display:block;position:sticky}.native-scroll-view:before{background:linear-gradient(to bottom, var(--color-background), transparent);margin-bottom:-20px;top:0}.native-scroll-view:after{background:linear-gradient(to top, var(--color-background), transparent);margin-top:-20px;bottom:0}.native-scroll-view{touch-action:pan-y}.native-scroll-view.no-fade:before,.native-scroll-view.no-fade:after{display:none}.scroll-snap-start{scroll-snap-align:start}.scroll-snap-center{scroll-snap-align:center}.scroll-snap-end{scroll-snap-align:end}.native-scroll-view *{will-change:auto}.native-scroll-view.scrolling *{will-change:transform}@media (prefers-reduced-motion:reduce){.native-scroll-view{scroll-behavior:auto}.pull-refresh-indicator,.refresh-spinner{transition:none}.refresh-spinner.spinning .spinner-dot{animation:none}}
.navigation-stack{background:var(--color-background);height:100vh;position:relative;overflow:hidden}.navigation-header{z-index:var(--z-sticky);height:44px;padding:0 var(--space-8);padding-top:env(safe-area-inset-top,0);-webkit-backdrop-filter:blur(20px)saturate(180%);background:#0a0a0bf2;border-bottom:.5px solid #ffffff1a;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.nav-left,.nav-right{align-items:center;min-width:80px;display:flex}.nav-right{justify-content:flex-end}.nav-center{flex:1;justify-content:center;align-items:center;display:flex}.nav-title{font-size:var(--text-headline);font-weight:var(--font-semibold);color:var(--color-text-primary);text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:200px;margin:0;overflow:hidden}.back-button{align-items:center;gap:var(--space-2);color:var(--color-primary);font-size:var(--text-body);font-weight:var(--font-normal);padding:var(--space-4) 0;cursor:pointer;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;background:0 0;border:none;display:flex}.back-button:active{opacity:.6;transform:scale(.95)}.back-button svg{font-size:18px}.navigation-content{height:calc(100vh - 44px - env(safe-area-inset-top,0));-webkit-overflow-scrolling:touch;position:relative;overflow-y:auto}.navigation-content.swiping{overflow-y:hidden}.swipe-indicator{left:var(--space-8);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);width:32px;height:32px;color:var(--color-primary);z-index:var(--z-fixed);transition:all var(--transition-fast);opacity:0;background:#ffffff1a;border-radius:50%;justify-content:center;align-items:center;font-size:16px;display:flex;position:fixed;top:50%;transform:translateY(-50%)}.swipe-indicator.active{background:var(--color-primary);color:var(--color-text-inverse);transform:translateY(-50%)scale(1.1)}.previous-screen-shadow{pointer-events:none;z-index:var(--z-fixed);background:linear-gradient(90deg,#0000,#0000001a 20px,#0003 40px);position:fixed;inset:0}.navigation-stack.entering{animation:.3s cubic-bezier(.32,.72,0,1) slide-in-right}.navigation-stack.exiting{animation:.3s cubic-bezier(.32,.72,0,1) slide-out-right}@keyframes slide-in-right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slide-out-right{0%{transform:translate(0)}to{transform:translate(100%)}}.navigation-header{transition:all var(--transition-fast)}.navigation-content:not(:scroll-at-top)+.navigation-header{-webkit-backdrop-filter:blur(30px)saturate(200%);background:#0a0a0be6}.navigation-header.large-title{height:auto;padding-bottom:var(--space-4);flex-direction:column;align-items:flex-start}.navigation-header.large-title .nav-controls{justify-content:space-between;align-items:center;width:100%;height:44px;display:flex}.navigation-header.large-title .nav-title{font-size:var(--text-large-title);font-weight:var(--font-bold);max-width:none;margin-top:var(--space-4);align-self:flex-start}.navigation-stack:before{content:"";width:20px;z-index:var(--z-sticky);pointer-events:none;position:fixed;top:0;bottom:0;left:0}.navigation-stack.modal-open{touch-action:none}.navigation-stack.modal-open .navigation-content{touch-action:pan-y}@media (prefers-reduced-motion:reduce){.navigation-stack.entering,.navigation-stack.exiting{animation:none}.navigation-content,.swipe-indicator{transition:none}}@media (prefers-color-scheme:dark){.navigation-header{border-bottom-color:#ffffff0d}.previous-screen-shadow{background:linear-gradient(90deg,#0000,#ffffff0d 20px,#ffffff1a 40px)}}
.native-card{background:var(--color-surface);border-radius:var(--radius-xl);transition:all var(--transition-native);-webkit-tap-highlight-color:transparent;position:relative;overflow:hidden}.native-card.default{border:1px solid var(--color-border-subtle);box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.native-card.elevated{border:none;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f,0 0 0 1px #ffffff0d}.native-card.outlined{border:2px solid var(--color-border);box-shadow:none}.native-card.filled{background:var(--color-surface-hover);border:1px solid var(--color-border-subtle);box-shadow:inset 0 1px #ffffff1a}.native-card.interactive{cursor:pointer}.native-card.interactive:hover{transform:translateY(-1px);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.native-card.interactive.pressed,.native-card.interactive:active{transform:translateY(1px)scale(.98);box-shadow:0 1px 2px #0000001a,0 0 0 1px #ffffff0d}.native-card.selected{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary), 0 4px 6px -1px #00d4ff1a, 0 2px 4px -1px #00d4ff0f}.native-card.disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.card-header{align-items:center;gap:var(--space-6);padding:var(--space-8) var(--space-10);border-bottom:1px solid var(--color-border-subtle);display:flex}.card-avatar{background:var(--color-surface-hover);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex;overflow:hidden}.card-header-content{flex:1;min-width:0}.card-title{font-size:var(--text-headline);font-weight:var(--font-semibold);color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;margin:0;line-height:1.3;overflow:hidden}.card-subtitle{font-size:var(--text-footnote);color:var(--color-text-secondary);margin:var(--space-1) 0 0;text-overflow:ellipsis;white-space:nowrap;line-height:1.3;overflow:hidden}.card-trailing{align-items:center;gap:var(--space-4);flex-shrink:0;display:flex}.card-content{padding:var(--space-8) var(--space-10);color:var(--color-text-primary);line-height:1.5}.card-content:first-child{padding-top:var(--space-10)}.card-content:last-child{padding-bottom:var(--space-10)}.card-actions{align-items:center;gap:var(--space-4);padding:var(--space-6) var(--space-10) var(--space-8);border-top:1px solid var(--color-border-subtle);display:flex}.card-actions.start{justify-content:flex-start}.card-actions.center{justify-content:center}.card-actions.end{justify-content:flex-end}.card-actions.space-between{justify-content:space-between}.workout-card{background:linear-gradient(135deg, var(--color-surface), var(--color-surface-hover));border:1px solid var(--color-border-subtle)}.workout-card.completed{background:linear-gradient(135deg, rgba(var(--color-primary-rgb), .1), rgba(var(--color-primary-rgb), .05));border-color:rgba(var(--color-primary-rgb), .3)}.exercise-card{background:var(--color-surface);border:1px solid var(--color-border-subtle);margin-bottom:var(--space-4)}.exercise-card:last-child{margin-bottom:0}.progress-card{background:linear-gradient(135deg, var(--color-surface), var(--color-surface-hover));border:1px solid var(--color-border-subtle);position:relative;overflow:hidden}.progress-card:before{content:"";background:linear-gradient(90deg, var(--color-primary), var(--color-info));opacity:.8;height:3px;position:absolute;top:0;left:0;right:0}.native-card.loading{pointer-events:none}.native-card.loading .card-content{position:relative}.native-card.loading .card-content:after{content:"";background:linear-gradient(90deg,#0000,#ffffff0d,#0000);animation:1.5s infinite card-shimmer;position:absolute;inset:0}@keyframes card-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.card-group{gap:var(--space-6);flex-direction:column;display:flex}.card-grid{gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}@media (max-width:640px){.card-header,.card-content{padding:var(--space-6) var(--space-8)}.card-actions{padding:var(--space-4) var(--space-8) var(--space-6)}.card-grid{grid-template-columns:1fr}}@media (prefers-color-scheme:dark){.native-card.elevated{box-shadow:0 4px 6px -1px #0000004d,0 2px 4px -1px #0003,0 0 0 1px #ffffff1a}.native-card.interactive:hover{box-shadow:0 10px 15px -3px #0000004d,0 4px 6px -2px #0003}}@media (prefers-reduced-motion:reduce){.native-card{transition:none}.native-card.interactive:hover,.native-card.interactive.pressed,.native-card.interactive:active{transform:none}.card-content:after{animation:none}}
.toast-manager{top:calc(env(safe-area-inset-top,20px) + 60px);left:var(--space-8);right:var(--space-8);z-index:var(--z-tooltip);pointer-events:none;gap:var(--space-4);flex-direction:column;display:flex;position:fixed}.toast{-webkit-backdrop-filter:blur(40px)saturate(180%);border-radius:var(--radius-xl);opacity:0;transition:all var(--transition-spring);pointer-events:auto;background:#1e1e20f2;border:.5px solid #ffffff1a;max-width:400px;margin:0 auto;transform:translateY(-100px)scale(.95);box-shadow:0 10px 40px #0000004d,inset 0 0 1px #ffffff1a}.toast.visible{opacity:1;transform:translateY(0)scale(1)}.toast.exiting{opacity:0;transition:all .2s ease-in;transform:translateY(-50px)scale(.9)}.toast-content{align-items:flex-start;gap:var(--space-6);padding:var(--space-8) var(--space-10);display:flex}.toast-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:14px;display:flex}.toast-text{flex:1;min-width:0}.toast-title{font-size:var(--text-callout);font-weight:var(--font-semibold);color:var(--color-text-primary);margin:0;line-height:1.3}.toast-message{font-size:var(--text-footnote);color:var(--color-text-secondary);margin:var(--space-2) 0 0;line-height:1.4}.toast-action{color:var(--color-primary);font-size:var(--text-footnote);font-weight:var(--font-semibold);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-shrink:0}.toast-action:hover{background:#ffffff1a}.toast-action:active{background:#ffffff26;transform:scale(.95)}.toast-dismiss{color:var(--color-text-tertiary);cursor:pointer;width:24px;height:24px;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;display:flex}.toast-dismiss:hover{color:var(--color-text-secondary);background:#ffffff1a}.toast-dismiss:active{background:#ffffff26;transform:scale(.9)}.toast.success .toast-icon{color:#4cd964;background:#4cd96433}.toast.error .toast-icon{color:#ff453a;background:#ff453a33}.toast.warning .toast-icon{color:#ffd60a;background:#ffd60a33}.toast.info .toast-icon{color:#64d2ff;background:#64d2ff33}.toast-manager .toast:nth-child(n+2){opacity:.8;transform:translateY(-100px)scale(.95)}.toast-manager .toast:nth-child(n+2).visible{transform:translateY(calc(-1 * var(--space-2))) scale(.98);opacity:.9}.toast-manager .toast:nth-child(n+3){display:none}.toast{touch-action:pan-x}.toast.swiping{transition:none}@supports ((-webkit-backdrop-filter:blur()) or (backdrop-filter:blur())){.toast.success{background:#4cd9641a;border-color:#4cd96433}.toast.error{background:#ff453a1a;border-color:#ff453a33}.toast.warning{background:#ffd60a1a;border-color:#ffd60a33}.toast.info{background:#64d2ff1a;border-color:#64d2ff33}}@media (max-width:640px){.toast-manager{left:var(--space-4);right:var(--space-4)}.toast-content{padding:var(--space-6) var(--space-8)}.toast-title{font-size:var(--text-subheadline)}.toast-message{font-size:var(--text-caption1)}}@media (prefers-color-scheme:dark){.toast{background:#141416f2;border-color:#ffffff26}}@media (prefers-reduced-motion:reduce){.toast{transition:opacity var(--transition-fast);transform:none!important}.toast.visible{opacity:1}.toast.exiting{opacity:0}.toast-action:active,.toast-dismiss:active{transform:none}}@media (prefers-contrast:high){.toast{border-width:2px;border-color:var(--color-border)}.toast.success{border-color:#4cd964}.toast.error{border-color:#ff453a}.toast.warning{border-color:#ffd60a}.toast.info{border-color:#64d2ff}}
.device-adaptation{min-height:100vh;position:relative}.ios-device{-webkit-touch-callout:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.ios-device input,.ios-device textarea{-webkit-appearance:none;border-radius:0}.android-device{font-family:Roboto,-apple-system,BlinkMacSystemFont,sans-serif}.mobile-device{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.standalone-app{padding-top:env(safe-area-inset-top,0);padding-bottom:env(safe-area-inset-bottom,0);padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0)}.has-notch{--notch-height:env(safe-area-inset-top,44px)}.has-notch .navigation-header{padding-top:var(--notch-height)}.has-dynamic-island{--dynamic-island-height:37px;--dynamic-island-width:126px}.dynamic-island-space{width:var(--dynamic-island-width);height:var(--dynamic-island-height);z-index:9999;pointer-events:none;background:#000;border-radius:19px;position:fixed;top:11px;left:50%;transform:translate(-50%)}.status-bar{height:calc(env(safe-area-inset-top,20px) + 24px);z-index:var(--z-fixed);pointer-events:none;position:fixed;top:0;left:0;right:0}.status-bar-content{height:24px;margin-top:env(safe-area-inset-top,20px);color:var(--color-text-primary);justify-content:space-between;align-items:center;padding:0 20px;font-size:14px;font-weight:600;display:flex}.status-time{font-variant-numeric:tabular-nums;letter-spacing:-.5px}.status-indicators{align-items:center;gap:6px;display:flex}.signal-indicator{align-items:flex-end;gap:2px;display:flex}.signal-bar{background:var(--color-text-primary);border-radius:1px;width:3px}.signal-bar:first-child{height:4px}.signal-bar:nth-child(2){height:6px}.signal-bar:nth-child(3){height:8px}.signal-bar:nth-child(4){height:10px}.wifi-indicator{opacity:.9;font-size:12px}.battery-indicator{border:1px solid var(--color-text-primary);opacity:.9;border-radius:2px;width:24px;height:12px;position:relative}.battery-indicator:after{content:"";background:var(--color-text-primary);border-radius:0 1px 1px 0;width:2px;height:6px;position:absolute;top:3px;right:-3px}.battery-level{background:var(--color-primary);border-radius:1px;width:80%;height:100%}.safe-area{position:relative}.safe-area.safe-top{padding-top:env(safe-area-inset-top,0)}.safe-area.safe-bottom{padding-bottom:env(safe-area-inset-bottom,0)}.safe-area.safe-left{padding-left:env(safe-area-inset-left,0)}.safe-area.safe-right{padding-right:env(safe-area-inset-right,0)}.home-indicator{width:134px;height:5px;z-index:var(--z-fixed);pointer-events:none;background:#ffffff4d;border-radius:100px;position:fixed;bottom:8px;left:50%;transform:translate(-50%)}@media screen and (device-width:414px) and (device-height:896px) and (-webkit-device-pixel-ratio:2){.has-notch .navigation-header{padding-top:44px}}@media screen and (device-width:375px) and (device-height:812px) and (-webkit-device-pixel-ratio:3){.has-notch .navigation-header{padding-top:44px}}@media screen and (device-width:414px) and (device-height:896px) and (-webkit-device-pixel-ratio:3){.has-notch .navigation-header{padding-top:44px}}@media screen and (device-width:390px) and (device-height:844px) and (-webkit-device-pixel-ratio:3){.has-notch .navigation-header{padding-top:47px}}@media screen and (device-width:428px) and (device-height:926px) and (-webkit-device-pixel-ratio:3){.has-notch .navigation-header{padding-top:47px}}@media screen and (device-width:393px) and (device-height:852px) and (-webkit-device-pixel-ratio:3){.has-dynamic-island .navigation-header{padding-top:54px}}@media screen and (device-width:430px) and (device-height:932px) and (-webkit-device-pixel-ratio:3){.has-dynamic-island .navigation-header{padding-top:54px}}@media screen and (orientation:landscape){.has-notch,.has-dynamic-island{--notch-height:env(safe-area-inset-top,0)}.dynamic-island-space{display:none}.home-indicator{width:5px;height:134px;bottom:50%;right:8px;transform:translateY(50%)rotate(90deg)}}.android-device .navigation-header{padding-top:env(safe-area-inset-top,24px)}@media (display-mode:standalone){.device-adaptation{padding-top:0}.status-bar{display:block}}@media (display-mode:fullscreen){.status-bar{display:none}}@media (min-width:768px){.mobile-device .navigation-header{padding-top:env(safe-area-inset-top,20px)}.dynamic-island-space,.home-indicator{display:none}}@media (-webkit-min-device-pixel-ratio:1.25),(min-resolution:120dpi){.device-adaptation *{transition-duration:calc(var(--transition-base) * .8)}}@media (prefers-reduced-motion:reduce){.device-adaptation *{transition:none!important;animation:none!important}}@media (prefers-contrast:high){.status-bar-content{background:var(--color-background);border-bottom:1px solid var(--color-border)}.signal-bar,.battery-indicator{border-color:var(--color-text-primary)}.home-indicator{background:var(--color-text-primary)}}
.empty-state{min-height:60vh;padding:var(--space-16) var(--space-8);text-align:center;justify-content:center;align-items:center;display:flex}.empty-state-content{align-items:center;gap:var(--space-8);width:100%;max-width:320px;animation:fadeIn var(--transition-spring) ease-out;flex-direction:column;display:flex}.empty-state-icon{width:80px;height:80px;transition:all var(--transition-native);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;font-size:32px;display:flex}.empty-state-illustration{opacity:.8;justify-content:center;align-items:center;width:120px;height:120px;display:flex}.empty-state-text{gap:var(--space-4);flex-direction:column;display:flex}.empty-state-title{font-size:var(--text-title2);font-weight:var(--font-semibold);color:var(--color-text-primary);margin:0;line-height:1.3}.empty-state-description{font-size:var(--text-callout);color:var(--color-text-secondary);max-width:280px;margin:0;line-height:1.5}.empty-state-action{background:var(--color-primary);color:var(--color-text-inverse);border-radius:var(--radius-xl);padding:var(--space-8) var(--space-16);font-size:var(--text-callout);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-native);-webkit-tap-highlight-color:transparent;min-height:var(--touch-target-min);margin-top:var(--space-4);border:none}.empty-state-action.secondary{color:var(--color-primary);border:2px solid var(--color-primary);background:0 0}.empty-state-action:hover{box-shadow:0 4px 12px rgba(var(--color-primary-rgb), .3);transform:translateY(-1px)}.empty-state-action:active{transform:translateY(0)scale(.98)}.empty-state-action.secondary:hover{background:rgba(var(--color-primary-rgb), .1)}.empty-state.empty .empty-state-icon{background:rgba(var(--color-primary-rgb), .1);color:var(--color-primary);border-color:rgba(var(--color-primary-rgb), .2)}.empty-state.error .empty-state-icon{color:#ff453a;background:#ff453a1a;border-color:#ff453a33}.empty-state.offline .empty-state-icon{color:#8e8e93;background:#8e8e931a;border-color:#8e8e9333}.empty-state.search .empty-state-icon{color:#64d2ff;background:#64d2ff1a;border-color:#64d2ff33}.empty-state.completed .empty-state-icon{color:#4cd964;background:#4cd9641a;border-color:#4cd96433;animation:2s ease-in-out infinite completed-pulse}@keyframes completed-pulse{0%,to{transform:scale(1);box-shadow:0 0 #4cd96466}50%{transform:scale(1.05);box-shadow:0 0 0 10px #4cd96400}}.empty-state.empty .empty-state-icon{background:linear-gradient(135deg, rgba(var(--color-primary-rgb), .2), rgba(var(--color-primary-rgb), .1))}.empty-state.error .empty-state-icon{background:linear-gradient(135deg,#ff453a33,#ff453a1a)}.empty-state.completed .empty-state-icon{background:linear-gradient(135deg,#4cd96433,#4cd9641a)}.empty-state-icon{animation:6s ease-in-out infinite float}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@media (max-width:640px){.empty-state{min-height:50vh;padding:var(--space-12) var(--space-6)}.empty-state-content{gap:var(--space-6);max-width:280px}.empty-state-icon{width:64px;height:64px;font-size:24px}.empty-state-illustration{width:96px;height:96px}.empty-state-title{font-size:var(--text-title3)}.empty-state-description{font-size:var(--text-subheadline)}.empty-state-action{padding:var(--space-6) var(--space-12);font-size:var(--text-subheadline)}}@media (prefers-color-scheme:dark){.empty-state-icon{background:#ffffff08;border-color:#ffffff14}}@media (prefers-contrast:high){.empty-state-icon,.empty-state-action{border-width:2px}.empty-state-action.secondary{border-width:3px}}@media (prefers-reduced-motion:reduce){.empty-state-content,.empty-state-icon,.empty-state.completed .empty-state-icon{animation:none}.empty-state-action:hover{transform:none}.empty-state-action:active{transform:scale(.98)}}.workout-empty-state{background:linear-gradient(135deg, rgba(var(--color-primary-rgb), .05), transparent);border-radius:var(--radius-xl);margin:var(--space-8)}.error-state{border-radius:var(--radius-xl);margin:var(--space-8);background:#ff453a08;border:1px solid #ff453a1a}.offline-state{border-radius:var(--radius-xl);margin:var(--space-8);background:#8e8e9308;border:1px solid #8e8e931a}.empty-state.loading .empty-state-icon{background:var(--color-surface-hover);color:#0000;animation:1.5s infinite skeleton-shimmer}.empty-state.loading .empty-state-title,.empty-state.loading .empty-state-description{background:var(--color-surface-hover);color:#0000;border-radius:var(--radius-sm);animation:1.5s infinite skeleton-shimmer}.empty-state.loading .empty-state-action{background:var(--color-surface-hover);color:#0000;animation:1.5s infinite skeleton-shimmer}
.native-switch-container{justify-content:space-between;align-items:center;gap:var(--space-8);width:100%;display:flex}.switch-label-container{gap:var(--space-1);flex-direction:column;flex:1;display:flex}.switch-label{font-size:var(--text-body);font-weight:var(--font-medium);color:var(--color-text-primary);line-height:1.4}.switch-description{font-size:var(--text-footnote);color:var(--color-text-secondary);line-height:1.3}.native-switch{cursor:pointer;-webkit-tap-highlight-color:transparent;background:#78788029;border:none;border-radius:100px;outline:none;flex-shrink:0;transition:all .2s cubic-bezier(.25,.46,.45,.94);position:relative}.native-switch.small{width:38px;height:22px}.native-switch.medium{width:51px;height:31px}.native-switch.large{width:64px;height:38px}.switch-thumb{background:#fff;border-radius:50%;transition:all .2s cubic-bezier(.25,.46,.45,.94);position:absolute;box-shadow:0 1px 3px #0003,0 0 0 .5px #0000000a}.native-switch.small .switch-thumb{width:18px;height:18px;top:2px;left:2px}.native-switch.small.checked .switch-thumb{transform:translate(16px)}.native-switch.medium .switch-thumb{width:27px;height:27px;top:2px;left:2px}.native-switch.medium.checked .switch-thumb{transform:translate(20px)}.native-switch.large .switch-thumb{width:34px;height:34px;top:2px;left:2px}.native-switch.large.checked .switch-thumb{transform:translate(26px)}.native-switch.checked{background:var(--color-primary)}.native-switch.pressed .switch-thumb{width:calc(var(--thumb-width) + 4px)}.native-switch.small.pressed .switch-thumb{width:22px}.native-switch.medium.pressed .switch-thumb{width:31px}.native-switch.large.pressed .switch-thumb{width:38px}.native-switch.checked.pressed .switch-thumb{transform:translateX(calc(var(--translate-distance) - 2px))}.native-switch.small.checked.pressed .switch-thumb{transform:translate(14px)}.native-switch.medium.checked.pressed .switch-thumb{transform:translate(18px)}.native-switch.large.checked.pressed .switch-thumb{transform:translate(24px)}.native-switch.disabled{opacity:.5;cursor:not-allowed}.native-switch.disabled .switch-thumb{box-shadow:0 1px 2px #0000001a,0 0 0 .5px #00000005}.native-switch:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (hover:hover){.native-switch:not(.disabled):hover{opacity:.9}.native-switch:not(.disabled):hover .switch-thumb{box-shadow:0 2px 6px #0003,0 0 0 .5px #0000000a}}@media (hover:none) and (pointer:coarse){.native-switch:not(.disabled):active{animation:.1s ease-out haptic-switch}}@keyframes haptic-switch{0%{transform:scale(1)}50%{transform:scale(.98)}to{transform:scale(1)}}@media (prefers-color-scheme:dark){.native-switch{background:#8e8e9329}.switch-thumb{background:#f2f2f7;box-shadow:0 1px 3px #0000004d,0 0 0 .5px #0000000f}}@media (prefers-contrast:high){.native-switch{border:2px solid var(--color-border)}.native-switch.checked{border-color:var(--color-primary)}.switch-thumb{border:1px solid var(--color-border)}}@media (prefers-reduced-motion:reduce){.native-switch,.switch-thumb{transition:background-color .15s}.native-switch:not(.disabled):active{animation:none}}.ios-device .native-switch{background:#78788029}.ios-device .native-switch.checked{background:#34c759}.ios-device .switch-thumb{background:#fff;box-shadow:0 3px 8px #00000026,0 3px 1px #0000000f}.android-device .native-switch{background:#00000042}.android-device .native-switch.checked{background:rgba(var(--color-primary-rgb), .5)}.android-device .switch-thumb{background:#fafafa;box-shadow:0 2px 4px #0003,0 1px 2px #0000001a}.android-device .native-switch.checked .switch-thumb{background:var(--color-primary)}
*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{background:var(--color-background);color:var(--color-text-primary);font-family:var(--font-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;overscroll-behavior:contain;min-height:100vh;line-height:1.6;position:relative;overflow-x:hidden}.container{padding:var(--space-md);max-width:100%;min-height:100vh;animation:fadeIn var(--transition-base) ease-out}.title{font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--color-text-primary);margin-bottom:var(--space-md)}.list-container-v2{flex-direction:column;gap:1rem;width:100%;display:flex}.list-item-v2{padding:var(--space-8) var(--space-12);background-color:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border-subtle);width:100%;color:var(--color-text-primary);cursor:pointer;text-align:left;transition:all var(--transition-native);min-height:var(--touch-target-min);-webkit-tap-highlight-color:transparent;flex-direction:row;justify-content:space-between;align-items:center;display:flex;position:relative;overflow:hidden}.list-item-v2:hover{background-color:var(--color-surface-hover);border-color:var(--color-border)}.list-item-v2:active{opacity:.9;transition:all .1s;transform:scale(.98)}.item-text-v2{font-size:var(--text-body);font-weight:var(--font-normal);line-height:1.4}.chevron-v2{color:#ffffff4d;justify-content:center;align-items:center;font-size:1rem;display:inline-flex}.nav-footer{padding:var(--space-md);z-index:var(--z-sticky);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--color-border-subtle);background:#0a0a0bcc;justify-content:space-between;display:flex;position:fixed;bottom:0;left:0;right:0}.nav-button,.nav-button.next{align-items:center;gap:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border-subtle);padding:var(--space-6) var(--space-8);border-radius:var(--radius-lg);color:var(--color-text-primary);font-size:var(--text-callout);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-native);min-height:var(--touch-target-min);-webkit-tap-highlight-color:transparent;display:flex}@media (hover:hover){.nav-button:hover,.nav-button.next:hover{background:var(--color-surface-hover);border-color:var(--color-border)}}.nav-button:active,.nav-button.next:active{opacity:.8;transition:all .1s;transform:scale(.96)}.nav-button svg{font-size:.875rem}.workout-list{flex-direction:column;gap:1rem;display:flex}@media (min-width:768px){.container{max-width:800px;margin:0 auto}.nav-footer{max-width:800px;left:50%;transform:translate(-50%)}}.exercise-details{flex-direction:column;gap:1rem;margin-bottom:80px;display:flex}.exercise-item{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-xl);padding:var(--space-lg);align-items:flex-start;gap:var(--space-md);transition:all var(--transition-base);animation:fadeIn var(--transition-base) ease-out;flex-direction:column;display:flex}.exercise-item:hover{border-color:var(--color-border);box-shadow:var(--shadow-sm)}.exercise-name{color:#fff;font-size:1.5rem;font-weight:600}.exercise-info{color:#fffc}.exercise-info p{font-size:1rem}.watch-button{background:var(--color-primary);color:var(--color-text-inverse);border-radius:var(--radius-lg);padding:var(--space-6) var(--space-12);width:auto;font-size:var(--text-callout);font-weight:var(--font-semibold);cursor:pointer;align-items:center;gap:var(--space-4);transition:all var(--transition-native);min-height:var(--touch-target-min);-webkit-tap-highlight-color:transparent;border:none;display:flex}@media (hover:hover){.watch-button:hover{background:var(--color-primary-dark);box-shadow:0 4px 12px rgba(var(--color-primary-rgb), .3)}}.watch-button:active{transition:all .1s;transform:scale(.96)}.exercise-header{justify-content:space-between;align-items:center;width:100%;margin-bottom:1rem;display:flex}.button-indicators{align-items:center;gap:.75rem;display:flex}.check-icon{color:#4cd964;justify-content:center;align-items:center;font-size:1rem;display:inline-flex}.list-item-v2.completed{border:1px solid rgba(var(--color-primary-rgb), .3);background:rgba(var(--color-primary-rgb), .08);position:relative}.list-item-v2.completed:before{content:"";background:var(--color-primary);border-radius:var(--radius-lg) 0 0 var(--radius-lg);width:3px;position:absolute;top:0;bottom:0;left:0}.list-item-v2.completed .check-icon,.list-item-v2.completed .chevron-v2{color:#00d4ff}.complete-button{color:#ffffff80;cursor:pointer;background:#ffffff1a;border:none;border-radius:50%;justify-content:center;align-items:center;min-width:2rem;min-height:2rem;transition:all .2s;display:flex}.complete-button.completed{color:#181b1f;background:#00d4ff}@media (hover:hover){.complete-button:hover{transform:scale(1.1)}}.reset-button{color:#ff3b30;cursor:pointer;background:#ff3b301a;border:1px solid #ff3b304d;border-radius:.75rem;width:100%;margin-top:2rem;padding:.75rem 1rem;font-size:1rem;transition:all .2s}@media (hover:hover){.reset-button:hover{background:#ff3b3033}}.progress-indicator{justify-content:center;align-items:center;width:1.25rem;height:1.25rem;display:flex;position:relative}.progress-indicator svg{position:absolute;top:0;left:0}.progress-indicator svg circle{transition:stroke-dashoffset .35s ease-in-out}.progress-circle{stroke:#30d158;stroke-linecap:round;transform-origin:50%}.progress-text{color:#30d158;z-index:1;font-size:.5rem;font-weight:600;position:relative}.not-started-pill{color:#fff9;white-space:nowrap;background:#ffffff1a;border-radius:1rem;padding:.25rem .5rem;font-size:.75rem}.container.is-centered{flex-direction:column;justify-content:center;display:flex}.login-container{width:100%;max-width:400px;padding:var(--space-2xl);background-color:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);animation:fadeIn var(--transition-base) ease-out;margin:0 auto}.login-form,form{flex-direction:column;gap:1rem;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{color:#a6a6a6;font-size:.875rem}.form-group input{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-lg);border:1px solid var(--color-border-subtle);background-color:var(--color-background);color:var(--color-text-primary);font-size:var(--text-base);transition:all var(--transition-fast)}.form-group input::placeholder{color:var(--color-text-tertiary)}.form-group input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb), .2);outline:none}.login-button{margin-top:var(--space-8);padding:var(--space-8) var(--space-12);background-color:var(--color-primary);color:var(--color-text-inverse);border-radius:var(--radius-lg);font-size:var(--text-callout);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-native);width:100%;min-height:var(--touch-target-min);-webkit-tap-highlight-color:transparent;border:none}@media (hover:hover){.login-button:hover{background-color:var(--color-primary-dark);box-shadow:0 4px 12px rgba(var(--color-primary-rgb), .3)}}.login-button:active{transition:all .1s;transform:scale(.98)}.error-message{color:#e53e3e;background-color:#e53e3e1a;border-radius:.375rem;margin-bottom:1rem;padding:.75rem}.login-container h1{margin-bottom:1.5rem}.header{justify-content:space-between;align-items:end;margin-top:1rem;margin-bottom:2rem;display:flex}.logout-button{color:#fff;cursor:pointer;background-color:#bd313233;border:none;border-radius:.375rem;align-items:center;gap:.5rem;padding:1rem 1.5rem;font-size:.875rem;transition:background-color .2s;display:flex}@media (hover:hover){.logout-button:hover{background-color:#bd3132}}.logout-button svg{font-size:.875rem}.forgot-password{text-align:center;margin-top:1rem}.forgot-password a{color:#c4bfff;font-size:.9rem;text-decoration:none}.forgot-password a:hover{text-decoration:underline}.back-to-login{text-align:center;margin-top:1rem}.back-to-login a{color:#c4bfff;font-size:.9rem;text-decoration:none}.back-to-login a:hover{text-decoration:underline}.success-message{color:#155724;text-align:center;background-color:#d4edda;border-radius:4px;margin-bottom:1rem;padding:.75rem}.error-message{color:#721c24;text-align:center;background-color:#f8d7da;border-radius:4px;margin-bottom:1rem;padding:.75rem}.subtitle{color:#a6a6a6;text-align:left;margin-bottom:1.5rem}button,a,.touchable{-webkit-tap-highlight-color:transparent;touch-action:manipulation;cursor:pointer;position:relative}@media (hover:none) and (pointer:coarse){button,a,.touchable{-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none}.complete-button,.watch-button,.nav-button{min-width:44px;min-height:44px}button:active,a:active,.touchable:active{animation:.15s ease-out haptic-feedback}}@keyframes haptic-feedback{0%{transform:scale(1)}50%{transform:scale(.97)}to{transform:scale(1)}}.scrollable{-webkit-overflow-scrolling:touch;scroll-behavior:smooth;overflow-y:auto}.no-bounce{overscroll-behavior-y:contain}.switch{cursor:pointer;-webkit-tap-highlight-color:transparent;background-color:#78788029;border-radius:31px;width:51px;height:31px;transition:background-color .2s;display:inline-block;position:relative}.switch.active{background-color:var(--color-primary)}.switch-knob{background-color:#fff;border-radius:50%;width:27px;height:27px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 2px 4px #0003}.switch.active .switch-knob{transform:translate(20px)}.segmented-control{background:#7676801f;border-radius:9px;gap:2px;padding:2px;display:flex}.segment{color:var(--color-text-primary);font-size:13px;font-weight:var(--font-semibold);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:7px;flex:1;padding:8px 16px;transition:all .2s}.segment.active{background:var(--color-surface);box-shadow:0 3px 8px #0000001f,0 1px 2px #0000000a}.safe-area-top{padding-top:env(safe-area-inset-top,20px)}.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom,20px)}.list-separator{background:#3c3c435c;height:.5px;margin-left:16px}.activity-indicator{border:2px solid #ffffff4d;border-top-color:var(--color-primary);border-radius:50%;width:20px;height:20px;animation:1s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}*{-webkit-user-select:none;user-select:none}input,textarea,[contenteditable=true],.selectable{-webkit-user-select:text;user-select:text}
:root,:host{--fa-font-solid:normal 900 1em/1 "Font Awesome 6 Free";--fa-font-regular:normal 400 1em/1 "Font Awesome 6 Free";--fa-font-light:normal 300 1em/1 "Font Awesome 6 Pro";--fa-font-thin:normal 100 1em/1 "Font Awesome 6 Pro";--fa-font-duotone:normal 900 1em/1 "Font Awesome 6 Duotone";--fa-font-duotone-regular:normal 400 1em/1 "Font Awesome 6 Duotone";--fa-font-duotone-light:normal 300 1em/1 "Font Awesome 6 Duotone";--fa-font-duotone-thin:normal 100 1em/1 "Font Awesome 6 Duotone";--fa-font-brands:normal 400 1em/1 "Font Awesome 6 Brands";--fa-font-sharp-solid:normal 900 1em/1 "Font Awesome 6 Sharp";--fa-font-sharp-regular:normal 400 1em/1 "Font Awesome 6 Sharp";--fa-font-sharp-light:normal 300 1em/1 "Font Awesome 6 Sharp";--fa-font-sharp-thin:normal 100 1em/1 "Font Awesome 6 Sharp";--fa-font-sharp-duotone-solid:normal 900 1em/1 "Font Awesome 6 Sharp Duotone";--fa-font-sharp-duotone-regular:normal 400 1em/1 "Font Awesome 6 Sharp Duotone";--fa-font-sharp-duotone-light:normal 300 1em/1 "Font Awesome 6 Sharp Duotone";--fa-font-sharp-duotone-thin:normal 100 1em/1 "Font Awesome 6 Sharp Duotone"}svg.svg-inline--fa:not(:root),svg.svg-inline--fa:not(:host){box-sizing:content-box;overflow:visible}.svg-inline--fa{display:var(--fa-display,inline-block);vertical-align:-.125em;height:1em;overflow:visible}.svg-inline--fa.fa-2xs{vertical-align:.1em}.svg-inline--fa.fa-xs{vertical-align:0}.svg-inline--fa.fa-sm{vertical-align:-.07143em}.svg-inline--fa.fa-lg{vertical-align:-.2em}.svg-inline--fa.fa-xl{vertical-align:-.25em}.svg-inline--fa.fa-2xl{vertical-align:-.3125em}.svg-inline--fa.fa-pull-left{margin-right:var(--fa-pull-margin,.3em);width:auto}.svg-inline--fa.fa-pull-right{margin-left:var(--fa-pull-margin,.3em);width:auto}.svg-inline--fa.fa-li{width:var(--fa-li-width,2em);top:.25em}.svg-inline--fa.fa-fw{width:var(--fa-fw-width,1.25em)}.fa-layers svg.svg-inline--fa{margin:auto;position:absolute;inset:0}.fa-layers-counter,.fa-layers-text{text-align:center;display:inline-block;position:absolute}.fa-layers{text-align:center;vertical-align:-.125em;width:1em;height:1em;display:inline-block;position:relative}.fa-layers svg.svg-inline--fa{transform-origin:50%}.fa-layers-text{transform-origin:50%;top:50%;left:50%;transform:translate(-50%,-50%)}.fa-layers-counter{background-color:var(--fa-counter-background-color,#ff253a);border-radius:var(--fa-counter-border-radius,1em);box-sizing:border-box;color:var(--fa-inverse,#fff);line-height:var(--fa-counter-line-height,1);max-width:var(--fa-counter-max-width,5em);min-width:var(--fa-counter-min-width,1.5em);padding:var(--fa-counter-padding,.25em .5em);right:var(--fa-right,0);text-overflow:ellipsis;top:var(--fa-top,0);transform:scale(var(--fa-counter-scale,.25));transform-origin:100% 0;overflow:hidden}.fa-layers-bottom-right{bottom:var(--fa-bottom,0);right:var(--fa-right,0);transform:scale(var(--fa-layers-scale,.25));transform-origin:100% 100%;top:auto}.fa-layers-bottom-left{bottom:var(--fa-bottom,0);left:var(--fa-left,0);transform:scale(var(--fa-layers-scale,.25));transform-origin:0 100%;top:auto;right:auto}.fa-layers-top-right{top:var(--fa-top,0);right:var(--fa-right,0);transform:scale(var(--fa-layers-scale,.25));transform-origin:100% 0}.fa-layers-top-left{left:var(--fa-left,0);right:auto;top:var(--fa-top,0);transform:scale(var(--fa-layers-scale,.25));transform-origin:0 0}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{vertical-align:.225em;font-size:.625em;line-height:.1em}.fa-xs{vertical-align:.125em;font-size:.75em;line-height:.08333em}.fa-sm{vertical-align:.05357em;font-size:.875em;line-height:.07143em}.fa-lg{vertical-align:-.075em;font-size:1.25em;line-height:.05em}.fa-xl{vertical-align:-.125em;font-size:1.5em;line-height:.04167em}.fa-2xl{vertical-align:-.1875em;font-size:2em;line-height:.03125em}.fa-fw{text-align:center;width:1.25em}.fa-ul{margin-left:var(--fa-li-margin,2.5em);padding-left:0;list-style-type:none}.fa-ul>li{position:relative}.fa-li{left:calc(-1 * var(--fa-li-width,2em));text-align:center;width:var(--fa-li-width,2em);line-height:inherit;position:absolute}.fa-border{border-color:var(--fa-border-color,#eee);border-radius:var(--fa-border-radius,.1em);border-style:var(--fa-border-style,solid);border-width:var(--fa-border-width,.08em);padding:var(--fa-border-padding,.2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin,.3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin,.3em)}.fa-beat{animation-name:fa-beat;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{animation-name:fa-bounce;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28, .84, .42, 1))}.fa-fade{animation-name:fa-fade;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4, 0, .6, 1))}.fa-beat-fade{animation-name:fa-beat-fade;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4, 0, .6, 1))}.fa-flip{animation-name:fa-flip;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{animation-name:fa-shake;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin{animation-name:fa-spin;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,2s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{animation-name:fa-spin;animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,steps(8))}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-bounce,.fa-fade,.fa-beat-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{transition-duration:0s;transition-delay:0s;animation-duration:1ms;animation-iteration-count:1;animation-delay:-1ms}}@keyframes fa-beat{0%,90%{transform:scale(1)}45%{transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-bounce{0%{transform:scale(1)translateY(0)}10%{transform:scale(var(--fa-bounce-start-scale-x,1.1), var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{transform:scale(var(--fa-bounce-jump-scale-x,.9), var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{transform:scale(var(--fa-bounce-land-scale-x,1.05), var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{transform:scale(1, 1) translateY(var(--fa-bounce-rebound,-.125em))}64%{transform:scale(1)translateY(0)}to{transform:scale(1)translateY(0)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);transform:scale(1)}50%{opacity:1;transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-flip{50%{transform:rotate3d(var(--fa-flip-x,0), var(--fa-flip-y,1), var(--fa-flip-z,0), var(--fa-flip-angle,-180deg))}}@keyframes fa-shake{0%{transform:rotate(-15deg)}4%{transform:rotate(15deg)}8%,24%{transform:rotate(-18deg)}12%,28%{transform:rotate(18deg)}16%{transform:rotate(-22deg)}20%{transform:rotate(22deg)}32%{transform:rotate(-12deg)}36%{transform:rotate(12deg)}40%,to{transform:rotate(0)}}@keyframes fa-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fa-rotate-90{transform:rotate(90deg)}.fa-rotate-180{transform:rotate(180deg)}.fa-rotate-270{transform:rotate(270deg)}.fa-flip-horizontal{transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}.fa-rotate-by{transform:rotate(var(--fa-rotate-angle,0))}.fa-stack{vertical-align:middle;width:2.5em;height:2em;display:inline-block;position:relative}.fa-stack-1x,.fa-stack-2x{z-index:var(--fa-stack-z-index,auto);margin:auto;position:absolute;inset:0}.svg-inline--fa.fa-stack-1x{width:1.25em;height:1em}.svg-inline--fa.fa-stack-2x{width:2.5em;height:2em}.fa-inverse{color:var(--fa-inverse,#fff)}.sr-only,.fa-sr-only,.sr-only-focusable:not(:focus),.fa-sr-only-focusable:not(:focus){clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.svg-inline--fa .fa-primary{fill:var(--fa-primary-color,currentColor);opacity:var(--fa-primary-opacity,1)}.svg-inline--fa .fa-secondary{fill:var(--fa-secondary-color,currentColor);opacity:var(--fa-secondary-opacity,.4)}.svg-inline--fa.fa-swap-opacity .fa-primary{opacity:var(--fa-secondary-opacity,.4)}.svg-inline--fa.fa-swap-opacity .fa-secondary{opacity:var(--fa-primary-opacity,1)}.svg-inline--fa mask .fa-primary,.svg-inline--fa mask .fa-secondary{fill:#000}
