:root{--color-primary:#d4ff99;--color-primary-dark:#b8e582;--color-primary-light:#e6ffb8;--color-primary-rgb:212,255,153;--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:rgba(76,217,100,.1);--color-error:#ff453a;--color-error-bg:rgba(255,69,58,.1);--color-warning:#ffd60a;--color-warning-bg:rgba(255,214,10,.1);--color-info:#64d2ff;--color-info-bg:rgba(100,210,255,.1);--space-1:0.125rem;--space-2:0.25rem;--space-3:0.375rem;--space-4:0.5rem;--space-6:0.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:0.6875rem;--text-caption1:0.75rem;--text-footnote:0.8125rem;--text-subheadline:0.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:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.5);--shadow-md:0 4px 6px -1px rgba(0,0,0,.5),0 2px 4px -1px rgba(0,0,0,.5);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.5),0 4px 6px -2px rgba(0,0,0,.5);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.5),0 10px 10px -5px rgba(0,0,0,.5);--shadow-glow:0 0 20px rgba(var(--color-primary-rgb),0.3);--transition-fast:150ms ease-in-out;--transition-base:250ms ease-in-out;--transition-slow:350ms ease-in-out;--transition-spring:300ms cubic-bezier(0.32,0.72,0,1);--transition-bounce:600ms cubic-bezier(0.68,-0.55,0.265,1.55);--transition-native:200ms cubic-bezier(0.25,0.46,0.45,0.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{background:rgba(21,21,23,.7);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--color-border-subtle)}.gradient-border{position:relative;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 transparent}.text-gradient{background:linear-gradient(135deg,var(--color-primary),var(--color-info));-webkit-background-clip:text;-webkit-text-fill-color:transparent;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{outline:none;box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.3)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideInFromRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes slideInFromLeft{0%{opacity:0;transform:translateX(-100%)}to{opacity:1;transform:translateX(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:scaleX(1)}30%{transform:scale3d(1.25,.75,1)}40%{transform:scale3d(.75,1.25,1)}50%{transform:scale3d(1.15,.85,1)}65%{transform:scale3d(.95,1.05,1)}75%{transform:scale3d(1.05,.95,1)}to{transform:scaleX(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:pulse 2s ease-in-out infinite}.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:shimmer 1.5s ease-in-out infinite}.haptic-light{animation:haptic-light-pulse .15s ease-out}@keyframes haptic-light-pulse{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}.haptic-medium{animation:haptic-medium-pulse .2s ease-out}@keyframes haptic-medium-pulse{0%{transform:scale(1)}30%{transform:scale(1.05)}to{transform:scale(1)}}.haptic-heavy{animation:haptic-heavy-shake .25s ease-out}@keyframes haptic-heavy-shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-2px)}20%,40%,60%,80%{transform:translateX(2px)}}.haptic-success{animation:haptic-success-bounce .4s cubic-bezier(.68,-.55,.265,1.55)}@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:haptic-warning-wobble .3s ease-out}@keyframes haptic-warning-wobble{0%{transform:rotate(0deg)}15%{transform:rotate(-5deg)}30%{transform:rotate(3deg)}45%{transform:rotate(-3deg)}60%{transform:rotate(2deg)}75%{transform:rotate(-1deg)}to{transform:rotate(0deg)}}.haptic-error{animation:haptic-error-shake .4s ease-out}@keyframes haptic-error-shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-4px)}20%,40%,60%,80%{transform:translateX(4px)}}.haptic-selection{animation:haptic-selection-highlight .1s ease-out}@keyframes haptic-selection-highlight{0%{opacity:1}50%{opacity:.7}to{opacity:1}}.haptic-ripple{position:absolute;border-radius:50%;background:hsla(0,0%,100%,.3);transform:scale(0);animation:haptic-ripple-expand .3s ease-out;pointer-events:none;z-index:1}@keyframes haptic-ripple-expand{0%{transform:scale(0);opacity:1}to{transform:scale(1);opacity:0}}@media (prefers-reduced-motion:reduce){.haptic-error,.haptic-heavy,.haptic-light,.haptic-medium,.haptic-selection,.haptic-success,.haptic-warning{animation:none}.haptic-ripple{display:none}}@media (hover:none) and (pointer:coarse){.touchable:active,button:active{animation:haptic-light-pulse .1s ease-out}button.primary:active{animation:haptic-medium-pulse .15s ease-out}}.native-spinner{display:inline-block;position:relative}.spinner-track{border-radius:50%;position:relative;overflow:hidden;animation:rotate 1s linear infinite}.spinner-fill{position:absolute;top:0;left:0;right:0;bottom:0;border-radius:50%;border:2px solid transparent;border-top-color:currentcolor;opacity:.9}.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(0deg)}to{transform:rotate(1turn)}}.native-dots{display:flex;gap:4px;align-items:center}.native-dots .dot{width:6px;height:6px;border-radius:50%;background:var(--color-text-secondary);animation:bounce-dots 1.4s ease-in-out infinite}.native-dots .dot:first-child{animation-delay:-.32s}.native-dots .dot:nth-child(2){animation-delay:-.16s}@keyframes bounce-dots{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1);opacity:1}}.progress-ring{transform:rotate(-90deg)}.progress-ring-circle{fill:transparent;stroke:hsla(0,0%,100%,.1);stroke-width:3}.progress-ring-progress{fill:transparent;stroke:var(--color-primary);stroke-width:3;stroke-linecap:round;stroke-dasharray:283;stroke-dashoffset:283;transition:stroke-dashoffset .3s ease}.native-skeleton{background:var(--color-surface-hover);border-radius:var(--radius-md);position:relative;overflow:hidden}.native-skeleton.animated:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.05),transparent);animation:skeleton-shimmer 1.5s infinite}@keyframes skeleton-shimmer{0%{left:-100%}to{left:100%}}.native-skeleton.text{display:flex;flex-direction:column;gap:var(--space-2)}.skeleton-line{height:14px;background:var(--color-surface-hover);border-radius:var(--radius-sm);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:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.05),transparent);animation:skeleton-shimmer 1.5s infinite}.native-skeleton.circular{width:40px;height:40px;border-radius:50%}.native-skeleton.rectangular{width:100%;height:200px;border-radius:var(--radius-lg)}.native-skeleton.card{padding:var(--space-8);background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:var(--space-6)}.skeleton-header{display:flex;align-items:center;gap:var(--space-6)}.skeleton-avatar{width:48px;height:48px;background:var(--color-surface-hover);border-radius:50%;flex-shrink:0}.skeleton-avatar.small{width:32px;height:32px}.skeleton-text-group{display:flex;flex-direction:column;gap:var(--space-2);flex:1}.skeleton-text-group.flex-1{flex:1}.skeleton-content{display:flex;flex-direction:column;gap:var(--space-2)}.native-skeleton.list-item{align-items:center;gap:var(--space-6);border:1px solid var(--color-border-subtle)}.native-skeleton.list-item,.skeleton-workout-card{display:flex;padding:var(--space-8);background:var(--color-surface);border-radius:var(--radius-lg)}.skeleton-workout-card{flex-direction:column;gap:var(--space-4);border:1px solid var(--color-border-subtle)}.skeleton-exercise-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-6) 0;border-bottom:1px solid var(--color-border-subtle)}.skeleton-exercise-item:last-child{border-bottom:none}.skeleton-progress-ring{width:24px;height:24px;border-radius:50%;background:var(--color-surface-hover)}.loading-grid{display:grid;gap:var(--space-8);grid-template-columns:1fr}.loading-list{display:flex;flex-direction:column;gap:var(--space-4)}@media (prefers-reduced-motion:reduce){.native-skeleton.animated:after,.skeleton-line:after{animation:none}}.context-menu-trigger{position:relative;-webkit-tap-highlight-color:transparent}.context-menu-trigger.long-pressing{animation:context-menu-scale .5s ease-out}@keyframes context-menu-scale{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}.context-menu-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;z-index:var(--z-modal-backdrop);background:transparent}.context-menu{position:fixed;z-index:var(--z-modal);animation:context-menu-appear .2s cubic-bezier(.32,.72,0,1);filter:drop-shadow(0 10px 40px rgba(0,0,0,.3))}@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{background:rgba(30,30,32,.95);backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);border-radius:14px;border:.5px solid hsla(0,0%,100%,.1);overflow:hidden;min-width:200px;box-shadow:0 0 0 .5px hsla(0,0%,100%,.05),0 10px 40px rgba(0,0,0,.5),inset 0 0 1px hsla(0,0%,100%,.1)}.context-menu-item{display:flex;align-items:center;gap:var(--space-6);padding:var(--space-8) var(--space-10);width:100%;background:transparent;border:none;border-bottom:.5px solid hsla(0,0%,100%,.05);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}.context-menu-item:last-child{border-bottom:none}.context-menu-item:hover{background:hsla(0,0%,100%,.08)}.context-menu-item:active{background:hsla(0,0%,100%,.12);transform:scale(.98)}.context-menu-item.destructive{color:#ff453a}.context-menu-item.disabled{opacity:.5;cursor:not-allowed}.context-menu-item.disabled:hover{background:transparent}.menu-item-icon{font-size:16px;opacity:.8;flex-shrink:0}.menu-item-label{flex:1;line-height:1.3}.context-menu.ios-style .context-menu-content{background:rgba(60,60,67,.75);border-radius:13px}.context-menu.ios-style .context-menu-item{font-size:17px;padding:16px 20px;border-bottom:.5px solid rgba(60,60,67,.29)}@media (hover:none) and (pointer:coarse){.context-menu-trigger.long-pressing{animation:haptic-long-press .5s ease-out}}@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{position:relative;height:100%;overflow:hidden}.native-scroll-view{height:100%;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;overscroll-behavior-y:contain;scrollbar-width:none;-ms-overflow-style:none}.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{position:absolute;top:-60px;left:50%;transform:translateX(-50%);z-index:10;transition:all var(--transition-native)}.refresh-spinner{display:flex;gap:4px;align-items:center;justify-content:center;width:40px;height:40px;background:hsla(0,0%,100%,.1);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:50%;transition:all var(--transition-native)}.pull-refresh-indicator.can-refresh .refresh-spinner{background:var(--color-primary)}.spinner-dot{width:4px;height:4px;border-radius:50%;background:var(--color-text-secondary);transition:all var(--transition-native)}.pull-refresh-indicator.can-refresh .spinner-dot{background:var(--color-text-inverse)}.refresh-spinner.spinning .spinner-dot{animation:spinner-bounce 1.4s ease-in-out infinite}.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{transform:scale(.8);opacity:.5}40%{transform:scale(1.2);opacity:1}}.scroll-indicator{position:absolute;right:2px;width:3px;background:hsla(0,0%,100%,.3);border-radius:2px;opacity:0;transition:opacity var(--transition-fast);pointer-events:none;z-index:10}.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:after,.native-scroll-view:before{content:"";position:sticky;display:block;height:20px;z-index:1;pointer-events:none}.native-scroll-view:before{top:0;background:linear-gradient(to bottom,var(--color-background),transparent);margin-bottom:-20px}.native-scroll-view:after{bottom:0;background:linear-gradient(to top,var(--color-background),transparent);margin-top:-20px}.native-scroll-view{touch-action:pan-y}.native-scroll-view.no-fade:after,.native-scroll-view.no-fade:before{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{position:relative;height:100vh;overflow:hidden;background:var(--color-background)}.navigation-header{position:sticky;top:0;z-index:var(--z-sticky);display:flex;align-items:center;justify-content:space-between;height:44px;padding:0 var(--space-8);padding-top:env(safe-area-inset-top,0);background:rgba(10,10,11,.95);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:.5px solid hsla(0,0%,100%,.1)}.nav-left,.nav-right{min-width:80px;display:flex;align-items:center}.nav-right{justify-content:flex-end}.nav-center{flex:1;display:flex;justify-content:center;align-items:center}.nav-title{font-size:var(--text-headline);font-weight:var(--font-semibold);color:var(--color-text-primary);margin:0;text-align:center;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.back-button{display:flex;align-items:center;gap:var(--space-2);background:none;border:none;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}.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));overflow-y:auto;-webkit-overflow-scrolling:touch;position:relative}.navigation-content.swiping{overflow-y:hidden}.swipe-indicator{position:fixed;left:var(--space-8);top:50%;transform:translateY(-50%);width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:hsla(0,0%,100%,.1);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:50%;color:var(--color-primary);font-size:16px;z-index:var(--z-fixed);transition:all var(--transition-fast);opacity:0}.swipe-indicator.active{background:var(--color-primary);color:var(--color-text-inverse);transform:translateY(-50%) scale(1.1)}.previous-screen-shadow{position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(0,0,0,.1) 20px,rgba(0,0,0,.2) 40px);pointer-events:none;z-index:var(--z-fixed)}.navigation-stack.entering{animation:slide-in-right .3s cubic-bezier(.32,.72,0,1)}.navigation-stack.exiting{animation:slide-out-right .3s cubic-bezier(.32,.72,0,1)}@keyframes slide-in-right{0%{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes slide-out-right{0%{transform:translateX(0)}to{transform:translateX(100%)}}.navigation-header{transition:all var(--transition-fast)}.navigation-content:not(:scroll-at-top)+.navigation-header{backdrop-filter:blur(30px) saturate(200%);-webkit-backdrop-filter:blur(30px) saturate(200%);background:rgba(10,10,11,.9)}.navigation-header.large-title{height:auto;flex-direction:column;align-items:flex-start;padding-bottom:var(--space-4)}.navigation-header.large-title .nav-controls{width:100%;display:flex;justify-content:space-between;align-items:center;height:44px}.navigation-header.large-title .nav-title{font-size:var(--text-large-title);font-weight:var(--font-bold);align-self:flex-start;max-width:none;margin-top:var(--space-4)}.navigation-stack:before{content:"";position:fixed;left:0;top:0;bottom:0;width:20px;z-index:var(--z-sticky);pointer-events:none}.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:hsla(0,0%,100%,.05)}.previous-screen-shadow{background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.05) 20px,hsla(0,0%,100%,.1) 40px)}}.native-card{background:var(--color-surface);border-radius:var(--radius-xl);overflow:hidden;position:relative;transition:all var(--transition-native);-webkit-tap-highlight-color:transparent}.native-card.default{border:1px solid var(--color-border-subtle);box-shadow:0 1px 3px rgba(0,0,0,.1),0 1px 2px rgba(0,0,0,.06)}.native-card.elevated{border:none;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06),0 0 0 1px hsla(0,0%,100%,.05)}.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 0 hsla(0,0%,100%,.1)}.native-card.interactive{cursor:pointer}.native-card.interactive:hover{transform:translateY(-1px);box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.native-card.interactive.pressed,.native-card.interactive:active{transform:translateY(1px) scale(.98);box-shadow:0 1px 2px rgba(0,0,0,.1),0 0 0 1px hsla(0,0%,100%,.05)}.native-card.selected{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary),0 4px 6px -1px rgba(212,255,153,.1),0 2px 4px -1px rgba(212,255,153,.06)}.native-card.disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.card-header{gap:var(--space-6);padding:var(--space-8) var(--space-10);border-bottom:1px solid var(--color-border-subtle)}.card-avatar,.card-header{display:flex;align-items:center}.card-avatar{flex-shrink:0;width:48px;height:48px;border-radius:50%;overflow:hidden;background:var(--color-surface-hover);justify-content:center}.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);margin:0}.card-subtitle,.card-title{line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-subtitle{font-size:var(--text-footnote);color:var(--color-text-secondary);margin:var(--space-1) 0 0}.card-trailing{flex-shrink:0;display:flex;align-items:center;gap:var(--space-4)}.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{display:flex;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)}.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:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--color-primary),var(--color-info));opacity:.8}.native-card.loading{pointer-events:none}.native-card.loading .card-content{position:relative}.native-card.loading .card-content:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.05),transparent);animation:card-shimmer 1.5s infinite}@keyframes card-shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.card-group{display:flex;flex-direction:column;gap:var(--space-6)}.card-grid{display:grid;gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}@media (max-width:640px){.card-content,.card-header{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 rgba(0,0,0,.3),0 2px 4px -1px rgba(0,0,0,.2),0 0 0 1px hsla(0,0%,100%,.1)}.native-card.interactive:hover{box-shadow:0 10px 15px -3px rgba(0,0,0,.3),0 4px 6px -2px rgba(0,0,0,.2)}}@media (prefers-reduced-motion:reduce){.native-card{transition:none}.native-card.interactive.pressed,.native-card.interactive:active,.native-card.interactive:hover{transform:none}.card-content:after{animation:none}}.toast-manager{position:fixed;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;display:flex;flex-direction:column;gap:var(--space-4)}.toast{background:rgba(30,30,32,.95);backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);border-radius:var(--radius-xl);border:.5px solid hsla(0,0%,100%,.1);box-shadow:0 10px 40px rgba(0,0,0,.3),inset 0 0 1px hsla(0,0%,100%,.1);transform:translateY(-100px) scale(.95);opacity:0;transition:all var(--transition-spring);pointer-events:auto;max-width:400px;margin:0 auto}.toast.visible{transform:translateY(0) scale(1);opacity:1}.toast.exiting{transform:translateY(-50px) scale(.9);opacity:0;transition:all .2s ease-in}.toast-content{display:flex;align-items:flex-start;gap:var(--space-6);padding:var(--space-8) var(--space-10)}.toast-icon{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:14px}.toast-text{flex:1;min-width:0}.toast-title{font-size:var(--text-callout);font-weight:var(--font-semibold);margin:0;line-height:1.3;color:var(--color-text-primary)}.toast-message{color:var(--color-text-secondary);margin:var(--space-2) 0 0;line-height:1.4}.toast-action,.toast-message{font-size:var(--text-footnote)}.toast-action{background:none;border:none;color:var(--color-primary);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;flex-shrink:0}.toast-action:hover{background:hsla(0,0%,100%,.1)}.toast-action:active{background:hsla(0,0%,100%,.15);transform:scale(.95)}.toast-dismiss{background:none;border:none;color:var(--color-text-tertiary);font-size:12px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;flex-shrink:0}.toast-dismiss:hover{background:hsla(0,0%,100%,.1);color:var(--color-text-secondary)}.toast-dismiss:active{background:hsla(0,0%,100%,.15);transform:scale(.9)}.toast.success .toast-icon{background:rgba(76,217,100,.2);color:#4cd964}.toast.error .toast-icon{background:rgba(255,69,58,.2);color:#ff453a}.toast.warning .toast-icon{background:rgba(255,214,10,.2);color:#ffd60a}.toast.info .toast-icon{background:rgba(100,210,255,.2);color:#64d2ff}.toast-manager .toast:nth-child(n+2){transform:translateY(-100px) scale(.95);opacity:.8}.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:rgba(76,217,100,.1);border-color:rgba(76,217,100,.2)}.toast.error{background:rgba(255,69,58,.1);border-color:rgba(255,69,58,.2)}.toast.warning{background:rgba(255,214,10,.1);border-color:rgba(255,214,10,.2)}.toast.info{background:rgba(100,210,255,.1);border-color:rgba(100,210,255,.2)}}@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:rgba(20,20,22,.95);border-color:hsla(0,0%,100%,.15)}}@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:env(safe-area-inset-top,0) env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,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{top:11px;left:50%;transform:translateX(-50%);width:var(--dynamic-island-width);height:var(--dynamic-island-height);background:#000;border-radius:19px;z-index:9999}.dynamic-island-space,.status-bar{position:fixed;pointer-events:none}.status-bar{top:0;left:0;right:0;height:calc(env(safe-area-inset-top, 20px) + 24px);z-index:var(--z-fixed)}.status-bar-content{display:flex;justify-content:space-between;align-items:center;height:24px;margin-top:env(safe-area-inset-top,20px);padding:0 20px;font-size:14px;font-weight:600;color:var(--color-text-primary)}.status-time{font-variant-numeric:tabular-nums;letter-spacing:-.5px}.status-indicators{display:flex;align-items:center;gap:6px}.signal-indicator{display:flex;gap:2px;align-items:flex-end}.signal-bar{width:3px;background:var(--color-text-primary);border-radius:1px}.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{font-size:12px;opacity:.9}.battery-indicator{width:24px;height:12px;border:1px solid var(--color-text-primary);border-radius:2px;position:relative;opacity:.9}.battery-indicator:after{content:"";position:absolute;right:-3px;top:3px;width:2px;height:6px;background:var(--color-text-primary);border-radius:0 1px 1px 0}.battery-level{height:100%;width:80%;background:var(--color-primary);border-radius:1px}.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{position:fixed;bottom:8px;left:50%;transform:translateX(-50%);width:134px;height:5px;background:hsla(0,0%,100%,.3);border-radius:100px;z-index:var(--z-fixed);pointer-events:none}@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-dynamic-island,.has-notch{--notch-height:env(safe-area-inset-top,0)}.dynamic-island-space{display:none}.home-indicator{right:8px;bottom:50%;transform:translateY(50%) rotate(90deg);width:5px;height:134px}}.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)}.battery-indicator,.signal-bar{border-color:var(--color-text-primary)}.home-indicator{background:var(--color-text-primary)}}.empty-state{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:var(--space-16) var(--space-8);text-align:center}.empty-state-content{max-width:320px;width:100%;display:flex;flex-direction:column;align-items:center;gap:var(--space-8);animation:fadeIn var(--transition-spring) ease-out}.empty-state-icon{width:80px;height:80px;border-radius:50%;font-size:32px;background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.1);transition:all var(--transition-native)}.empty-state-icon,.empty-state-illustration{display:flex;align-items:center;justify-content:center}.empty-state-illustration{width:120px;height:120px;opacity:.8}.empty-state-text{display:flex;flex-direction:column;gap:var(--space-4)}.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);margin:0;line-height:1.5;max-width:280px}.empty-state-action{background:var(--color-primary);color:var(--color-text-inverse);border:none;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)}.empty-state-action.secondary{background:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.empty-state-action:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.3)}.empty-state-action:active{transform:translateY(0) scale(.98)}.empty-state-action.secondary:hover,.empty-state.empty .empty-state-icon{background:rgba(var(--color-primary-rgb),.1)}.empty-state.empty .empty-state-icon{color:var(--color-primary);border-color:rgba(var(--color-primary-rgb),.2)}.empty-state.error .empty-state-icon{background:rgba(255,69,58,.1);color:#ff453a;border-color:rgba(255,69,58,.2)}.empty-state.offline .empty-state-icon{background:hsla(240,2%,57%,.1);color:#8e8e93;border-color:hsla(240,2%,57%,.2)}.empty-state.search .empty-state-icon{background:rgba(100,210,255,.1);color:#64d2ff;border-color:rgba(100,210,255,.2)}.empty-state.completed .empty-state-icon{background:rgba(76,217,100,.1);color:#4cd964;border-color:rgba(76,217,100,.2);animation:completed-pulse 2s ease-in-out infinite}@keyframes completed-pulse{0%,to{transform:scale(1);box-shadow:0 0 0 0 rgba(76,217,100,.4)}50%{transform:scale(1.05);box-shadow:0 0 0 10px rgba(76,217,100,0)}}.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,rgba(255,69,58,.2),rgba(255,69,58,.1))}.empty-state.completed .empty-state-icon{background:linear-gradient(135deg,rgba(76,217,100,.2),rgba(76,217,100,.1))}.empty-state-icon{animation:float 6s ease-in-out infinite}@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{max-width:280px;gap:var(--space-6)}.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-action,.empty-state-description{font-size:var(--text-subheadline)}.empty-state-action{padding:var(--space-6) var(--space-12)}}@media (prefers-color-scheme:dark){.empty-state-icon{background:hsla(0,0%,100%,.03);border-color:hsla(0,0%,100%,.08)}}@media (prefers-contrast:high){.empty-state-action,.empty-state-icon{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{background:rgba(255,69,58,.03);border:1px solid rgba(255,69,58,.1);border-radius:var(--radius-xl);margin:var(--space-8)}.offline-state{background:hsla(240,2%,57%,.03);border:1px solid hsla(240,2%,57%,.1);border-radius:var(--radius-xl);margin:var(--space-8)}.empty-state.loading .empty-state-description,.empty-state.loading .empty-state-icon,.empty-state.loading .empty-state-title{background:var(--color-surface-hover);color:transparent;animation:skeleton-shimmer 1.5s infinite}.empty-state.loading .empty-state-description,.empty-state.loading .empty-state-title{border-radius:var(--radius-sm)}.empty-state.loading .empty-state-action{background:var(--color-surface-hover);color:transparent;animation:skeleton-shimmer 1.5s infinite}.native-switch-container{display:flex;justify-content:space-between;align-items:center;gap:var(--space-8);width:100%}.switch-label-container{flex:1;display:flex;flex-direction:column;gap:var(--space-1)}.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{position:relative;background:hsla(240,3%,49%,.16);border:none;border-radius:100px;cursor:pointer;transition:all .2s cubic-bezier(.25,.46,.45,.94);-webkit-tap-highlight-color:transparent;flex-shrink:0;outline:none}.native-switch.small{width:38px;height:22px}.native-switch.medium{width:51px;height:31px}.native-switch.large{width:64px;height:38px}.switch-thumb{position:absolute;background:#fff;border-radius:50%;transition:all .2s cubic-bezier(.25,.46,.45,.94);box-shadow:0 1px 3px rgba(0,0,0,.2),0 0 0 .5px rgba(0,0,0,.04)}.native-switch.small .switch-thumb{width:18px;height:18px;top:2px;left:2px}.native-switch.small.checked .switch-thumb{transform:translateX(16px)}.native-switch.medium .switch-thumb{width:27px;height:27px;top:2px;left:2px}.native-switch.medium.checked .switch-thumb{transform:translateX(20px)}.native-switch.large .switch-thumb{width:34px;height:34px;top:2px;left:2px}.native-switch.large.checked .switch-thumb{transform:translateX(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:translateX(14px)}.native-switch.medium.checked.pressed .switch-thumb{transform:translateX(18px)}.native-switch.large.checked.pressed .switch-thumb{transform:translateX(24px)}.native-switch.disabled{opacity:.5;cursor:not-allowed}.native-switch.disabled .switch-thumb{box-shadow:0 1px 2px rgba(0,0,0,.1),0 0 0 .5px rgba(0,0,0,.02)}.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 rgba(0,0,0,.2),0 0 0 .5px rgba(0,0,0,.04)}}@media (hover:none) and (pointer:coarse){.native-switch:not(.disabled):active{animation:haptic-switch .1s ease-out}}@keyframes haptic-switch{0%{transform:scale(1)}50%{transform:scale(.98)}to{transform:scale(1)}}@media (prefers-color-scheme:dark){.native-switch{background:hsla(240,2%,57%,.16)}.switch-thumb{background:#f2f2f7;box-shadow:0 1px 3px rgba(0,0,0,.3),0 0 0 .5px rgba(0,0,0,.06)}}@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 ease}.native-switch:not(.disabled):active{animation:none}}.ios-device .native-switch{background:hsla(240,3%,49%,.16)}.ios-device .native-switch.checked{background:#34c759}.ios-device .switch-thumb{background:#fff;box-shadow:0 3px 8px rgba(0,0,0,.15),0 3px 1px rgba(0,0,0,.06)}.android-device .native-switch{background:rgba(0,0,0,.26)}.android-device .native-switch.checked{background:rgba(var(--color-primary-rgb),.5)}.android-device .switch-thumb{background:#fafafa;box-shadow:0 2px 4px rgba(0,0,0,.2),0 1px 2px rgba(0,0,0,.1)}.android-device .native-switch.checked .switch-thumb{background:var(--color-primary)}*{margin:0;padding:0;box-sizing:border-box}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;line-height:1.6;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;overscroll-behavior:contain;overflow-x:hidden;position:relative}.container,body{min-height:100vh}.container{padding:var(--space-md);max-width:100%;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{display:flex;flex-direction:column;gap:1rem;width:100%}.list-item-v2{padding:var(--space-8) var(--space-12);background-color:var(--color-surface);display:flex;flex-direction:row;justify-content:space-between;align-items:center;width:100%;border-radius:var(--radius-lg);border:1px solid var(--color-border-subtle);color:var(--color-text-primary);cursor:pointer;text-align:left;transition:all var(--transition-native);position:relative;overflow:hidden;min-height:var(--touch-target-min);-webkit-tap-highlight-color:transparent}.list-item-v2:hover{background-color:var(--color-surface-hover);border-color:var(--color-border)}.list-item-v2:active{transform:scale(.98);opacity:.9;transition:all .1s ease}.item-text-v2{font-size:var(--text-body);font-weight:var(--font-normal);line-height:1.4}.chevron-v2{color:hsla(0,0%,100%,.3);font-size:1rem;display:inline-flex;align-items:center;justify-content:center}.nav-footer{position:fixed;bottom:0;left:0;right:0;padding:var(--space-md);background:rgba(10,10,11,.8);display:flex;justify-content:space-between;z-index:var(--z-sticky);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--color-border-subtle)}.nav-button,.nav-button.next{display:flex;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}@media (hover:hover){.nav-button.next:hover,.nav-button:hover{background:var(--color-surface-hover);border-color:var(--color-border)}}.nav-button.next:active,.nav-button:active{transform:scale(.96);opacity:.8;transition:all .1s ease}.nav-button svg{font-size:.875rem}.workout-list{display:flex;flex-direction:column;gap:1rem}@media (min-width:768px){.container{max-width:800px;margin:0 auto}.nav-footer{max-width:800px;left:50%;transform:translateX(-50%)}}.exercise-details{gap:1rem;margin-bottom:80px}.exercise-details,.exercise-item{display:flex;flex-direction:column}.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}.exercise-item:hover{border-color:var(--color-border);box-shadow:var(--shadow-sm)}.exercise-name{font-size:1.5rem;font-weight:600;color:#fff}.exercise-info{color:hsla(0,0%,100%,.8)}.exercise-info p{font-size:1rem}.watch-button{background:var(--color-primary);color:var(--color-text-inverse);border:none;border-radius:var(--radius-lg);padding:var(--space-6) var(--space-12);width:auto;display:flex;align-items:center;font-size:var(--text-callout);font-weight:var(--font-semibold);cursor:pointer;gap:var(--space-4);transition:all var(--transition-native);min-height:var(--touch-target-min);-webkit-tap-highlight-color:transparent}@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{transform:scale(.96);transition:all .1s ease}.exercise-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;width:100%}.button-indicators{display:flex;align-items:center;gap:.75rem}.check-icon{color:#4cd964;font-size:1rem;display:inline-flex;align-items:center;justify-content:center}.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:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--color-primary);border-radius:var(--radius-lg) 0 0 var(--radius-lg)}.list-item-v2.completed .check-icon,.list-item-v2.completed .chevron-v2{color:#d4ff99}.complete-button{background:hsla(0,0%,100%,.1);border:none;border-radius:50%;min-width:2rem;min-height:2rem;display:flex;align-items:center;justify-content:center;color:hsla(0,0%,100%,.5);cursor:pointer;transition:all .2s ease}.complete-button.completed{background:#d4ff99;color:#181b1f}@media (hover:hover){.complete-button:hover{transform:scale(1.1)}}.reset-button{background:rgba(255,59,48,.1);border:1px solid rgba(255,59,48,.3);color:#ff3b30;padding:.75rem 1rem;border-radius:.75rem;width:100%;font-size:1rem;cursor:pointer;margin-top:2rem;transition:all .2s ease}@media (hover:hover){.reset-button:hover{background:rgba(255,59,48,.2)}}.progress-indicator{position:relative;display:flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem}.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:center}.progress-text{color:#30d158;font-size:.5rem;font-weight:600;position:relative;z-index:1}.not-started-pill{background:hsla(0,0%,100%,.1);color:hsla(0,0%,100%,.6);font-size:.75rem;padding:.25rem .5rem;border-radius:1rem;white-space:nowrap}.container.is-centered{display:flex;flex-direction:column;justify-content:center}.login-container{max-width:400px;width:100%;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);margin:0 auto;animation:fadeIn var(--transition-base) ease-out}.login-form,form{gap:1rem}.form-group,.login-form,form{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-group label{font-size:.875rem;color:#a6a6a6}.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::-moz-placeholder{color:var(--color-text-tertiary)}.form-group input::placeholder{color:var(--color-text-tertiary)}.form-group input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.2)}.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:none;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}@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{transform:scale(.98);transition:all .1s ease}.error-message{color:#e53e3e;background-color:rgba(229,62,62,.1);border-radius:.375rem}.login-container h1{margin-bottom:1.5rem}.header{display:flex;justify-content:space-between;align-items:end;margin-bottom:2rem;margin-top:1rem}.logout-button{display:flex;align-items:center;gap:.5rem;padding:1rem 1.5rem;background-color:rgba(189,49,50,.2);border:none;border-radius:.375rem;color:#fff;font-size:.875rem;cursor:pointer;transition:background-color .2s}@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;text-decoration:none;font-size:.9rem}.forgot-password a:hover{text-decoration:underline}.back-to-login{text-align:center;margin-top:1rem}.back-to-login a{color:#c4bfff;text-decoration:none;font-size:.9rem}.back-to-login a:hover{text-decoration:underline}.success-message{background-color:#d4edda;color:#155724}.error-message,.success-message{padding:.75rem;border-radius:4px;margin-bottom:1rem;text-align:center}.error-message{background-color:#f8d7da;color:#721c24}.subtitle{color:#a6a6a6;margin-bottom:1.5rem;text-align:left}.touchable,a,button{-webkit-tap-highlight-color:transparent;touch-action:manipulation;cursor:pointer;position:relative}@media (hover:none) and (pointer:coarse){.touchable,a,button{-webkit-tap-highlight-color:transparent;touch-action:manipulation;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.complete-button,.nav-button,.watch-button{min-height:44px;min-width:44px}.touchable:active,a:active,button:active{animation:haptic-feedback .15s ease-out}}@keyframes haptic-feedback{0%{transform:scale(1)}50%{transform:scale(.97)}to{transform:scale(1)}}.scrollable{-webkit-overflow-scrolling:touch;overflow-y:auto;scroll-behavior:smooth}.no-bounce{overscroll-behavior-y:contain}.switch{position:relative;display:inline-block;width:51px;height:31px;background-color:hsla(240,3%,49%,.16);border-radius:31px;transition:background-color .2s ease;cursor:pointer;-webkit-tap-highlight-color:transparent}.switch.active{background-color:var(--color-primary)}.switch-knob{position:absolute;top:2px;left:2px;width:27px;height:27px;background-color:#fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2);transition:transform .2s ease}.switch.active .switch-knob{transform:translateX(20px)}.segmented-control{display:flex;background:hsla(240,4%,48%,.12);border-radius:9px;padding:2px;gap:2px}.segment{flex:1;padding:8px 16px;border-radius:7px;background:transparent;border:none;color:var(--color-text-primary);font-size:13px;font-weight:var(--font-semibold);transition:all .2s ease;cursor:pointer;-webkit-tap-highlight-color:transparent}.segment.active{background:var(--color-surface);box-shadow:0 3px 8px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.04)}.safe-area-top{padding-top:env(safe-area-inset-top,20px)}.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom,20px)}.list-separator{height:.5px;background:rgba(60,60,67,.36);margin-left:16px}.activity-indicator{display:inline-block;width:20px;height:20px;border-radius:50%;border:2px solid hsla(0,0%,100%,.3);border-top:2px solid var(--color-primary);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}*{-webkit-user-select:none;-moz-user-select:none;user-select:none}.selectable,[contenteditable=true],input,textarea{-webkit-user-select:text;-moz-user-select:text;user-select:text}:host,:root{--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(:host),svg.svg-inline--fa:not(:root){overflow:visible;box-sizing:content-box}.svg-inline--fa{display:var(--fa-display,inline-block);height:1em;overflow:visible;vertical-align:-.125em}.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{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0}.fa-layers-counter,.fa-layers-text{display:inline-block;position:absolute;text-align:center}.fa-layers{display:inline-block;height:1em;position:relative;text-align:center;vertical-align:-.125em;width:1em}.fa-layers svg.svg-inline--fa{transform-origin:center center}.fa-layers-text{left:50%;top:50%;transform:translate(-50%,-50%);transform-origin:center center}.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);overflow:hidden;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:top right}.fa-layers-bottom-right{bottom:var(--fa-bottom,0);right:var(--fa-right,0);top:auto;transform:scale(var(--fa-layers-scale,.25));transform-origin:bottom right}.fa-layers-bottom-left{bottom:var(--fa-bottom,0);left:var(--fa-left,0);right:auto;top:auto;transform:scale(var(--fa-layers-scale,.25));transform-origin:bottom left}.fa-layers-top-right{top:var(--fa-top,0);right:var(--fa-right,0);transform:scale(var(--fa-layers-scale,.25));transform-origin:top right}.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:top left}.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{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin,2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(-1 * var(--fa-li-width, 2em));position:absolute;text-align:center;width:var(--fa-li-width,2em);line-height:inherit}.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-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade,.fa-fade{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s)}.fa-beat-fade{animation-name:fa-beat-fade;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-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-shake,.fa-spin{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal)}.fa-spin{animation-name:fa-spin;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-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{animation-delay:-1ms;animation-duration:1ms;animation-iteration-count:1;transition-delay:0s;transition-duration:0s}}@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) 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)}24%,8%{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(0deg)}}@keyframes fa-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.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{display:inline-block;vertical-align:middle;height:2em;position:relative;width:2.5em}.fa-stack-1x,.fa-stack-2x{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0;z-index:var(--fa-stack-z-index,auto)}.svg-inline--fa.fa-stack-1x{height:1em;width:1.25em}.svg-inline--fa.fa-stack-2x{height:2em;width:2.5em}.fa-inverse{color:var(--fa-inverse,#fff)}.fa-sr-only,.fa-sr-only-focusable:not(:focus),.sr-only,.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.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)}.svg-inline--fa .fa-secondary,.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}