@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap";:root{--bg-primary:#08080a;--bg-secondary:#141417;--bg-tertiary:#1f1f24;--bg-elevated:#28282e;--text-primary:#f8fafc;--text-secondary:#a1a1aa;--text-muted:#71717a;--accent:#facc15;--accent-hover:#fde047;--accent-rgb:250, 204, 21;--accent-secondary:#eab308;--accent-text:#000;--accent-success:#30d158;--accent-danger:#ff453a;--accent-warning:#f59e0b;--border-color:#ffffff14;--border-subtle:#ffffff0a;--glass-bg:#141418b8;--glass-border:#ffffff14;--glass-highlight:inset 0 1px 0 0 #ffffff1a;--glass-blur:blur(24px) saturate(180%);--shadow-xs:0 1px 2px 0 #0000000a;--shadow-sm:0 1px 3px 0 #0000000d, 0 1px 2px -1px #0000000d;--shadow-md:0 4px 14px -2px #00000014, 0 2px 6px -1px #0000000a;--shadow-lg:0 12px 30px -4px #00000029, 0 4px 10px -2px #0000000f;--shadow-floating:0 20px 40px -8px #0000003d, 0 8px 16px -4px #00000014;--shadow-accent:0 4px 20px -2px rgba(var(--accent-rgb), .32);--font-sans:-apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Plus Jakarta Sans", system-ui, sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-spring:cubic-bezier(.16, 1, .3, 1);--ease-out-apple:cubic-bezier(.22, 1, .36, 1);--ease-in-out-apple:cubic-bezier(.77, 0, .175, 1);--duration-fast:.14s;--duration-normal:.22s;--transition-speed:.22s}:root[data-theme=light]{--bg-primary:#f2f2f7;--bg-secondary:#fff;--bg-tertiary:#e5e5ea;--bg-elevated:#fff;--text-primary:#000;--text-secondary:#48484a;--text-muted:#6e6e73;--accent:#ca8a04;--accent-hover:#a16207;--accent-rgb:202, 138, 4;--accent-secondary:#eab308;--accent-text:#fff;--accent-success:#16a34a;--accent-danger:#dc2626;--accent-warning:#d97706;--border-color:#3c3c431f;--border-subtle:#3c3c430f;--glass-bg:#ffffffd1;--glass-border:#3c3c4314;--glass-highlight:inset 0 1px 0 0 #ffffffe6;--shadow-xs:0 1px 2px 0 #00000008;--shadow-sm:0 1px 3px 0 #0000000a, 0 1px 2px -1px #0000000a;--shadow-md:0 4px 12px -2px #0000000f, 0 2px 6px -1px #00000008;--shadow-lg:0 12px 28px -4px #00000014, 0 4px 10px -2px #0000000a;--shadow-floating:0 20px 36px -8px #0000001f, 0 8px 16px -4px #0000000f;--shadow-accent:0 4px 16px -2px rgba(var(--accent-rgb), .22)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html{background-color:var(--bg-primary);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100%}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);transition:background-color var(--transition-speed) var(--ease-out), color var(--transition-speed) var(--ease-out);height:100dvh;line-height:1.5;overflow:hidden}.app-container{background-color:var(--bg-primary);max-width:500px;height:100dvh;box-shadow:var(--shadow-lg);border-left:1px solid var(--border-color);border-right:1px solid var(--border-color);flex-direction:column;margin:0 auto;display:flex;position:relative;overflow:hidden}.content-area{min-height:0;padding:calc(16px + env(safe-area-inset-top,0px)) 16px 36px 16px;-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:16px;display:flex;overflow:hidden auto}.has-header .content-area{padding-top:14px}h1{letter-spacing:-.03em;color:var(--text-primary);font-size:clamp(1.7rem,4vw,2rem);font-weight:800;line-height:1.15}h2{letter-spacing:-.022em;color:var(--text-primary);font-size:1.35rem;font-weight:700;line-height:1.25}h3{letter-spacing:-.015em;color:var(--text-primary);font-size:1.08rem;font-weight:600;line-height:1.35}h4{letter-spacing:-.01em;color:var(--text-primary);font-size:.95rem;font-weight:600;line-height:1.4}p{letter-spacing:-.005em;color:var(--text-secondary);font-size:.93rem;line-height:1.55}.stat-value,.set-number,.timer-time,.counter,.tabular-nums,.set-input,th,td{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.app-header{padding:calc(12px + env(safe-area-inset-top,0px)) 16px 10px 16px;background-color:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);z-index:50;border-bottom:1px solid var(--border-color);box-shadow:var(--glass-highlight), var(--shadow-xs);transition:background-color var(--transition-speed) ease;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}:root[data-theme=light] .app-header{background-color:var(--glass-bg)}.logo{letter-spacing:-.025em;color:var(--text-primary);align-items:center;gap:8px;font-size:1.35rem;font-weight:800;display:flex}.logo span{color:var(--accent)}.glass-card{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--shadow-md), var(--glass-highlight);transition:transform .14s var(--ease-spring), box-shadow .14s var(--ease-spring), background-color var(--transition-speed) var(--ease-out);border-radius:16px;padding:16px}@media (hover:hover) and (pointer:fine){.glass-card:hover{box-shadow:var(--shadow-lg), var(--glass-highlight)}}.glass-card.interactive:active{transform:scale(.985)}.btn{font-family:var(--font-sans);cursor:pointer;transition:transform .14s var(--ease-spring), background-color .15s var(--ease-out), box-shadow .15s var(--ease-out);border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;padding:11px 18px;font-size:.92rem;font-weight:600;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background-color:var(--accent);color:#000;box-shadow:var(--shadow-sm), var(--shadow-accent);font-weight:700}@media (hover:hover) and (pointer:fine){.btn-primary:hover{background-color:var(--accent-hover);transform:translateY(-1px)}}.btn-primary:active{transform:scale(.97)}.btn-secondary{background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);box-shadow:var(--shadow-xs)}@media (hover:hover) and (pointer:fine){.btn-secondary:hover{background-color:#ffffff14}:root[data-theme=light] .btn-secondary:hover{background-color:#0000000d}}.btn-success{background-color:var(--accent-success);color:#fff}.btn-danger{background-color:var(--accent-danger);color:#fff}.ios-glass-card{-webkit-backdrop-filter:blur(28px)saturate(180%);transition:transform .14s var(--ease-spring), box-shadow .16s var(--ease-out);background:linear-gradient(135deg,#1c1c22b8 0%,#121216a6 100%);border:1px solid #ffffff14;border-top-color:#ffffff29;border-radius:20px;padding:16px;box-shadow:0 10px 30px -10px #00000080,inset 0 1px #ffffff1f}:root[data-theme=light] .ios-glass-card{background:linear-gradient(135deg,#ffffffe6 0%,#f5f5f7d9 100%);border:1px solid #00000014;border-top-color:#ffffffe6;box-shadow:0 8px 24px -6px #00000014}.ios-glass-card.interactive:active{transform:scale(.985)}.ios-glow-cyan,.ios-glow-yellow{box-shadow:0 8px 28px -4px #facc1566}.ios-glow-amber{box-shadow:0 6px 20px -2px #f59e0b52}.ios-glow-green{box-shadow:0 8px 28px -4px #30d15859}.ios-glow-purple{box-shadow:0 8px 28px -4px #c084fc59}.btn-apple-primary{color:#000;font-family:var(--font-sans);cursor:pointer;transition:transform .14s var(--ease-spring), filter .14s var(--ease-out), box-shadow .14s var(--ease-out);background:linear-gradient(135deg,#facc15 0%,#eab308 100%);border:none;border-radius:14px;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px 20px;font-size:.92rem;font-weight:800;display:inline-flex;box-shadow:0 4px 20px -2px #facc1573}.btn-apple-primary:active{transform:scale(.97)}.btn-apple-success{color:#fff;font-family:var(--font-sans);cursor:pointer;transition:transform .14s var(--ease-spring), filter .14s var(--ease-out);background:linear-gradient(135deg,#30d158 0%,#28a745 100%);border:none;border-radius:14px;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px 20px;font-size:.92rem;font-weight:800;display:inline-flex;box-shadow:0 4px 20px -2px #30d15866}.btn-apple-success:active{transform:scale(.97)}.ios-segmented{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:12px;gap:4px;width:100%;padding:4px;display:flex}.ios-segmented-item{color:var(--text-secondary);cursor:pointer;text-align:center;transition:transform .14s var(--ease-spring), background-color .16s var(--ease-out), color .16s var(--ease-out), box-shadow .16s var(--ease-out);background:0 0;border:1px solid #0000;border-radius:9px;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:.82rem;font-weight:600;display:inline-flex}.ios-segmented-item.active{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--border-color);box-shadow:var(--shadow-sm);font-weight:700}.ios-segmented-item:active{transform:scale(.97)}.apple-ring-outer{stroke:#facc15;filter:drop-shadow(0 0 6px #facc1599);transition:stroke-dashoffset .8s var(--ease-out)}.apple-ring-middle{stroke:#c084fc;filter:drop-shadow(0 0 6px #c084fc99);transition:stroke-dashoffset .8s var(--ease-out)}.apple-ring-inner{stroke:#30d158;filter:drop-shadow(0 0 6px #30d15899);transition:stroke-dashoffset .8s var(--ease-out)}.stepper-btn{background:var(--bg-tertiary);border:1px solid var(--border-color);width:28px;min-width:28px;height:28px;min-height:28px;color:var(--text-primary);cursor:pointer;transition:transform .12s var(--ease-spring), background-color .14s var(--ease-out);-webkit-user-select:none;user-select:none;border-radius:8px;justify-content:center;align-items:center;font-size:.9rem;font-weight:700;display:flex}.stepper-btn:active{background:rgba(var(--accent-rgb), .15);transform:scale(.92)}.ios-stepper{background:var(--bg-tertiary);border:1px solid var(--border-color);vertical-align:middle;border-radius:10px;align-items:center;height:38px;display:inline-flex;overflow:hidden;box-shadow:inset 0 1px 2px #0003}.ios-stepper-btn{width:26px;min-width:26px;height:38px;color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:1.05rem;font-weight:700;transition:background-color .12s;display:flex}.ios-stepper-btn:active:not(:disabled){background:rgba(var(--accent-rgb), .22)}.ios-stepper-btn:disabled{opacity:.35;cursor:not-allowed}.ios-stepper-input{border:none;border-left:1px solid var(--border-color);border-right:1px solid var(--border-color);height:38px;color:var(--text-primary);text-align:center;font-family:var(--font-sans);font-variant-numeric:tabular-nums;-moz-appearance:textfield;background:0 0;outline:none;padding:0 2px;font-size:.95rem;font-weight:800}.ios-stepper-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.ios-stepper-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ios-stepper-input:focus{background:rgba(var(--accent-rgb), .08)}.btn-warning{background-color:var(--accent-warning);color:#000}.btn-icon{border:1px solid var(--border-color);background-color:var(--bg-secondary);width:44px;height:44px;color:var(--text-primary);transition:transform .14s var(--ease-spring), background-color .15s var(--ease-out);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.btn-icon:active{transform:scale(.92)}.badge{text-transform:uppercase;letter-spacing:.035em;background-color:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color);border-radius:6px;align-items:center;padding:3px 8px;font-size:.72rem;font-weight:700;display:inline-flex}.badge-accent{background-color:rgba(var(--accent-rgb), .14);color:var(--accent);border:1px solid rgba(var(--accent-rgb), .28)}.badge-success{color:var(--accent-success);background-color:#30d15824;border:1px solid #30d15847}.form-group{flex-direction:column;gap:6px;width:100%;display:flex}.form-group label{letter-spacing:-.01em;color:var(--text-secondary);font-size:.84rem;font-weight:600}.form-input,.form-control{font-family:var(--font-sans);background-color:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);box-sizing:border-box;width:100%;box-shadow:var(--shadow-xs);transition:border-color .16s ease, box-shadow .16s ease, background-color var(--transition-speed) ease;border-radius:12px;padding:12px 14px;font-size:.94rem}.form-input:focus,.form-control:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb), .22);outline:none}select option{background-color:var(--bg-secondary);color:var(--text-primary)}.bottom-nav{width:100%;height:calc(58px + env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(28px)saturate(180%);z-index:100;padding-bottom:env(safe-area-inset-bottom,0px);box-sizing:border-box;transition:background-color var(--transition-speed) ease;background:#0e0e10e0;border-top:1px solid #ffffff14;flex-shrink:0;justify-content:space-around;align-items:center;display:flex;position:relative;box-shadow:0 -4px 24px #0006,inset 0 1px #ffffff0f}:root[data-theme=light] .bottom-nav{background:#ffffffe0;border-top:1px solid #00000014}.nav-item{color:var(--text-muted);cursor:pointer;width:100%;height:100%;transition:color .16s var(--ease-out);background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:.75rem;font-weight:600;text-decoration:none;display:flex}.nav-item.active{color:var(--accent)}.nav-item svg{width:24px;height:24px;transition:transform .14s var(--ease-spring)}.nav-item:active svg{transform:scale(.92)}.search-bar{gap:8px;width:100%;display:flex}.filter-scroll{scrollbar-width:none;gap:8px;width:100%;padding-bottom:4px;display:flex;overflow-x:auto}.filter-scroll::-webkit-scrollbar{display:none}.filter-chip{background-color:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-color);white-space:nowrap;cursor:pointer;transition:transform var(--duration-fast) var(--ease-out), background-color .15s var(--ease-out), border-color .15s var(--ease-out), color .15s var(--ease-out);border-radius:9999px;padding:8px 16px;font-size:.85rem;font-weight:600}.filter-chip:active{transform:scale(.96)}.filter-chip.active{background-color:var(--accent);color:#000;border-color:var(--accent)}.btn-back{background-color:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);cursor:pointer;transition:transform .12s var(--ease-out), background-color .15s var(--ease-out), border-color .15s var(--ease-out), color .15s var(--ease-out);box-shadow:var(--shadow-sm);border-radius:9999px;align-items:center;gap:6px;padding:6px 14px;font-size:.82rem;font-weight:600;display:inline-flex}@media (hover:hover) and (pointer:fine){.btn-back:hover{background-color:var(--bg-tertiary);color:var(--accent);border-color:var(--accent)}}.btn-back:active{transform:scale(.96)}.btn-link{color:var(--accent);cursor:pointer;transition:opacity .15s var(--ease-out), transform .12s var(--ease-out);background:0 0;border:none;align-items:center;gap:4px;padding:4px 8px;font-size:.82rem;font-weight:600;display:inline-flex}.btn-link:active{transform:scale(.96)}.btn-link:hover{opacity:.8}.exercise-list{flex-direction:column;gap:12px;display:flex}.exercise-card-header{align-items:center;gap:16px;display:flex}.exercise-thumb{background-color:var(--bg-tertiary);width:60px;height:60px;color:var(--accent);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.exercise-info{flex:1}.exercise-detail-panel{border-top:1px solid var(--border-color);flex-direction:column;gap:8px;margin-top:12px;padding-top:12px;font-size:.9rem;display:flex}.anim-placeholder{background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:12px;justify-content:center;align-items:center;width:100%;height:150px;display:flex;overflow:hidden}.active-workout-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.set-table{border-collapse:separate;border-spacing:0 4px;width:100%;margin-top:8px}.set-table th{text-align:center;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;padding:4px 2px 6px;font-size:.68rem;font-weight:800}.set-row{background-color:#ffffff05;border-radius:12px;transition:background-color .16s}.set-row.completed{background-color:#30d15817}.set-row td{text-align:center;vertical-align:middle;padding:6px 2px}.set-number{color:var(--text-secondary);font-size:.88rem;font-weight:800}.set-input{border:1px solid var(--border-color);background-color:var(--bg-tertiary);width:50px;min-height:38px;color:var(--text-primary);text-align:center;font-family:var(--font-sans);font-variant-numeric:tabular-nums;border-radius:10px;padding:4px 2px;font-size:.95rem;font-weight:700;transition:border-color .15s,box-shadow .15s}.set-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb), .22);outline:none}.btn-check-set{border:1px solid var(--border-color);background-color:var(--bg-tertiary);width:38px;min-width:38px;height:38px;min-height:38px;color:var(--text-muted);cursor:pointer;transition:transform .12s var(--ease-out), background-color .15s var(--ease-out), border-color .15s var(--ease-out), box-shadow .15s var(--ease-out), color .15s var(--ease-out);border-radius:11px;justify-content:center;align-items:center;display:inline-flex}.btn-check-set:active{transform:scale(.92)}.btn-check-set.active{background-color:var(--accent-success);color:#fff;border-color:var(--accent-success);box-shadow:0 0 12px #10b98166}.timer-overlay{z-index:200;-webkit-backdrop-filter:var(--glass-blur);background-color:#09090be6;flex-direction:column;justify-content:center;align-items:center;padding:20px;animation:.25s ease-out fadeIn;display:flex;position:absolute;inset:0}:root[data-theme=light] .timer-overlay{background-color:#f8fafceb}.timer-circle-container{justify-content:center;align-items:center;width:200px;height:200px;margin-bottom:24px;display:flex;position:relative}.timer-svg{width:100%;height:100%;position:absolute;top:0;left:0;transform:rotate(-90deg)}.timer-circle-bg{fill:none;stroke:var(--bg-tertiary);stroke-width:8px}.timer-circle-progress{fill:none;stroke:var(--accent);stroke-width:8px;stroke-linecap:round;transition:stroke-dashoffset .1s linear}.timer-text-digits{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:2.8rem;font-weight:800}.timer-subtitle{color:var(--text-secondary);margin-top:-4px;font-size:.9rem;font-weight:600}.timer-controls{gap:12px;width:100%;max-width:320px;display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.routine-grid{flex-direction:column;gap:16px;display:flex}.routine-card{flex-direction:column;gap:12px;display:flex}.routine-meta{flex-wrap:wrap;gap:8px;display:flex}.routine-exercise-item{border-bottom:1px dashed var(--border-color);justify-content:space-between;padding:6px 0;font-size:.9rem;display:flex}.history-list{flex-direction:column;gap:12px;display:flex}.history-card{border-left:4px solid var(--accent)}.history-header{color:var(--text-muted);justify-content:space-between;margin-bottom:8px;font-size:.85rem;font-weight:600;display:flex}.history-exercise-line{margin-bottom:4px;font-size:.9rem}.stats-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.stat-box{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;padding:16px;display:flex}.stat-value{color:var(--accent);margin-top:4px;font-size:1.6rem;font-weight:800}.stat-label{color:var(--text-muted);text-transform:uppercase;font-size:.75rem;font-weight:700}.chart-container{flex-direction:column;gap:12px;margin-top:8px;display:flex}.chart-bar-row{align-items:center;gap:12px;display:flex}.chart-bar-label{width:80px;color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;font-weight:600;overflow:hidden}.chart-bar-wrapper{background-color:var(--bg-tertiary);border-radius:6px;flex:1;height:12px;position:relative;overflow:hidden}.chart-bar-fill{background:linear-gradient(90deg, var(--accent) 0%, var(--accent-secondary) 100%);height:100%;transition:width .24s var(--ease-out);border-radius:6px}.chart-bar-value{color:var(--text-primary);text-align:right;width:50px;font-size:.8rem;font-weight:700}.theme-toggle{color:var(--text-primary);cursor:pointer;background:0 0;background-color:var(--bg-secondary);border:none;border:1px solid var(--border-color);width:40px;height:40px;transition:transform .12s var(--ease-out), background-color .15s var(--ease-out), border-color .15s var(--ease-out);border-radius:10px;justify-content:center;align-items:center;display:flex}.theme-toggle:active{transform:scale(.94)}.modal-overlay{z-index:150;-webkit-backdrop-filter:var(--glass-blur);animation:fadeIn .2s var(--ease-out);background-color:#0009;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}@media (width>=500px){.modal-overlay{align-items:center}}.modal-content{background-color:var(--bg-primary);width:100%;max-width:500px;max-height:90vh;box-shadow:var(--shadow-floating);animation:slideUp .24s var(--ease-spring);border:1px solid var(--border-color);border-bottom:none;border-top-left-radius:24px;border-top-right-radius:24px;flex-direction:column;gap:16px;padding:24px;display:flex;overflow-y:auto}@media (width>=500px){.modal-content{border:1px solid var(--border-color);max-height:85vh;animation:modalScaleIn .22s var(--ease-spring);border-radius:24px}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes modalScaleIn{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.text-center{text-align:center}.flex-row-center{align-items:center;gap:8px;display:flex}.justify-between{justify-content:space-between}.mt-4{margin-top:16px}.mb-4{margin-bottom:16px}.gap-8{gap:8px}.gap-12{gap:12px}.flex-1{flex:1}.d-flex{display:flex}.flex-column{flex-direction:column}.align-center{align-items:center}.mini-workout-player{height:56px;-webkit-backdrop-filter:var(--glass-blur);z-index:90;transition:background-color .15s var(--ease-out), transform .12s var(--ease-out);animation:miniPlayerSlideUp .24s var(--ease-spring);background:#facc151f;border:1.5px solid #facc1559;border-radius:14px;flex-shrink:0;justify-content:space-between;align-items:center;margin:0 16px 8px;padding:0 16px;display:flex;position:relative;box-shadow:0 4px 20px #00000040,0 0 15px #facc1526}.mini-workout-player:active{transform:scale(.985)}:root[data-theme=light] .mini-workout-player{background:#ca8a041a;border-color:#ca8a0466;box-shadow:0 8px 25px #0000000d,0 0 10px #ca8a041a}@keyframes miniPlayerSlideUp{0%{opacity:0;transform:translateY(20px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes pulseGlow{0%{opacity:.5;transform:scale(.85);box-shadow:0 0 #facc15b3}70%{opacity:1;transform:scale(1.1);box-shadow:0 0 0 8px #facc1500}to{opacity:.5;transform:scale(.85);box-shadow:0 0 #facc1500}}.mini-player-label{color:var(--accent);letter-spacing:.08em;font-size:.6rem;font-weight:800;line-height:1.1}.mini-player-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;max-width:160px;font-size:.85rem;font-weight:700;line-height:1.3;overflow:hidden}.mini-player-time{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:1.05rem;font-weight:800}.auth-wrapper{background-color:var(--bg-primary);color:var(--text-primary);animation:.4s ease-out fadeIn}.google-account-option:hover{background-color:#f8fafc!important}:root[data-theme=light] .google-account-option:hover{background-color:#f1f5f9!important}.animate-spin{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.mini-player-pulse{background-color:var(--accent);border-radius:50%;width:10px;height:10px;animation:1.8s ease-in-out infinite pulseGlow}.progress-bar-bg{width:100%;overflow:hidden}.progress-bar-fill{transition:width .24s var(--ease-out)}.sfr-excelente{color:var(--accent)!important;background-color:#facc151f!important;border:1px solid #facc154d!important}.sfr-alto{color:#10b981!important;background-color:#10b9811f!important;border:1px solid #10b9814d!important}.sfr-medio{color:#f59e0b!important;background-color:#f59e0b1f!important;border:1px solid #f59e0b4d!important}:root[data-theme=light] .sfr-excelente{color:#ca8a04!important;background-color:#ca8a0414!important;border-color:#ca8a0440!important}:root[data-theme=light] .sfr-alto{color:#059669!important;background-color:#05966914!important;border-color:#05966940!important}:root[data-theme=light] .sfr-medio{color:#d97706!important;background-color:#d9770614!important;border-color:#d9770640!important}.pwa-banner-overlay{bottom:calc(76px + env(safe-area-inset-bottom,0px));z-index:900;pointer-events:none;padding:0 12px;position:absolute;left:0;right:0}.pwa-banner-card{pointer-events:auto;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border-color);box-shadow:var(--shadow-floating), var(--glass-highlight);animation:pwaSlideUp .24s var(--ease-spring) forwards;transition:background-color var(--transition-speed) var(--ease-out), border-color var(--transition-speed) var(--ease-out);border-radius:20px;padding:16px 18px;position:relative;overflow:hidden}.pwa-banner-accent-line{background:linear-gradient(90deg, var(--accent) 0%, var(--accent-success) 100%);height:3px;position:absolute;top:0;left:0;right:0}.pwa-banner-close{background:var(--bg-tertiary);border:1px solid var(--border-color);width:36px;min-width:36px;height:36px;min-height:36px;color:var(--text-secondary);cursor:pointer;box-shadow:var(--shadow-xs);transition:transform .14s var(--ease-spring), background-color .15s var(--ease-out), color .15s var(--ease-out);border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:10px;right:10px}.pwa-banner-close:active{transform:scale(.92)}@media (hover:hover) and (pointer:fine){.pwa-banner-close:hover{color:var(--text-primary);background-color:#ffffff1f}:root[data-theme=light] .pwa-banner-close:hover{background-color:#00000014}}.pwa-banner-content{align-items:flex-start;gap:12px;display:flex}.pwa-banner-logo-wrapper{flex-shrink:0}.pwa-banner-logo-circle{width:44px;height:44px;color:var(--accent-success);background-color:#10b9811a;border:1.5px solid #10b98140;border-radius:50%;justify-content:center;align-items:center;display:flex}:root[data-theme=light] .pwa-banner-logo-circle{background-color:#10b98114}.pwa-banner-logo-icon{animation:2s ease-in-out infinite pwaPulse}.pwa-banner-details{flex:1;padding-right:16px}.pwa-banner-title{color:var(--text-primary);letter-spacing:-.01em;margin:0 0 6px;font-size:.95rem;font-weight:800}.pwa-banner-steps{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.pwa-banner-steps li{color:var(--text-secondary);flex-wrap:wrap;align-items:center;font-size:.8rem;line-height:1.35;display:flex}.pwa-banner-steps li strong{color:var(--text-primary)}.step-number{color:var(--accent-success);margin-right:4px;font-weight:800}@keyframes pwaSlideUp{0%{opacity:0;transform:translateY(20px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes pwaPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.08)}}.weekly-day-chip{transition:transform .14s var(--ease-out), background-color .15s var(--ease-out), border-color .15s var(--ease-out), box-shadow .15s var(--ease-out)}@media (hover:hover) and (pointer:fine){.weekly-day-chip:hover{filter:brightness(1.08);transform:translateY(-2px)}}.weekly-day-chip:active{transform:scale(.96)}.weekly-day-chip.selected{animation:2s ease-in-out infinite dayPulse;box-shadow:0 0 10px #facc1540}.weekly-day-chip.completed{border-color:#10b98159!important}.weekly-day-chip.rest-day{border-color:#f59e0b26!important}.weekly-day-chip.rest-day.selected{border-color:var(--accent)!important}:root[data-theme=light] .weekly-day-chip{background-color:var(--bg-tertiary)}:root[data-theme=light] .weekly-day-chip.selected{border-color:var(--accent)!important;background-color:#ca8a0414!important}:root[data-theme=light] .weekly-day-chip.completed{background-color:#10b9810f!important;border-color:#10b9814d!important}@keyframes dayPulse{0%,to{box-shadow:0 0 8px #facc1526}50%{box-shadow:0 0 14px #facc1559}}.selected-day-panel{transition:opacity var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out)}@keyframes barMove{0%,to{transform:translateY(0)}50%{transform:translateY(35px)}}@keyframes pressArmsMove{0%,to{transform:translate(0)}50%{transform:translate(25px)}}@keyframes weightPlatesMove{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}@keyframes squatMove{0%,to{transform:translateY(0)scaleY(1)}50%{transform:translateY(26px)scaleY(.74)}}@keyframes deadliftMove{0%,to{transform:translateY(0)}50%{transform:translateY(35px)}}@keyframes deadliftTorso{0%,to{transform:rotate(0)}50%{transform:rotate(26deg)}}@keyframes pullUpMove{0%,to{transform:translateY(32px)}50%{transform:translateY(0)}}@keyframes curlRotate{0%,to{transform:rotate(0)}50%{transform:rotate(-95deg)}}@keyframes dipsMove{0%,to{transform:translateY(0)}50%{transform:translateY(28px)}}@keyframes plankPulse{0%,to{opacity:.35;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}@keyframes hipThrustBar{0%,to{transform:translateY(16px)}50%{transform:translateY(0)}}@keyframes hipThrustTorso{0%,to{transform:rotate(10deg)}50%{transform:rotate(0)}}@keyframes calfRaise{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes legExtensionRotate{0%,to{transform:rotate(0)}50%{transform:rotate(-75deg)}}@keyframes legCurlRotate{0%,to{transform:rotate(0)}50%{transform:rotate(80deg)}}@keyframes overheadExtRotate{0%,to{transform:rotate(0)}50%{transform:rotate(-90deg)}}@keyframes fiberPulse{0%,to{opacity:.4}50%{opacity:.95}}.anim-bar-bench{transform-origin:50%;animation:2.5s ease-in-out infinite barMove}.anim-press-arms{transform-origin:90px 50px;animation:2.5s ease-in-out infinite pressArmsMove}.anim-weight-plates{animation:2.5s ease-in-out infinite weightPlatesMove}.anim-squat{transform-origin:bottom;animation:2.6s ease-in-out infinite squatMove}.anim-deadlift-bar{animation:2.8s ease-in-out infinite deadliftMove}.anim-deadlift-torso{transform-origin:100px 90px;animation:2.8s ease-in-out infinite deadliftTorso}.anim-pullup-body{animation:3s ease-in-out infinite pullUpMove}.anim-curl-arm{transform-origin:100px 72px;animation:2.2s ease-in-out infinite curlRotate}.anim-dips-body{animation:2.5s ease-in-out infinite dipsMove}.anim-plank-core{transform-origin:100px 65px;animation:2s ease-in-out infinite plankPulse}.anim-thrust-bar{animation:2.5s ease-in-out infinite hipThrustBar}.anim-thrust-torso{transform-origin:55px 75px;animation:2.5s ease-in-out infinite hipThrustTorso}.anim-calf-body{animation:2s ease-in-out infinite calfRaise}.anim-leg-ext-shin{transform-origin:92px 76px;animation:2.5s ease-in-out infinite legExtensionRotate}.anim-leg-curl-shin{transform-origin:112px 72px;animation:2.5s ease-in-out infinite legCurlRotate}.anim-overhead-arm{transform-origin:110px 48px;animation:2.4s ease-in-out infinite overheadExtRotate}.muscle-active{fill:#ef4444;filter:drop-shadow(0 0 3px #ef444499)}.muscle-fiber{stroke:#ffffff80;stroke-width:.75px;stroke-dasharray:2 2;animation:1.5s ease-in-out infinite fiberPulse}.body-anatomy{fill:var(--bg-tertiary);stroke:var(--text-secondary);stroke-width:1.5px}.body-contour{fill:none;stroke:var(--text-muted);stroke-width:.75px;opacity:.6}.grid-bg{fill:url(#sports-grid)}.laser-glow{filter:drop-shadow(0 0 3px var(--accent))}.biomech-indicator{stroke-width:1px;stroke-dasharray:2 2;opacity:.5}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.modal-content,.mini-workout-player,.pwa-install-banner,.auth-wrapper{animation:.15s fadeIn!important;transform:none!important}}@media (prefers-reduced-transparency:reduce){:root{--glass-bg:var(--bg-secondary);--glass-blur:none}:root[data-theme=light]{--glass-bg:#fff;--glass-blur:none}}@media (prefers-contrast:more){:root{--border-color:#ffffff40;--glass-border:#ffffff59}:root[data-theme=light]{--border-color:#00000040;--glass-border:#00000059}}
