:root{--bg:#000000;--card:#1C1C1E;--card-elevated:#2C2C2E;--text:#FFFFFF;--text-secondary:#A0A0A5;--muted:#A0A0A5;--placeholder:#6C6C70;--accent:#00C896;--accent-light:#00E0A8;--danger:#FF453A;--warning:#FF9F0A;--disabled-text:#6C6C70;--border:#2C2C2E;--input-bg:#2C2C2E;--font-heading:-apple-system,BlinkMacSystemFont,'SF Pro Display','PingFang SC','Microsoft YaHei',sans-serif;--font-body:-apple-system,BlinkMacSystemFont,'SF Pro Text','PingFang SC','Microsoft YaHei',sans-serif;--safe-top:env(safe-area-inset-top, 0px);--safe-bottom:env(safe-area-inset-bottom, 0px);--max-w:100%;--ease-out:cubic-bezier(0.25, 0.1, 0.25, 1);--ease-apple:cubic-bezier(0.32, 0.72, 0, 1)}*{box-sizing:border-box}*{scrollbar-width:none}::-webkit-scrollbar{display:none}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;pointer-events:none}.icon{width:24px;height:24px;display:inline-block;vertical-align:middle;color:inherit}body.sheet-locked{overflow:hidden;touch-action:none}body,html{margin:0;padding:0;width:100%;height:100%;overflow:hidden;position:fixed;background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none}button{font-family:inherit}#app{width:100%;height:100%;position:relative;overflow:hidden;background:var(--bg)}.tab-page{position:absolute;inset:0;display:flex;flex-direction:column;width:100%;height:100%;overflow-y:auto;background:var(--bg);-webkit-overflow-scrolling:touch;opacity:0;visibility:hidden;pointer-events:none;z-index:1;transition:opacity 250ms var(--ease-out),visibility 250ms}.tab-page.active{opacity:1;visibility:visible;pointer-events:auto;z-index:2}.auth-pages{display:flex;position:fixed;inset:0;width:100%;height:100%;background:var(--bg);flex-direction:column;opacity:0;visibility:hidden;pointer-events:none;z-index:10;transition:opacity 250ms var(--ease-out),visibility 250ms var(--ease-out)}.auth-pages.active{opacity:1;visibility:visible;pointer-events:auto}.auth-page{display:none;width:100%;height:100%;flex-direction:column;justify-content:center;padding:24px;background:var(--bg);overflow-y:auto;-webkit-overflow-scrolling:touch;box-sizing:border-box}.auth-page.active{display:flex}.auth-header{text-align:center;margin-bottom:40px}.auth-logo{font-family:var(--font-heading);font-size:2.5rem;font-weight:700;color:var(--text);margin:0 0 12px;letter-spacing:-.02em}.auth-subtitle{font-size:1.1rem;font-weight:600;color:var(--muted);margin:0 0 8px}.auth-tagline{font-size:.95rem;font-weight:500;color:var(--accent);margin:0}.auth-form{width:100%;display:flex;flex-direction:column;gap:18px;margin-bottom:24px}.auth-field{display:flex;flex-direction:column;gap:8px}.auth-field label{font-size:.85rem;font-weight:500;color:var(--muted);padding-left:4px}.auth-input-wrap{position:relative;display:flex;align-items:center;background:var(--card);border-radius:12px;padding:4px 4px 4px 16px;transition:box-shadow .2s var(--ease-out)}.auth-input-wrap:focus-within{box-shadow:0 0 0 2px var(--accent)}.auth-input-wrap input{flex:1;min-width:0;-webkit-appearance:none;appearance:none;background:0 0;border:none;outline:0;padding:12px 0;color:var(--text);font-size:.95rem;font-family:var(--font-body)}.auth-input-wrap input::placeholder{color:var(--placeholder)}.auth-toggle-password{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:0 0;border:none;color:var(--muted);padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent;flex-shrink:0}.auth-toggle-password svg{width:20px;height:20px;stroke-width:1.75}.auth-primary-btn{width:100%;height:52px;background:var(--accent);color:var(--text);border:none;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform 150ms var(--ease-out),opacity 150ms var(--ease-out);margin-top:6px}.auth-primary-btn:active{transform:scale(.97);opacity:.9}.auth-links{text-align:center}.auth-link{color:var(--accent);font-size:.9rem;font-weight:500;text-decoration:none;-webkit-tap-highlight-color:transparent}.auth-link:active{opacity:.7}.auth-footer{text-align:center;font-size:.9rem;color:var(--muted)}.auth-footer .auth-link{margin-left:4px}.password-strength{display:flex;flex-direction:column;gap:6px;margin-top:4px;padding-left:4px}.password-strength-bar{width:100%;height:4px;background:var(--card-elevated);border-radius:2px;overflow:hidden}.password-strength-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .2s var(--ease-out),background .2s var(--ease-out)}.password-strength-text{font-size:.75rem;color:var(--muted)}.onboarding-pages{display:none;position:fixed;inset:0;width:100%;height:100%;background:var(--bg);z-index:100;flex-direction:column;overflow:hidden}.onboarding-pages.active{display:flex}.onboarding-slides{flex:1;display:flex;width:100%;min-height:0;transition:transform 350ms var(--ease-apple)}.onboarding-slide{flex:0 0 100%;width:100%;min-height:0;display:flex;flex-direction:column}.onboarding-slide-content{flex:1;min-height:0;display:flex;flex-direction:column;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:calc(var(--safe-top) + 60px) 24px 24px;box-sizing:border-box}.onboarding-slide-content::-webkit-scrollbar{display:none}.onboarding-slide-centered{justify-content:center;align-items:center;text-align:center}.onboarding-title{font-family:var(--font-heading);font-size:1.8rem;font-weight:700;color:var(--text);line-height:1.3;margin:0 0 32px}.onboarding-name-field{width:100%}.onboarding-name-input{width:100%;background:var(--card);border:1px solid transparent;border-radius:12px;padding:16px;color:var(--text);font-size:1rem;font-family:var(--font-body);outline:0;-webkit-appearance:none;appearance:none;transition:border-color .2s var(--ease-out),box-shadow .2s var(--ease-out)}.onboarding-name-input::placeholder{color:var(--placeholder)}.onboarding-name-input:focus{border-color:var(--accent)}.onboarding-section{margin-bottom:24px}.onboarding-section-label{display:block;font-size:.95rem;font-weight:600;color:var(--text);margin-bottom:12px}.onboarding-gender{display:grid;grid-template-columns:1fr 1fr;gap:12px}.onboarding-gender-card,.onboarding-location-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:var(--card);border:2px solid transparent;border-radius:16px;padding:24px 16px;color:var(--text);font-size:1rem;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color .2s var(--ease-out),background .2s var(--ease-out)}.onboarding-gender-card.selected,.onboarding-location-card.selected{border-color:var(--accent);background:rgba(0,200,150,.1)}.onboarding-gender-icon{font-size:1.8rem;line-height:1}.onboarding-bodytype-icon,.onboarding-location-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;color:var(--muted);transition:color .2s var(--ease-out)}.onboarding-bodytype-icon svg,.onboarding-location-icon svg{width:100%;height:100%;stroke-width:1.75}.onboarding-bodytype-card.selected .onboarding-bodytype-icon,.onboarding-location-card.selected .onboarding-location-icon{color:var(--accent)}.onboarding-pickers{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.onboarding-picker{background:var(--card);border-radius:16px;padding:12px 8px;display:flex;flex-direction:column;align-items:center;height:180px;position:relative}.onboarding-picker-label{font-size:.8rem;color:var(--muted);margin-bottom:8px}.onboarding-picker-wheel{flex:1;width:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;position:relative;text-align:center;scrollbar-width:none;padding-top:40px;padding-bottom:40px}.onboarding-picker-wheel::-webkit-scrollbar{display:none}.onboarding-picker-wheel::after,.onboarding-picker-wheel::before{content:'';position:absolute;left:0;right:0;height:40px;pointer-events:none;z-index:1}.onboarding-picker-wheel::before{top:0;background:linear-gradient(to bottom,var(--card),transparent)}.onboarding-picker-wheel::after{bottom:0;background:linear-gradient(to top,var(--card),transparent)}.onboarding-picker-item{height:40px;display:flex;align-items:center;justify-content:center;font-size:1rem;color:var(--muted);transition:color .2s var(--ease-out),font-size .2s var(--ease-out),font-weight .2s var(--ease-out)}.onboarding-picker-item.selected{color:var(--text);font-size:1.2rem;font-weight:700}.onboarding-picker-unit{font-size:.75rem;color:var(--muted);margin-top:4px}.onboarding-bodytype-scroll{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;overflow-x:visible;padding-bottom:0}.onboarding-bodytype-card{flex:1 1 auto;width:auto;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:8px;background:var(--card);border:2px solid transparent;border-radius:16px;padding:16px;color:var(--text);text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color .2s var(--ease-out),background .2s var(--ease-out)}.onboarding-bodytype-card.selected{border-color:var(--accent);background:rgba(0,200,150,.1)}.onboarding-bodytype-icon{font-size:1.6rem;line-height:1}.onboarding-bodytype-name{font-size:1rem;font-weight:700}.onboarding-bodytype-desc{font-size:.75rem;color:var(--muted);line-height:1.4}.onboarding-chips{display:flex;flex-wrap:wrap;gap:10px}.onboarding-chip{background:var(--card);border:1px solid transparent;border-radius:8px;padding:10px 18px;color:var(--text);font-size:.9rem;font-weight:500;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .2s var(--ease-out),border-color .2s var(--ease-out),color .2s var(--ease-out)}.onboarding-chip.selected{background:var(--accent);color:#000;border-color:var(--accent)}.onboarding-location{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.onboarding-location-icon{font-size:1.8rem;line-height:1}.onboarding-frequency-field{display:inline-flex;align-items:center;gap:16px;background:var(--card);border-radius:12px;padding:8px 16px}.onboarding-frequency-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--card-elevated);border:none;border-radius:12px;color:var(--text);font-size:1.2rem;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent}.onboarding-frequency-input{width:40px;background:0 0;border:none;color:var(--text);font-size:1.2rem;font-weight:700;text-align:center;-webkit-appearance:none;appearance:none}.onboarding-optional{color:var(--muted);font-weight:400;font-size:.85rem}.ob-completion{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px 32px}.ob-completion-icon{width:120px;height:120px;border-radius:50%;background:rgba(0,200,150,.12);display:flex;align-items:center;justify-content:center;margin-bottom:32px}.ob-completion-icon svg{width:56px;height:56px;color:var(--accent)}.ob-completion-title{font-family:var(--font-heading);font-size:1.8rem;font-weight:800;margin:0 0 12px;letter-spacing:-.02em;color:var(--text)}.ob-completion-subtitle{color:var(--muted);font-size:1rem;line-height:1.55;margin:0;max-width:280px}.onboarding-bottom{flex-shrink:0;padding:16px 24px calc(16px + var(--safe-bottom));background:var(--bg)}.onboarding-progress-capsule{display:flex;gap:4px;width:100%;max-width:200px;margin:0 auto 16px}.onboarding-progress-segment{flex:1;height:4px;background:var(--card-elevated);border-radius:12px;transition:all var(--ease-apple) .3s}.onboarding-progress-segment.active{background:var(--accent);box-shadow:0 0 8px rgba(0,200,150,.55),0 0 14px rgba(0,200,150,.25)}.onboarding-actions{display:flex;gap:12px}.onboarding-next-btn,.onboarding-prev-btn{flex:1;height:52px;border:none;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform 150ms var(--ease-out),opacity 150ms var(--ease-out)}.onboarding-prev-btn{background:var(--card-elevated);color:var(--text)}.onboarding-next-btn{background:var(--accent);color:#000}.onboarding-next-btn:active,.onboarding-prev-btn:active{transform:scale(.97);opacity:.9}.onboarding-prev-btn:disabled{opacity:.4;cursor:not-allowed}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:calc(52px + var(--safe-bottom));padding-bottom:var(--safe-bottom);background:var(--bg);border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-around;z-index:5}.nav-item{flex:1;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:0 0;border:none;color:var(--muted);padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color .2s var(--ease-out)}.nav-item svg{width:24px;height:24px;stroke-width:1.75}.nav-item span{font-size:.75rem;font-weight:500}.nav-item.active{color:var(--accent)}.tab-page{padding-bottom:calc(52px + var(--safe-bottom))}#tab-home{min-height:100%;padding-top:calc(var(--safe-top) + 16px);padding-right:16px;padding-bottom:calc(52px + var(--safe-bottom) + 16px);padding-left:16px;box-sizing:border-box}.home-header{margin-bottom:14px}.header-top{display:flex;align-items:flex-start;justify-content:space-between}.home-greeting{flex:1}.greeting-date{font-size:.9rem;color:var(--muted);margin:0 0 4px}.greeting-text{font-family:var(--font-heading);font-size:1.6rem;font-weight:700;color:var(--text);margin:0}.avatar{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--card);border-radius:50%;color:var(--text);cursor:pointer;-webkit-tap-highlight-color:transparent}.avatar svg{width:24px;height:24px;stroke-width:1.75}#edit-profile-avatar img,#profile-sheet-avatar img,.avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.card{background:var(--card);border-radius:16px;padding:16px;margin-bottom:14px}.goal-rings-card{text-align:center}.goal-rings-hero{display:flex;flex-direction:column;align-items:center}.rings-hero-wrapper{width:145px;height:145px;margin:0 auto 0}.rings-hero-svg{width:100%;height:100%}.goal-rings-hero-labels{display:flex;justify-content:space-around;width:100%}.goal-hero-label{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1}.goal-hero-dot{width:8px;height:8px;border-radius:50%;margin-bottom:2px;background:#48484a}.goal-hero-text{font-size:.75rem;color:var(--muted)}.goal-hero-value{font-size:1rem;font-weight:700;color:var(--placeholder)}.goal-hero-label.has-data .goal-hero-value{color:var(--text)}.today-plan-card{position:relative;overflow:hidden;height:auto;min-height:120px;display:flex;flex-direction:column;flex-shrink:0;padding:18px}.today-plan-card.empty .today-plan-glow{display:none}.plan-has-data{display:none}.plan-has-data.active{display:block}.today-plan-glow{display:none}.today-plan-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.today-plan-title-wrap{flex:1;min-width:0}.plan-name{display:flex;align-items:center;font-size:1.2rem;font-weight:700;color:var(--text);margin:0}.plan-subtag{font-size:.8rem;font-weight:500;color:var(--muted);margin-left:8px}.today-plan-muscle{display:block;font-size:.85rem;color:var(--muted);margin-top:3px}.today-plan-progress-ring{width:46px;height:46px;position:relative;flex-shrink:0;margin-left:12px}.today-plan-progress-ring svg{transform:rotate(-90deg)}.progress-ring-track{fill:none;stroke:rgba(255,255,255,0.1);stroke-width:4}.progress-ring-fill{fill:none;stroke:var(--accent);stroke-width:4;stroke-linecap:round;transition:stroke-dashoffset .5s ease}.progress-ring-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;color:var(--text)}.exercise-preview-list{list-style:none;margin:0 0 16px;padding:0}.exercise-preview-list li{display:flex;align-items:center;justify-content:space-between;padding:7px 0;font-size:.95rem;color:var(--text);border-bottom:1px solid rgba(255,255,255,.05)}.exercise-preview-list li:last-child{border-bottom:none}.exercise-preview-list .exercise-meta{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.82rem;font-variant-numeric:tabular-nums}.exercise-preview-list .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0}.today-plan-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.today-plan-status{font-size:.75rem;font-weight:600;padding:5px 10px;border-radius:20px;background:rgba(255,255,255,.08);color:var(--muted)}.today-plan-start-btn{flex:1;max-width:140px;height:42px;background:var(--accent);color:#000;border:none;border-radius:12px;font-size:.95rem;font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .15s var(--ease-apple),opacity .15s var(--ease-apple),background-color .15s var(--ease-apple)}.today-plan-start-btn:active{transform:scale(.96);opacity:.92}.today-plan-start-btn:disabled{background:rgba(255,255,255,.1);color:var(--muted);opacity:.7;pointer-events:none}.today-plan-card.state-pending{border:1px solid transparent}.today-plan-card.state-active .today-plan-status{background:rgba(0,200,150,.14);color:var(--accent)}.today-plan-card.state-active .today-plan-start-btn{background:#00e0a8;box-shadow:0 0 12px rgba(0,200,150,.4)}.today-plan-card.state-finished .today-plan-status{background:var(--accent);color:#000}.today-plan-card.state-finished .progress-ring-fill{stroke:var(--accent)}.today-plan-card.state-finished .progress-ring-text{color:var(--accent)}.today-plan-card.state-finished .today-plan-start-btn{background:rgba(255,255,255,.1);color:var(--muted);pointer-events:none;opacity:.8}.today-plan-card.state-finished .exercise-preview-list li,.today-plan-card.state-finished .plan-name{color:var(--text)}.plan-empty{display:none;flex-direction:column;align-items:center;justify-content:center;padding:32px 16px;text-align:center}.plan-empty.active{display:flex}.plan-loading{display:none;flex-direction:column;align-items:center;justify-content:center;padding:32px 16px;text-align:center}.plan-loading.active{display:flex}.plan-loading-spinner{width:28px;height:28px;border:2px solid rgba(0,230,180,.2);border-top-color:var(--accent);border-radius:50%;animation:plan-loading-spin .8s linear infinite;margin-bottom:12px}@keyframes plan-loading-spin{to{transform:rotate(360deg)}}.plan-loading-text{margin:0;font-size:.9rem;color:var(--text-secondary)}.empty-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08);border-radius:50%;color:var(--muted);margin-bottom:12px}.empty-icon svg{width:24px;height:24px;stroke-width:1.75}.empty-text{font-size:.95rem;color:var(--muted);margin:0}.empty-hint{font-size:.8rem;color:var(--muted);margin:6px 0 16px;line-height:1.4}.today-plan-create-btn{width:100%;max-width:200px;height:44px;padding:0 20px;border:none;border-radius:12px;background:var(--accent);color:#000;font-size:.95rem;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:opacity .2s ease,transform .1s ease}.today-plan-create-btn:active{opacity:.9;transform:scale(.98)}.tomorrow-plan-card{background:var(--card);border-radius:16px;padding:16px;margin-bottom:14px}.tomorrow-plan-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.tomorrow-plan-title{font-size:.85rem;font-weight:600;color:var(--muted);margin:0}.tomorrow-plan-badge{background:rgba(255,255,255,.1);color:var(--muted);font-size:.75rem;font-weight:600;padding:4px 10px;border-radius:12px}.tomorrow-plan-badge.rest{background:rgba(255,69,58,.15);color:#ff453a}.tomorrow-main-title{font-size:1.1rem;font-weight:700;color:var(--text);margin:0 0 4px}.exercise-list{list-style:none;margin:0;padding:0}.tomorrow-plan-summary{font-size:.85rem;color:var(--text-secondary);line-height:1.5}.exercise-list li{font-size:.9rem;color:var(--muted);padding:4px 0}.weekly-checkin-card{background:var(--card);border-radius:16px;padding:16px;margin-bottom:14px}.weekly-checkin-title{font-size:.85rem;font-weight:600;color:var(--muted);margin:0 0 12px}.weekly-checkin-circles{display:flex;justify-content:space-between;gap:8px}.weekly-checkin-circle{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:0 0;border:1.5px dashed rgba(160,160,165,.35);color:rgba(160,160,165,.55);font-size:.8rem;font-weight:600;transition:all .3s var(--ease-apple)}.weekly-checkin-circle .checkin-rest-icon{display:none}.weekly-checkin-circle.unchecked{border:1.5px dashed rgba(160,160,165,.35);color:rgba(160,160,165,.55)}.weekly-checkin-circle.today{border:2px solid var(--accent);background:0 0;color:var(--accent)}.weekly-checkin-circle.completed{background:var(--accent);border-color:var(--accent);color:#000;box-shadow:0 0 8px rgba(0,200,150,.5),0 0 16px rgba(0,200,150,.25);animation:checkin-breathe 2.4s ease-in-out infinite}.weekly-checkin-circle.rest-day{background:rgba(44,44,46,.7);border:1.5px solid rgba(160,160,165,.15);color:rgba(160,160,165,.45)}.weekly-checkin-circle.rest-day .checkin-day-text{display:none}.weekly-checkin-circle.rest-day .checkin-rest-icon{display:flex;width:18px;height:18px;color:rgba(160,160,165,.55)}@keyframes checkin-breathe{0%,100%{box-shadow:0 0 8px rgba(0,200,150,.5),0 0 16px rgba(0,200,150,.25)}50%{box-shadow:0 0 12px rgba(0,200,150,.7),0 0 24px rgba(0,200,150,.4)}}.tip-card{display:flex;align-items:center;gap:12px;background:var(--card);border-radius:16px;padding:16px;margin-bottom:14px}.tip-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:rgba(0,200,150,.15);border-radius:50%;color:var(--accent);flex-shrink:0}.tip-icon svg{width:16px;height:16px;stroke-width:1.75}.tip-text{flex:1;font-size:.9rem;color:var(--text);margin:0;line-height:1.4}#tab-training{min-height:100%;padding-top:calc(var(--safe-top) + 16px);padding-right:16px;padding-bottom:calc(52px + var(--safe-bottom) + 16px);padding-left:16px;box-sizing:border-box;width:100%;max-width:100%;overflow-x:hidden}.training-page{display:flex;flex-direction:column;gap:12px;width:100%;max-width:100%;overflow-x:hidden}.week-calendar-card{padding:12px 8px}.week-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.week-day{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 2px 6px;border-radius:14px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .2s var(--ease-out);position:relative;min-width:0}.week-day:active{background:rgba(255,255,255,.06)}.week-day.selected{background:rgba(255,255,255,.08)}.week-day-label{font-size:.7rem;color:var(--muted)}.week-day-number{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:.9rem;font-weight:600;color:var(--text);background:rgba(255,255,255,.08);transition:background .2s var(--ease-out),color .2s var(--ease-out),border .2s var(--ease-out)}.week-day.active .week-day-number,.week-day.selected .week-day-number{background:var(--accent);color:#000}.week-day.today .week-day-number{border:2px solid var(--accent);background:0 0;color:var(--accent)}.week-day.completed .week-day-number{background:var(--accent);color:#000}.week-day.rest .week-day-number{background:rgba(255,255,255,.05);color:var(--muted)}.week-day-badge{font-size:.6rem;color:var(--muted);line-height:1;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;padding:0 2px;min-width:0}.week-day-dot{width:4px;height:4px;border-radius:50%;background:var(--accent)}.week-day-dot.rest-dot{background:var(--muted)}.calendar-section{background:var(--card);border-radius:16px;padding:16px}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.calendar-title{font-size:1.1rem;font-weight:700;color:var(--text)}.calendar-nav-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08);border:none;border-radius:50%;color:var(--text);cursor:pointer;-webkit-tap-highlight-color:transparent}.calendar-nav-btn svg{width:24px;height:24px;stroke-width:1.75}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:10px}.calendar-weekdays span{text-align:center;font-size:.7rem;font-weight:500;color:var(--muted);padding:4px 0}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-day-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;aspect-ratio:1;border-radius:50%;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .2s var(--ease-out);position:relative}.calendar-day-cell:active{background:rgba(255,255,255,.06)}.calendar-day-cell.active{background:rgba(255,255,255,.08)}.calendar-day-cell.other-month{visibility:hidden}.calendar-day-num{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:.85rem;font-weight:600;color:var(--text);background:rgba(255,255,255,.08);transition:background .2s var(--ease-out),color .2s var(--ease-out),border .2s var(--ease-out)}.calendar-day-cell.active .calendar-day-num,.calendar-day-cell.selected .calendar-day-num{background:var(--accent);color:#000}.calendar-day-cell.today .calendar-day-num{border:2px solid var(--accent);background:0 0;color:var(--accent)}.calendar-day-cell.has-workout .calendar-day-num{background:var(--accent);color:#000}.calendar-day-cell.has-training .calendar-day-num{border:1.5px solid var(--accent);background:0 0;color:var(--accent)}.calendar-day-cell.rest .calendar-day-num{background:rgba(255,255,255,.05);color:var(--muted)}.calendar-day-label{font-size:.55rem;color:var(--muted);line-height:1}.calendar-day-bubble{position:absolute;bottom:100%;left:50%;background:var(--card-elevated);color:var(--text);font-size:.8rem;padding:8px 12px;border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.4);pointer-events:none;opacity:0;visibility:hidden;transform:translate(-50%,-4px);transition:opacity .2s var(--ease-out),visibility .2s var(--ease-out),transform .2s var(--ease-out);z-index:30;white-space:nowrap}.calendar-day-bubble.show{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,-12px)}.training-entry-card{display:flex;align-items:center;gap:14px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .2s var(--ease-out)}.training-entry-card:active{background:rgba(255,255,255,.05)}.training-entry-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:1.2rem;font-weight:700;color:#000;flex-shrink:0}.training-entry-icon-ai{background:var(--accent)}.training-entry-icon-library{background:var(--accent)}.training-entry-icon-library svg{width:20px;height:20px;stroke-width:1.75}.training-entry-text{flex:1;display:flex;flex-direction:column;gap:2px}.training-entry-title{font-size:1rem;font-weight:700;color:var(--text)}.training-entry-subtitle{font-size:.8rem;color:var(--muted)}.training-entry-arrow{width:20px;height:20px;color:var(--muted);flex-shrink:0}.my-plan-card{padding:0}.my-plan-header{display:flex;align-items:center;justify-content:space-between;padding:16px;cursor:pointer;-webkit-tap-highlight-color:transparent}.my-plan-name{font-size:1.1rem;font-weight:700;color:var(--text)}.my-plan-actions{display:flex;align-items:center;gap:4px}.my-plan-create{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:0 0;border:none;border-radius:50%;color:var(--muted);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .2s var(--ease-out),color .2s var(--ease-out)}.my-plan-create:active{background:rgba(255,255,255,.08)}.my-plan-create svg{width:20px;height:20px;stroke-width:1.75}.my-plan-toggle{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:0 0;border:none;color:var(--muted);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .2s var(--ease-out)}.my-plan-toggle svg{width:20px;height:20px;stroke-width:1.75}.my-plan-card.expanded .my-plan-toggle{transform:rotate(180deg)}.my-plan-body{max-height:0;overflow:hidden;padding:0 16px;opacity:0;transform:translateY(-8px);transition:max-height .3s var(--ease-out),padding .3s var(--ease-out),opacity 250ms var(--ease-out),transform 250ms var(--ease-out)}.my-plan-card.expanded .my-plan-body{max-height:1000px;padding:0 16px 16px;opacity:1;transform:translateY(0)}.my-plan-list{list-style:none;margin:0 0 16px;padding:0;display:flex!important;flex-direction:column;gap:0;width:100%;max-width:100%;overflow-x:hidden}.my-plan-item{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--border);transition:background .2s var(--ease-out)}.my-plan-item:last-child{border-bottom:none}.my-plan-item-main{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.my-plan-item-name{font-size:1rem;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.my-plan-item-meta{font-size:.8rem;color:var(--muted)}.my-plan-item-actions{display:flex;gap:8px;flex-shrink:0}.my-plan-item-more{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:0 0;border:none;border-radius:50%;color:var(--muted);cursor:pointer;-webkit-tap-highlight-color:transparent}.my-plan-item-more:active{background:rgba(255,255,255,.08)}.my-plan-item-more svg{width:20px;height:20px;stroke-width:1.75}.my-plan-empty{display:none;flex-direction:column;align-items:center;justify-content:center;padding:24px;color:var(--muted);font-size:.9rem;gap:12px}.my-plan-empty.active{display:flex}.my-plan-empty svg{width:32px;height:32px;stroke-width:1.75}.my-plan-empty-create{display:flex;align-items:center;justify-content:center;gap:6px;height:40px;padding:0 20px;background:var(--accent);border:none;border-radius:12px;color:#000;font-size:.9rem;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:opacity .2s var(--ease-out),transform .1s var(--ease-out)}.my-plan-empty-create:active{opacity:.9;transform:scale(.98)}.my-plan-empty-create svg{width:16px;height:16px;stroke-width:1.75}.my-plan-delay-toggle{display:flex;align-items:center;justify-content:space-between;padding:12px 0 0;border-top:1px solid var(--border)}.my-plan-delay-label{font-size:.9rem;color:var(--text)}.my-plan-switch{position:relative;width:48px;height:28px;display:inline-block}.my-plan-switch input{opacity:0;width:0;height:0}.my-plan-switch-slider{position:absolute;inset:0;background:rgba(255,255,255,.15);border-radius:12px;cursor:pointer;transition:background .2s var(--ease-out)}.my-plan-switch-slider::before{content:'';position:absolute;left:2px;top:2px;width:24px;height:24px;background:var(--text);border-radius:50%;transition:transform .2s var(--ease-out)}.my-plan-switch input:checked+.my-plan-switch-slider{background:var(--accent)}.my-plan-switch input:checked+.my-plan-switch-slider::before{transform:translateX(20px)}#tab-stats{min-height:100%;padding-top:calc(var(--safe-top) + 16px);padding-right:16px;padding-bottom:calc(52px + var(--safe-bottom) + 16px);padding-left:16px;box-sizing:border-box}.stats-page{display:flex;flex-direction:column;gap:12px;width:100%;max-width:100%;overflow-x:hidden}.stats-segmented-control{position:relative;display:flex;background:rgba(255,255,255,.08);border-radius:12px;padding:4px;margin-bottom:14px}.stats-segment{flex:1;position:relative;z-index:1;height:36px;background:0 0;border:none;border-radius:12px;color:var(--muted);font-size:.9rem;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color .2s var(--ease-out)}.stats-segment.active{color:#000}.stats-segment-indicator{position:absolute;top:4px;left:4px;width:calc((100% - 8px)/ 3);height:36px;background:var(--accent);border-radius:12px;transition:transform .3s var(--ease-out),width .3s var(--ease-out);z-index:0}.stats-chart-wrap{position:relative;width:100%;height:220px;margin-bottom:14px}#tab-stats.measurement-active .stats-chart-wrap{height:280px;margin-bottom:0}#tab-stats.measurement-active .stats-summary{display:none!important}.stats-chart{width:100%;height:100%}.stats-chart-empty{position:absolute;inset:0;display:none;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--muted);text-align:center;padding:20px}.stats-chart-empty.active{display:flex}.stats-empty-illustration{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:rgba(0,200,150,.08);border-radius:50%;color:var(--accent);margin-bottom:8px}.stats-empty-illustration svg{width:28px;height:28px;stroke-width:1.75}.stats-empty-title{font-size:1rem;font-weight:600;color:var(--text);margin:0}.stats-empty-desc{font-size:.85rem;color:var(--muted);margin:0 0 10px}.stats-empty-action{height:36px;padding:0 18px;background:0 0;border:1px solid rgba(0,200,150,.4);border-radius:12px;color:var(--accent);font-size:.9rem;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background 150ms var(--ease-out),border-color 150ms var(--ease-out)}.stats-empty-action:active{background:rgba(0,200,150,.1);border-color:var(--accent)}.stats-summary{display:flex;gap:24px;margin-bottom:14px;width:100%;max-width:100%;overflow-x:hidden}.stats-summary-item{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1 1 auto}.stats-summary-value{font-size:1.4rem;font-weight:700;color:var(--text);margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stats-summary-value.positive{color:#00c896}.stats-summary-value.negative{color:#ff453a}.stats-summary-label{font-size:.8rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stats-summary.stats-summary-two{justify-content:flex-start;gap:28px}.stats-summary.stats-summary-two .stats-summary-item{flex:0 0 auto;min-width:0;width:auto}.stats-time-chips{display:flex;gap:8px}.stats-chip{flex:1;min-width:0;height:36px;background:rgba(255,255,255,.08);border:none;border-radius:8px;color:var(--muted);font-size:.85rem;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .2s var(--ease-out),color .2s var(--ease-out)}.stats-chip.active{background:var(--accent);color:#000}@media (max-width:380px){.stats-time-chips{gap:5px}.stats-chip{height:32px;font-size:.75rem;border-radius:6px}}.stats-card-title{font-size:1.1rem;font-weight:700;color:var(--text);margin:0 0 12px}.stats-heatmap-card .stats-chart{height:180px}.daily-record-card{padding:0;overflow:visible;flex-shrink:0}.daily-record-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:16px;background:0 0;border:none;color:var(--text);cursor:pointer;-webkit-tap-highlight-color:transparent}.daily-record-title-wrap{display:flex;align-items:baseline;gap:10px}.daily-record-today{font-size:.85rem;color:var(--muted)}.daily-record-chevron{width:20px;height:20px;color:var(--muted);transition:transform .2s var(--ease-out)}.daily-record-card.expanded .daily-record-chevron{transform:rotate(180deg)}.daily-record-body{max-height:0;opacity:0;overflow:hidden;padding:0 14px;transition:max-height 250ms var(--ease-out),opacity .2s var(--ease-out),padding 250ms var(--ease-out)}.daily-record-card.expanded .daily-record-body{max-height:800px;opacity:1;padding:0 14px 14px}.daily-record-core{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}.daily-record-core-item{display:flex;flex-direction:column;gap:4px}.daily-record-hint{font-size:12px;color:var(--muted);min-height:16px;line-height:1.2;margin:2px 0 0 2px;padding:0}.stats-input{flex:1;height:48px;background:rgba(255,255,255,.08);border:1px solid transparent;border-radius:12px;padding:0 12px;color:var(--text);font-size:.95rem;outline:0;transition:border-color .2s var(--ease-out)}.daily-record-body .stats-input{flex:0 0 auto;height:44px;border-radius:8px}.measurement-inputs .stats-input{height:40px;font-size:13px}.daily-record-body .stats-input,.measurement-inputs .stats-input{width:100%}.daily-record-core>*,.measurement-inputs>*{min-width:0}.stats-input::placeholder{color:var(--muted)}.stats-input:focus{border-color:var(--accent)}.measurement-section{margin-bottom:16px}.measurement-section-header{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;background:rgba(255,255,255,.06);border:1px solid transparent;border-radius:10px;color:var(--text);cursor:pointer;-webkit-tap-highlight-color:transparent}.measurement-section-title{font-size:.9rem;font-weight:600}.measurement-section-hint{margin-left:auto;font-size:.8rem;color:var(--muted)}.measurement-section-chevron{width:18px;height:18px;color:var(--muted);transition:transform .2s var(--ease-out)}.measurement-section.expanded .measurement-section-chevron{transform:rotate(180deg)}.measurement-section-body{max-height:0;opacity:0;overflow:hidden;transition:max-height 250ms var(--ease-out),opacity .2s var(--ease-out)}.measurement-section.expanded .measurement-section-body{max-height:600px;opacity:1}.measurement-inputs{display:grid;grid-template-columns:repeat(2,1fr);row-gap:8px;column-gap:10px;padding-top:10px}.daily-record-save{width:100%;height:52px;background:var(--accent);color:#000;border:none;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform 150ms var(--ease-out),opacity 150ms var(--ease-out)}.daily-record-save:active{transform:scale(.98);opacity:.9}.daily-record-sync-btn{align-self:flex-end;background:0 0;border:none;color:var(--accent);font-size:.85rem;font-weight:600;padding:6px 4px;margin-bottom:4px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:opacity 150ms var(--ease-out)}.daily-record-sync-btn:active{opacity:.6}.profile-sheet-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s var(--ease-out),visibility .2s var(--ease-out);z-index:60}.profile-sheet-overlay.open{opacity:1;visibility:visible;pointer-events:auto}.profile-sheet{position:fixed;left:0;right:0;bottom:0;max-height:85vh;background:linear-gradient(180deg,#121212 0,var(--bg) 100%)!important;border-top:1px solid rgba(255,255,255,.12);box-shadow:0 -12px 36px rgba(0,0,0,.6);border-radius:16px 16px 0 0;transform:translateY(100%);visibility:hidden;pointer-events:none;transition:transform .3s var(--ease-apple),visibility .3s var(--ease-apple);z-index:70;display:flex;flex-direction:column}.profile-sheet.open{transform:translateY(0);visibility:visible;pointer-events:auto}.profile-sheet-overlay.no-anim,.profile-sheet.no-anim{transition:none!important}.profile-sheet-handle{width:40px;height:4px;background:rgba(255,255,255,.2);border-radius:2px;margin:12px auto;flex-shrink:0}.profile-sheet-body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:8px 16px calc(16px + var(--safe-bottom))}.profile-sheet-user{display:flex;flex-direction:column;align-items:center;padding:16px 0 24px}.profile-sheet-avatar{width:80px;height:80px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:rgba(255,255,255,.08);border:2px solid var(--accent);border-radius:50%;color:var(--accent);margin-bottom:14px}.profile-sheet-avatar svg{width:40px;height:40px;stroke-width:1.75}.profile-sheet-name{font-size:1.3rem;font-weight:700;color:var(--text);margin-bottom:6px}.profile-sheet-uid{font-size:.85rem;color:var(--muted);margin-bottom:10px}.profile-sheet-edit-hint{font-size:.9rem;font-weight:600;color:var(--accent);cursor:pointer;-webkit-tap-highlight-color:transparent}.profile-card-group{background:var(--card)!important;border:1px solid rgba(255,255,255,.04);border-radius:16px;overflow:hidden;margin-bottom:14px}.profile-card-group.danger{background:rgba(255,69,58,.1)!important}.profile-list-item{display:flex;align-items:center;gap:14px;padding:16px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .2s var(--ease-out)}.profile-list-item:active{background:rgba(255,255,255,.05)}.profile-list-item:not(:last-child){border-bottom:1px solid var(--border)}.profile-item-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:var(--accent);flex-shrink:0}.profile-item-icon svg{width:20px;height:20px;stroke-width:1.75}.profile-item-label{flex:1;font-size:1rem;font-weight:600;color:var(--text)}.profile-item-arrow{width:18px;height:18px;color:var(--muted);flex-shrink:0}.profile-list-item.danger .profile-item-icon,.profile-list-item.danger .profile-item-label{color:#ff453a}.today-plan-expanded{position:fixed;inset:0;display:none;flex-direction:column;width:100%;height:100%;background:var(--bg);z-index:60;opacity:0;visibility:hidden;pointer-events:none;transform-origin:top left;will-change:transform;transition:transform 350ms var(--ease-out),opacity 350ms ease,border-radius 350ms var(--ease-out),visibility 350ms var(--ease-out)}.today-plan-expanded.active{display:flex;opacity:1;visibility:visible;pointer-events:auto}.workout-topbar{display:flex;align-items:center;justify-content:space-between;padding:calc(var(--safe-top) + 12px) 16px 12px;flex-shrink:0;position:relative}.workout-back-minimal{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:0 0;border:none;color:var(--text);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:50%}.workout-back-minimal svg{width:22px;height:22px;stroke-width:1.75}.workout-topbar-title{font-family:var(--font-heading);font-size:1.2rem;font-weight:700;color:var(--text);margin:0;position:absolute;left:50%;transform:translateX(-50%);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60%}.workout-quick-complete-minimal{background:rgba(0,200,150,.12);border:1px solid rgba(0,200,150,.25);color:rgba(0,200,150,.85);font-size:.85rem;font-weight:500;padding:6px 12px;border-radius:12px;cursor:pointer;-webkit-tap-highlight-color:transparent;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:opacity 150ms var(--ease-out),background 150ms var(--ease-out),color 150ms var(--ease-out),border-color 150ms var(--ease-out)}.workout-quick-complete-minimal:active{opacity:.9;background:rgba(0,200,150,.22);color:#00c896}.workout-immersive-body{flex:1;display:flex;flex-direction:column;gap:12px;padding:0 16px 16px;overflow-y:auto}.workout-timer-block{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 0}.workout-central-timer{font-family:'SF Pro Display',-apple-system,BlinkMacSystemFont,'Helvetica Neue',Arial,sans-serif;font-size:3.5rem;font-weight:200;color:var(--text);letter-spacing:.03em;font-variant-numeric:tabular-nums}.workout-timer-label{font-size:.9rem;color:var(--muted);margin-top:6px}.workout-current-card{background:var(--card-elevated);border:1px solid rgba(0,200,150,.25);border-radius:20px;padding:28px 24px;margin-bottom:12px;width:100%;max-width:100%;box-sizing:border-box;box-shadow:0 8px 24px rgba(0,0,0,.2),0 0 0 1px rgba(0,200,150,.06),0 0 28px rgba(0,200,150,.1),inset 0 0 20px rgba(0,200,150,.03);animation:current-card-glow 3s ease-in-out infinite}@keyframes current-card-glow{0%,100%{box-shadow:0 8px 24px rgba(0,0,0,.2),0 0 0 1px rgba(0,200,150,.06),0 0 24px rgba(0,200,150,.08),inset 0 0 16px rgba(0,200,150,.02)}50%{box-shadow:0 8px 24px rgba(0,0,0,.2),0 0 0 1px rgba(0,200,150,.12),0 0 40px rgba(0,200,150,.16),inset 0 0 28px rgba(0,200,150,.05)}}.workout-current-empty{display:none;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px 0;color:var(--muted);text-align:center}.workout-current-empty.active{display:flex}.workout-current-empty svg{width:48px;height:48px;stroke-width:1.75}.workout-current-content{display:flex;flex-direction:column;align-items:center;text-align:center}.workout-current-muscle{background:rgba(0,200,150,.12);color:var(--accent);font-size:.75rem;font-weight:600;letter-spacing:.02em;padding:5px 14px;border-radius:12px;margin-bottom:12px}.workout-current-name{font-family:var(--font-heading);font-size:1.85rem;font-weight:700;color:var(--text);margin:0 0 20px;line-height:1.2;max-width:100%;word-break:break-word;overflow-wrap:break-word}.workout-current-sets{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}.workout-current-sets .workout-set-item{width:38px;height:38px;font-size:.95rem}.workout-current-set-row{margin-bottom:20px}.workout-current-set{font-size:.9rem;color:var(--muted);font-weight:500}.workout-sets{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin:8px 0 16px}.workout-set-item{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:.9rem;font-weight:600;color:var(--text);background:rgba(255,255,255,.08);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .2s var(--ease-out),color .2s var(--ease-out),transform .1s var(--ease-out)}.workout-set-item:active{transform:scale(.95)}.workout-set-item.active{background:var(--accent);color:#000}.workout-set-item.completed{background:var(--accent);color:#000}.workout-current-targets{display:flex;gap:14px;width:100%;margin-bottom:18px}.workout-target{flex:1;display:flex;flex-direction:column;gap:8px}.workout-target-value{width:100%;height:60px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:16px;color:var(--text);font-size:1.4rem;font-weight:700;text-align:center;outline:0;transition:border-color .2s var(--ease-out),background .2s var(--ease-out)}.workout-target-value:focus{background:rgba(255,255,255,.1);border-color:var(--accent)}.workout-target-label{font-size:.75rem;color:var(--muted);font-weight:500}.workout-actions-row{display:flex;gap:12px;width:100%}.workout-complete-main-btn{flex:1;height:52px;background:var(--accent);color:#000;border:none;border-radius:14px;font-size:1rem;font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform 150ms var(--ease-out),opacity 150ms var(--ease-out),background .2s var(--ease-out)}.workout-complete-main-btn:active{transform:scale(.98);opacity:.9}.workout-complete-main-btn:disabled{background:rgba(0,200,150,.35);color:rgba(0,0,0,.45);cursor:not-allowed}.workout-quick-switch{display:flex;gap:10px;overflow-x:auto;padding:4px 0 calc(4px + var(--safe-bottom));scrollbar-width:none;width:100%;max-width:100%;box-sizing:border-box}.workout-quick-switch::-webkit-scrollbar{display:none}.workout-quick-switch-item{flex:0 0 auto;min-width:88px;max-width:120px;background:var(--card);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:10px 12px;text-align:center;opacity:1;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:opacity 150ms var(--ease-out),transform 150ms var(--ease-out),border-color 150ms var(--ease-out),background 150ms var(--ease-out),box-shadow 150ms var(--ease-out)}.workout-quick-switch-item:active{transform:scale(.96)}.workout-quick-switch-item.current{border-color:rgba(0,200,150,.5);background:rgba(0,200,150,.08);box-shadow:0 0 16px rgba(0,200,150,.12)}.workout-quick-switch-item.completed{opacity:.45;border-color:rgba(255,255,255,.04);background:rgba(255,255,255,.03)}.workout-quick-switch-item.completed .workout-quick-switch-name{text-decoration:line-through}.workout-quick-switch-name{font-size:.85rem;font-weight:600;color:var(--text);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workout-quick-switch-meta{font-size:.7rem;color:var(--muted)}.workout-complete-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s var(--ease-out),visibility .3s var(--ease-out);z-index:80}.workout-complete-overlay.open{opacity:1;visibility:visible;pointer-events:auto}.workout-complete-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.9);width:min(320px,calc(100% - 48px));background:var(--card);border-radius:16px;padding:32px 24px;display:flex;flex-direction:column;align-items:center;text-align:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 150ms ease-out,visibility 150ms ease-out,transform 150ms ease-out;z-index:90}.workout-complete-modal.open{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,-50%) scale(1);transition:opacity 250ms ease-out,visibility 250ms ease-out,transform 250ms ease-out}.workout-complete-icon{width:72px;height:72px;border-radius:50%;background:rgba(0,200,150,.12);border:2px solid var(--accent);display:flex;align-items:center;justify-content:center;margin-bottom:16px;opacity:0;transform:scale(.5);transition:opacity .3s ease-out,transform .3s cubic-bezier(.34, 1.56, .64, 1);transition-delay:0.1s}.workout-complete-check{display:inline-block;width:28px;height:16px;border:solid var(--accent);border-width:0 0 4px 4px;transform:rotate(-45deg) translate(2px,-2px);border-radius:2px}.workout-complete-title{font-size:1.4rem;font-weight:700;color:var(--text);margin:0 0 8px;opacity:0;transform:translateY(12px);transition:opacity 250ms ease-out,transform 250ms ease-out;transition-delay:0.2s}.workout-complete-subtitle{font-size:.95rem;color:var(--muted);margin:0 0 24px;opacity:0;transform:translateY(12px);transition:opacity 250ms ease-out,transform 250ms ease-out;transition-delay:280ms}.workout-complete-home{width:100%;height:52px;background:var(--accent);color:#000;border:none;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent;opacity:0;transform:translateY(12px);transition:opacity 250ms ease-out,transform 250ms ease-out;transition-delay:360ms}.workout-complete-modal.open .workout-complete-home,.workout-complete-modal.open .workout-complete-icon,.workout-complete-modal.open .workout-complete-subtitle,.workout-complete-modal.open .workout-complete-title{opacity:1;transform:translateY(0) scale(1)}@media (max-width:393px){.workout-immersive-body{padding:0 14px 14px}.workout-current-card{padding:clamp(18px,5vw,22px) clamp(16px,4.5vw,20px);border-radius:18px}.workout-current-name{font-size:1.55rem}.workout-current-sets{gap:8px}.workout-current-sets .workout-set-item{width:34px;height:34px;font-size:.85rem}.workout-current-targets{gap:12px}.workout-target-value{height:54px;font-size:1.25rem}.workout-actions-row{gap:10px}.workout-complete-main-btn{height:50px;font-size:.95rem}.workout-central-timer{font-size:3rem}}.rest-countdown-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.75);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);z-index:100;visibility:hidden;opacity:0;pointer-events:none;transition:visibility .3s,opacity .3s var(--ease-out)}.rest-countdown-overlay.open{visibility:visible;opacity:1;pointer-events:auto}.rest-countdown-modal{display:flex;flex-direction:column;align-items:center;gap:22px;background:var(--card-elevated);border:1px solid var(--border);border-radius:24px;padding:36px 24px;box-shadow:0 20px 60px rgba(0,0,0,.4);width:calc(100% - 32px);max-width:340px;transform:scale(.9);opacity:0;visibility:hidden;pointer-events:none;transition:opacity 150ms ease-out,visibility 150ms ease-out,transform 150ms ease-out}.rest-countdown-overlay.open .rest-countdown-modal{opacity:1;visibility:visible;pointer-events:auto;transform:scale(1);transition:opacity 250ms ease-out,visibility 250ms ease-out,transform 250ms ease-out}.rest-countdown-ring{position:relative;width:200px;height:200px;filter:drop-shadow(0 0 16px rgba(0, 200, 150, .22))}.rest-countdown-svg{width:100%;height:100%;transform:rotate(-90deg)}.rest-countdown-number{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:var(--font-heading);font-size:3.2rem;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--text)}.rest-countdown-label{font-size:1rem;color:var(--muted);font-weight:500;margin:0}.rest-countdown-skip{height:48px;padding:0 40px;background:0 0;border:1px solid rgba(255,255,255,.12);border-radius:14px;color:rgba(255,255,255,.85);font-size:1rem;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .2s var(--ease-out),color .2s var(--ease-out),border-color .2s var(--ease-out)}.rest-countdown-skip:active{background:rgba(255,255,255,.08)}.rest-countdown-exercise-controls{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%}.rest-countdown-control-row{display:flex;gap:10px;width:100%;justify-content:center}.rest-countdown-control-row .rest-countdown-skip{flex:1;max-width:92px;padding:0 8px}.rest-countdown-finish.workout-complete-main-btn{width:100%;height:52px;padding:0;font-size:1rem;font-weight:700;margin-top:4px;border-radius:12px}.detail-page{display:flex;position:fixed;inset:0;width:100%;height:100%;background:var(--bg);z-index:49;overflow:hidden;flex-direction:column;opacity:0;visibility:hidden;pointer-events:none;transform:translateX(12px);transition:opacity 250ms var(--ease-out),visibility 250ms,transform 250ms var(--ease-out)}.detail-page.active{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(0);z-index:50}#page-exercise-library{transform:translateX(100%);visibility:hidden;transition:transform .3s var(--ease-out),opacity 250ms var(--ease-out),visibility 250ms}#page-exercise-library.active{transform:translateX(0);visibility:visible}#page-exercise-library.exiting{transform:translateX(100%)}.detail-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:var(--safe-top) 16px 12px;background:var(--bg);position:relative}.detail-header .detail-back{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:0 0;border:none;color:var(--text);padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:50%}.detail-header-spacer{width:36px;height:36px}.detail-header .detail-back svg{width:22px;height:22px;stroke-width:1.75}.detail-header h1{position:absolute;left:50%;transform:translateX(-50%);font-family:var(--font-heading);font-size:1.05rem;font-weight:600;color:var(--text);margin:0;white-space:nowrap}.detail-content{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.detail-content::-webkit-scrollbar{display:none}.reset-password-input-wrap{margin:-8px 0 20px}.reset-password-input-wrap .auth-input-wrap{background:var(--card-elevated)}.reset-password-hint{min-height:1.2em;font-size:.8rem;color:var(--danger);padding-left:4px;margin-top:6px;text-align:left}#page-reset-password{z-index:60;transform:translateX(100%);visibility:hidden;transition:transform .3s var(--ease-out),opacity 250ms var(--ease-out),visibility 250ms}#page-reset-password.active{transform:translateX(0);visibility:visible}.reset-password-content{padding:24px 16px calc(24px + var(--safe-bottom));display:flex;flex-direction:column;justify-content:space-between;gap:24px}.reset-password-form{display:flex;flex-direction:column;gap:16px}.reset-password-form-field{display:flex;flex-direction:column;gap:6px}.reset-password-form-label{font-size:.85rem;font-weight:500;color:var(--muted);padding-left:4px}.auth-input-wrap.readonly{background:var(--card-elevated);opacity:.7}.auth-input-wrap.readonly input{color:var(--text-secondary)}.reset-password-detail-hint{min-height:1.2em;font-size:.8rem;color:var(--danger);padding-left:4px}.reset-password-detail-hint.success{color:var(--accent)}.reset-password-save-btn{margin-top:auto;flex-shrink:0}#page-user-profile-management{background:var(--bg)}#page-user-profile-management.active{display:flex;flex-direction:column}.user-profile-management-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:var(--safe-top) 16px 12px;background:var(--bg);position:relative}.user-profile-management-header .detail-back{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:0 0;border:none;color:var(--text);padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:50%}.user-profile-management-header .detail-back svg{width:22px;height:22px;stroke-width:1.75}.user-profile-management-header h1{position:absolute;left:50%;transform:translateX(-50%);font-family:var(--font-heading);font-size:1.05rem;font-weight:600;color:var(--text);margin:0}.user-profile-management-add-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:0 0;border:none;color:var(--accent);padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent;margin-left:auto;position:relative;z-index:1;border-radius:50%}.user-profile-management-add-btn svg{width:20px;height:20px;stroke-width:1.75}.user-profile-management-content{flex:1;min-height:0;overflow-y:auto;padding:16px;-webkit-overflow-scrolling:touch}.user-profile-management-content::-webkit-scrollbar{display:none}.user-profile-list{display:flex;flex-direction:column;gap:12px}.user-profile-swipe-wrap{position:relative;overflow:hidden;border-radius:16px;touch-action:pan-y}.user-profile-swipe-content{position:relative;z-index:1;background:var(--card);border-radius:16px;transition:transform .2s var(--ease-out)}.user-profile-delete-btn{position:absolute;right:0;top:0;bottom:0;width:84px;background:var(--danger);color:#fff;border:none;font-size:.9rem;font-weight:600;display:flex;align-items:center;justify-content:center;z-index:0;cursor:pointer;-webkit-tap-highlight-color:transparent}.user-profile-delete-btn:disabled{background:var(--disabled-text);cursor:not-allowed}.user-profile-card{background:var(--card);border-radius:16px;padding:20px;position:relative;border:2px solid transparent;transition:border-color .2s var(--ease-out),transform 150ms var(--ease-out)}.user-profile-card.active{border-color:var(--accent)}.user-profile-card-badge{position:absolute;top:0;left:0;background:var(--accent);color:#000;font-size:.65rem;font-weight:800;padding:5px 12px;border-radius:14px 0 14px 0;line-height:1;letter-spacing:.02em}.user-profile-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.user-profile-card-name{font-family:var(--font-heading);font-size:1.1rem;font-weight:700;color:var(--text);margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-profile-card-edit{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:0 0;border:none;color:var(--muted);padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent;flex-shrink:0}.user-profile-card-edit svg{width:16px;height:16px;stroke-width:1.75}.user-profile-card-info{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.user-profile-info-tag{background:var(--card-elevated);border-radius:12px;padding:5px 10px;font-size:.8rem;color:var(--muted);line-height:1.3}.user-profile-card-goals{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.user-profile-goal-tag{background:rgba(0,200,150,.15);border-radius:12px;padding:5px 10px;font-size:.8rem;color:var(--accent);line-height:1.3;font-weight:500}.user-profile-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.user-profile-body-tag{background:var(--card-elevated);border-radius:12px;padding:6px 12px;font-size:.8rem;color:var(--muted);line-height:1.3}.user-profile-activate-btn{height:34px;padding:0 16px;background:0 0;border:1px solid var(--accent);border-radius:10px;font-size:.85rem;font-weight:600;color:var(--accent);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background 150ms var(--ease-out),color 150ms var(--ease-out),opacity 150ms var(--ease-out)}.user-profile-activate-btn.disabled{color:#000;cursor:not-allowed;background:var(--accent);border-color:var(--accent)}.user-profile-activate-btn:not(.disabled):active{opacity:.7}.user-profile-empty{display:none;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:32px 24px;text-align:center}.user-profile-empty.active{display:flex}.user-profile-empty-icon{width:72px;height:72px;border-radius:50%;background:rgba(235,235,245,.08);display:flex;align-items:center;justify-content:center;color:rgba(235,235,245,.2);margin-bottom:20px}.user-profile-empty-icon svg{width:32px;height:32px;stroke-width:1.75}.user-profile-empty-title{font-size:1.1rem;font-weight:700;color:var(--text);margin:0 0 8px}.user-profile-empty-subtitle{font-size:.85rem;color:var(--muted);margin:0 0 24px}.user-profile-empty-btn{height:44px;display:flex;align-items:center;justify-content:center;background:var(--accent);color:#000;border:none;border-radius:12px;padding:0 32px;font-size:.95rem;font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform 150ms var(--ease-out),opacity 150ms var(--ease-out)}.user-profile-empty-btn:active{transform:scale(.97);opacity:.9}#page-user-profile-form{background:var(--bg)}#page-user-profile-form.active{display:flex;flex-direction:column}#page-user-profile-form.slide-in,#page-user-profile-form.slide-out{transition:none!important}#page-user-profile-form.slide-in{animation:slideInFromRight 350ms var(--ease-apple) forwards}#page-user-profile-form.slide-out{animation:slideOutToRight .3s var(--ease-out) forwards}@keyframes slideInFromRight{from{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes slideOutToRight{from{transform:translateX(0)}to{transform:translateX(100%)}}.user-profile-form-page-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:var(--safe-top) 16px 12px;background:rgba(0,0,0,.82);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(255,255,255,.08);position:relative}.user-profile-form-page-header .detail-back{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:0 0;border:none;color:var(--text);padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:50%}.user-profile-form-page-header .detail-back svg{width:22px;height:22px;stroke-width:1.75}.user-profile-form-page-header h1{position:absolute;left:50%;transform:translateX(-50%);font-family:var(--font-heading);font-size:1.05rem;font-weight:600;color:var(--text);margin:0;white-space:nowrap}.user-profile-form-page-save{height:36px;display:flex;align-items:center;justify-content:center;background:var(--accent);border:none;border-radius:10px;padding:0 16px;color:#000;font-size:.9rem;font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent;margin-left:auto;position:relative;z-index:1}.user-profile-form-page-content{flex:1;min-height:0;overflow-y:auto;padding:20px 16px calc(28px + var(--safe-bottom));-webkit-overflow-scrolling:touch}.user-profile-form-page-content::-webkit-scrollbar{display:none}.user-profile-form-section{position:relative;background:linear-gradient(180deg,rgba(40,40,42,.6) 0,var(--card) 100%);border:1px solid rgba(255,255,255,.08);border-radius:20px;margin-bottom:20px;padding:18px;overflow:hidden}.user-profile-form-section::before{content:'';position:absolute;top:0;left:18px;right:18px;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent)}.user-profile-form-section:last-child{margin-bottom:0}.user-profile-section-title{font-family:var(--font-heading);font-size:1.05rem;font-weight:700;color:var(--text);display:flex;align-items:center;gap:10px;margin:0 0 18px}.user-profile-section-title::after{content:'';display:block;width:24px;height:2px;background:var(--accent);border-radius:1px;margin-left:auto;opacity:.6}.user-profile-section-title .section-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:rgba(0,200,150,.12);border-radius:10px;color:var(--accent);flex-shrink:0}.user-profile-section-title .section-icon svg{width:18px;height:18px}.user-profile-section-body{background:0 0}.profile-form-page-field{margin-bottom:20px}.profile-form-page-field:last-child{margin-bottom:0}.profile-form-page-label{display:flex;align-items:center;gap:6px;font-size:.85rem;font-weight:600;color:var(--text);margin-bottom:10px}.profile-form-required{color:var(--accent);font-weight:700}.profile-form-optional{color:var(--muted);font-size:.72rem;font-weight:500;padding:2px 6px;background:rgba(255,255,255,.06);border-radius:4px}.profile-form-input{width:100%;-webkit-appearance:none;appearance:none;background:var(--card-elevated);border:1px solid transparent;border-radius:14px;padding:13px 14px;color:var(--text);font-size:.95rem;font-family:var(--font-body);outline:0;box-shadow:inset 0 1px 2px rgba(0,0,0,.3);box-sizing:border-box;transition:border-color .2s var(--ease-out),box-shadow .2s var(--ease-out),background .2s var(--ease-out)}.profile-form-input::placeholder{color:var(--placeholder)}.profile-form-input:focus{background:#232325;border-color:rgba(0,200,150,.22);box-shadow:0 0 0 3px rgba(0,200,150,.12),inset 0 1px 2px rgba(0,0,0,.2)}textarea.profile-form-input{resize:none;line-height:1.55}.user-profile-form-note{min-height:80px}.user-profile-note-count{text-align:right;font-size:.75rem;color:var(--muted);margin-top:8px}.number-field{position:relative}.number-field .profile-form-input{padding-right:44px;font-variant-numeric:tabular-nums;letter-spacing:.02em}.number-unit{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:.8rem;color:var(--muted);font-weight:500;pointer-events:none}.profile-form-options{display:flex;flex-wrap:wrap;gap:10px}.profile-form-option{background:var(--card-elevated);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:10px 14px;font-size:.85rem;color:var(--muted);font-family:var(--font-body);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:all 180ms var(--ease-out);line-height:1.3;text-align:left;box-shadow:0 1px 0 rgba(255,255,255,.03) inset}.profile-form-option.active{background:var(--accent);border-color:var(--accent);color:#000;font-weight:700;box-shadow:0 4px 14px rgba(0,200,150,.22)}.profile-form-option-has-desc{display:flex;flex-direction:column;gap:4px;padding:12px 14px;min-width:100%}.profile-form-option-desc{font-size:.75rem;color:var(--muted);font-weight:400;line-height:1.4}.profile-form-option.active .profile-form-option-desc{color:rgba(0,0,0,.65)}.profile-form-gender{display:flex;gap:12px}.gender-option{flex:1;height:50px;display:flex;align-items:center;justify-content:center;gap:8px;background:var(--card-elevated);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:0 20px;font-size:.95rem;font-weight:600;color:var(--muted);font-family:var(--font-body);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:all .2s var(--ease-out)}.gender-option .gender-icon{width:18px;height:18px;stroke-width:2}.gender-option.active{background:var(--accent);border-color:var(--accent);color:#000;font-weight:700;box-shadow:0 4px 14px rgba(0,200,150,.25)}.custom-box{position:relative;margin-top:12px;padding:14px;background:#232325;border:1px dashed rgba(255,255,255,.14);border-radius:14px;transition:border-color .2s var(--ease-out),background .2s var(--ease-out)}.custom-box:focus-within{border-color:rgba(0,200,150,.22);background:rgba(0,200,150,.05)}.custom-label{display:flex;align-items:center;gap:6px;font-size:.75rem;font-weight:600;color:var(--accent);margin-bottom:8px;letter-spacing:.02em}.custom-label svg{width:14px;height:14px}.custom-box .profile-form-input{background:0 0;border:none;box-shadow:none;padding:0;min-height:54px}.custom-box .profile-form-input:focus{background:0 0;border-color:transparent;box-shadow:none}#page-membership{background:var(--bg)}#page-membership.active{display:flex;flex-direction:column}#page-membership.loading .membership-content{opacity:.4;pointer-events:none;transition:opacity .2s}#page-membership.loading::before{content:'';position:absolute;inset:0;z-index:10}#page-membership.loading::after{content:'加载中...';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:11;color:var(--ink);font-size:14px;font-weight:600;background:var(--bg);padding:10px 20px;border-radius:8px;box-shadow:0 2px 12px rgba(0,0,0,.1)}.zl-spinner{display:inline-block;flex-shrink:0;border-radius:50%;border-style:solid;border-color:rgba(255,255,255,.15);border-top-color:var(--accent,#00c896);animation:zl-spin .8s linear infinite;vertical-align:middle}.zl-spinner-sm{width:16px;height:16px;border-width:2px}.zl-spinner-md{width:20px;height:20px;border-width:2.5px}.zl-spinner-inline{display:inline-block;margin-right:8px}.zl-spinner-block{display:block;margin:0 auto 10px}.zl-loading-text{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--text);font-size:.85rem;letter-spacing:.05em}.zl-loading-center{display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text)}@keyframes zl-spin{to{transform:rotate(360deg)}}.membership-content{padding:16px;display:flex;flex-direction:column;gap:12px;flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.membership-hero-card{position:relative;background:radial-gradient(circle at 80% 0,rgba(0,200,150,.18) 0,transparent 45%),linear-gradient(145deg,rgba(0,200,150,.1) 0,rgba(28,28,30,.95) 50%,rgba(0,200,150,.06) 100%),var(--card);border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:20px;border:1px solid rgba(0,200,150,.18);box-shadow:0 20px 48px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.06)}.membership-hero-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0,rgba(0,200,150,.5) 50%,transparent 100%);opacity:.6}.membership-hero-card.member{background:radial-gradient(circle at 80% 0,rgba(255,214,10,.2) 0,transparent 45%),linear-gradient(145deg,rgba(255,214,10,.12) 0,rgba(28,28,30,.95) 50%,rgba(255,214,10,.07) 100%),var(--card);border-color:rgba(255,214,10,.22);box-shadow:0 20px 48px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.08)}.membership-hero-card.member::before{background:linear-gradient(90deg,transparent 0,rgba(255,214,10,.55) 50%,transparent 100%)}.membership-hero-main{display:flex;flex-direction:column;gap:12px;position:relative;z-index:1}.membership-hero-badge{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;background:rgba(235,235,245,.1);border:1px solid rgba(235,235,245,.12);border-radius:12px;padding:6px 14px;color:var(--muted);font-size:.85rem;font-weight:600;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.membership-hero-badge.member{background:rgba(255,214,10,.12);border-color:rgba(255,214,10,.25);color:gold}.membership-hero-icon{width:16px;height:16px;color:var(--muted)}.membership-hero-icon.member{color:gold}.membership-hero-info{display:flex;flex-direction:column;gap:6px}.membership-hero-tier{font-size:1.35rem;font-weight:700;color:var(--text);letter-spacing:-.01em}.membership-hero-tier.member{color:var(--accent)}.membership-hero-subtitle{font-size:.9rem;color:var(--muted);margin:0;line-height:1.45}.membership-hero-expiry{font-size:.85rem;color:var(--accent);margin:0;line-height:1.4}.membership-hero-cta{position:relative;z-index:1;height:52px;display:flex;align-items:center;justify-content:center;background:var(--accent);color:#000;border:none;border-radius:12px;padding:0 28px;font-size:1rem;font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform 150ms var(--ease-out),opacity 150ms var(--ease-out),box-shadow 150ms var(--ease-out);box-shadow:0 8px 24px rgba(0,200,150,.25)}.membership-hero-cta:active{transform:scale(.97);opacity:.9}.membership-benefits-card{background:var(--card);border-radius:20px;padding:16px}.membership-section-title{font-size:1rem;font-weight:600;color:var(--text);margin:0 0 14px}.membership-benefits-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}.membership-benefit-item{display:flex;align-items:center;justify-content:space-between;gap:12px}.membership-benefit-left{display:flex;align-items:center;gap:10px;color:var(--text);font-size:.9rem;flex-shrink:0}.membership-benefit-left svg{width:16px;height:16px;stroke-width:1.75;color:var(--muted)}.membership-benefit-mark{font-size:.8rem;font-weight:600;flex-shrink:0;white-space:nowrap;color:var(--muted)}.membership-benefit-mark[data-benefit-type=free],.membership-benefit-mark[data-benefit-type=vip].available{color:var(--accent)}.membership-benefit-mark[data-benefit-type=vip].locked{color:var(--muted)}.membership-benefit-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.membership-benefit-icon svg{width:16px;height:16px;stroke-width:1.75}.membership-benefit-item:first-child .membership-benefit-icon{background:rgba(0,200,150,.15)}.membership-benefit-item:first-child .membership-benefit-icon svg{color:#00c896}.membership-benefit-item:nth-child(2) .membership-benefit-icon{background:rgba(10,132,255,.15)}.membership-benefit-item:nth-child(2) .membership-benefit-icon svg{color:#0a84ff}.membership-benefit-item:nth-child(3) .membership-benefit-icon{background:rgba(255,69,58,.15)}.membership-benefit-item:nth-child(3) .membership-benefit-icon svg{color:#ff453a}.membership-benefit-item:nth-child(4) .membership-benefit-icon{background:rgba(255,214,10,.15)}.membership-benefit-item:nth-child(4) .membership-benefit-icon svg{color:#ffd60a}.membership-benefit-item:nth-child(5) .membership-benefit-icon{background:rgba(0,200,150,.15)}.membership-benefit-item:nth-child(5) .membership-benefit-icon svg{color:#00c896}.membership-benefit-item:nth-child(6) .membership-benefit-icon{background:rgba(10,132,255,.15)}.membership-benefit-item:nth-child(6) .membership-benefit-icon svg{color:#0a84ff}.membership-benefit-item:nth-child(7) .membership-benefit-icon{background:rgba(255,214,10,.15)}.membership-benefit-item:nth-child(7) .membership-benefit-icon svg{color:#ffd60a}.membership-plans-card{background:0 0}.membership-plans-card .membership-section-title{margin-bottom:12px}.membership-plans{display:flex;gap:12px;overflow-x:auto;padding:4px 4px 12px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.membership-plans::-webkit-scrollbar{display:none}.membership-plan-card{flex:0 0 auto;width:130px;background:var(--card);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:10px;border:2px solid transparent;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background 150ms var(--ease-out),border-color 150ms var(--ease-out),transform 150ms var(--ease-out);position:relative}.membership-plan-card.selected{background:rgba(0,200,150,.1);border-color:var(--accent)}.membership-plan-card:active{transform:scale(.97)}.membership-plan-card.recommended{width:146px;padding-top:28px}.membership-plan-recommend{position:absolute;top:8px;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,gold,orange);color:#000;font-size:.7rem;font-weight:700;padding:3px 10px;border-radius:12px;white-space:nowrap}.membership-plan-name{font-size:1rem;font-weight:600;color:var(--text)}.membership-plan-price-wrap{display:flex;flex-direction:column;gap:4px}.membership-plan-price{font-size:1.5rem;font-weight:700;color:var(--accent)}.membership-plan-monthly{font-size:.75rem;color:var(--muted)}.membership-plans-note{text-align:center;font-size:.8rem;color:var(--muted);margin:4px 0 0}@media (max-width:400px){.membership-plans{gap:10px}.membership-plan-card{width:116px;padding:14px;gap:8px}.membership-plan-card.recommended{width:130px;padding-top:26px}.membership-plan-price{font-size:1.35rem}.membership-plan-monthly{font-size:.7rem}}.membership-footer{flex-shrink:0;padding:16px 16px calc(16px + var(--safe-bottom));background:var(--bg)}.membership-upgrade-btn{width:100%;height:52px;display:flex;align-items:center;justify-content:center;background:var(--accent);color:#000;border:none;border-radius:12px;padding:0;font-size:1rem;font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform 150ms var(--ease-out),opacity 150ms var(--ease-out)}.membership-upgrade-btn:active{transform:scale(.97);opacity:.9}.membership-pay-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:200}.membership-pay-overlay.open{display:block}.membership-pay-modal{display:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--card);border-radius:16px;padding:28px 24px;width:min(320px,calc(100% - 48px));text-align:center;z-index:201}.membership-pay-modal.open{display:block}.membership-pay-icon{width:56px;height:56px;border-radius:50%;background:rgba(0,200,150,.15);display:flex;align-items:center;justify-content:center;color:var(--accent);margin:0 auto 16px}.membership-pay-icon svg{width:28px;height:28px;stroke-width:1.75}.membership-pay-title{font-size:1.1rem;font-weight:700;color:var(--text);margin:0 0 8px}.membership-pay-subtitle{font-size:.85rem;color:var(--muted);margin:0 0 24px;line-height:1.4}.membership-pay-confirm{width:100%;height:52px;display:flex;align-items:center;justify-content:center;background:var(--accent);color:#000;border:none;border-radius:12px;padding:0;font-size:.95rem;font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent}#page-membership-pay{background:var(--bg)}#page-membership-pay.active{display:flex;flex-direction:column}.membership-pay-content{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:16px}.membership-pay-card{background:var(--card);border-radius:16px;padding:18px}.membership-pay-card-label{font-size:.85rem;color:var(--muted);margin:0 0 14px}.order-summary-plan{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.order-summary-name{font-size:1.1rem;font-weight:700;color:var(--text)}.order-summary-price{font-size:1.3rem;font-weight:800;color:var(--accent)}.order-summary-note{font-size:.8rem;color:var(--muted);margin:0}.payment-method-list{display:flex;flex-direction:column;gap:12px}.payment-method-item{display:flex;align-items:center;gap:12px;padding:14px;background:rgba(255,255,255,.06);border:1.5px solid transparent;border-radius:14px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background 150ms ease,border-color 150ms ease}.payment-method-item.selected{background:rgba(255,255,255,.1);border-color:var(--accent)}.payment-method-icon{width:28px;height:28px;flex-shrink:0}.payment-method-icon.alipay-icon{color:#1677ff}.payment-method-icon.wechat-icon{color:#07c160}.payment-method-name{flex:1;font-size:.95rem;font-weight:600;color:var(--text);text-align:left}.payment-method-check{width:20px;height:20px;border-radius:50%;border:2px solid rgba(255,255,255,.3);position:relative;flex-shrink:0}.payment-method-item.selected .payment-method-check{border-color:var(--accent);background:var(--accent)}.payment-method-item.selected .payment-method-check::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;border-radius:50%;background:#000}.qr-card{text-align:center}.qr-display-wrap{display:flex;justify-content:center;align-items:center;margin:16px 0;min-height:220px}.qr-display-img{width:220px;height:220px;object-fit:contain;border-radius:16px;background:#fff;padding:10px}.qr-display-tip{font-size:.8rem;color:var(--muted);margin:0}.membership-pay-footer{flex-shrink:0;padding:16px;background:var(--card);border-top:1px solid rgba(255,255,255,.08)}.membership-pay-submit{width:100%;height:52px;display:flex;align-items:center;justify-content:center;background:var(--accent);color:#000;border:none;border-radius:14px;padding:0;font-size:.95rem;font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent}.membership-pay-submit:disabled{opacity:.6;cursor:not-allowed}#page-feedback{background:var(--bg)}#page-feedback.active{display:flex;flex-direction:column}.feedback-content{padding:16px}.feedback-card{display:flex;flex-direction:column;gap:16px}.feedback-type-chips{display:flex;flex-wrap:wrap;gap:10px}.feedback-type-chip{background:var(--card-elevated);border:none;border-radius:8px;padding:8px 16px;font-size:.85rem;color:var(--muted);font-family:var(--font-body);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background 150ms var(--ease-out),color 150ms var(--ease-out)}.feedback-type-chip.active{background:var(--accent);color:#000;font-weight:600}.feedback-input-area{background:var(--card);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:8px}.feedback-textarea{width:100%;min-height:150px;background:0 0;border:none;outline:0;color:var(--text);font-size:.95rem;font-family:var(--font-body);line-height:1.6;resize:none}.feedback-textarea::placeholder{color:var(--placeholder)}.feedback-char-count{text-align:right;font-size:.75rem;color:var(--muted)}.feedback-submit-btn{width:100%;height:52px;display:flex;align-items:center;justify-content:center;background:var(--accent);color:#000;border:none;border-radius:12px;padding:0;font-size:1rem;font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform 150ms var(--ease-out),opacity 150ms var(--ease-out)}.feedback-submit-btn:active{transform:scale(.97);opacity:.9}#page-about{background:var(--bg)}#page-about.active{display:flex;flex-direction:column}.about-content{padding:32px 16px;display:flex;flex-direction:column;gap:24px;align-items:center}.about-brand{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.about-name{font-size:3rem;font-weight:800;color:var(--text);margin:0;text-shadow:0 0 24px rgba(0,200,150,.5),0 0 48px rgba(0,200,150,.25);letter-spacing:-.02em}.about-version{font-size:.9rem;color:var(--muted)}.about-studio{font-size:.9rem;color:var(--muted);margin:0}.about-group{width:100%;background:var(--card);border-radius:16px;overflow:hidden}.about-group-item{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid rgba(255,255,255,.05)}.about-group-item:last-child{border-bottom:none}.about-group-label{font-size:.95rem;color:var(--text)}.about-group-value{font-size:.9rem;color:var(--muted)}.about-group-link{cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background 150ms var(--ease-out)}.about-group-link:active{background:rgba(255,255,255,.05)}.about-group-link svg{width:20px;height:20px;stroke-width:1.75;color:var(--muted)}.about-footer{text-align:center;font-size:.8rem;color:var(--muted);margin:auto 0 0;padding-top:16px}#page-agreement,#page-privacy{background:var(--bg)}#page-agreement.active,#page-privacy.active{display:flex;flex-direction:column}.legal-page-content{padding:16px}.legal-card{background:var(--card);border-radius:16px;padding:20px;color:var(--muted);font-size:.9rem;line-height:1.8}.legal-card h3{color:var(--text);font-size:1rem;font-weight:600;margin:20px 0 8px}.legal-card h3:first-child{margin-top:0}.legal-card p{margin:0 0 12px}.legal-card p:last-child{margin-bottom:0}.legal-date{font-size:.8rem;color:var(--muted);margin-bottom:16px}.delete-confirm-overlay,.editor-confirm-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s var(--ease-out),visibility .2s var(--ease-out);z-index:220}.delete-confirm-overlay.open,.editor-confirm-overlay.open{opacity:1;visibility:visible;pointer-events:auto}.delete-confirm-modal,.editor-confirm-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.9);width:min(300px,calc(100% - 48px));background:var(--card);border-radius:16px;padding:24px;text-align:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 150ms ease-out,visibility 150ms ease-out,transform 150ms ease-out;z-index:230}#redeem-modal{width:min(380px,calc(100% - 32px))}.delete-confirm-modal.open,.editor-confirm-modal.open{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,-50%) scale(1);transition:opacity 250ms ease-out,visibility 250ms ease-out,transform 250ms ease-out}.delete-confirm-title,.editor-confirm-title{font-size:1.1rem;font-weight:700;color:var(--text);margin:0 0 24px;line-height:1.4}.delete-confirm-actions,.editor-confirm-actions{display:flex;gap:12px}.delete-confirm-btn,.editor-confirm-btn{flex:1;height:44px;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent}.delete-confirm-cancel,.editor-confirm-cancel{background:var(--card-elevated);color:var(--text)}.delete-confirm-ok,.editor-confirm-ok{background:var(--danger);color:var(--text)}#redeem-modal-submit{background:var(--accent);color:#000}.delete-confirm-desc{font-size:.85rem;color:var(--text-secondary);margin:-16px 0 20px;line-height:1.5;text-align:left}.delete-confirm-danger{background:#ff453a;color:#fff}.delete-confirm-danger:disabled{opacity:.4;cursor:not-allowed}.delete-confirm-danger:not(:disabled):active{opacity:.8}.delete-confirm-input{width:100%;padding:12px 14px;background:var(--bg);border:2px solid var(--border);border-radius:12px;color:var(--text);font-size:1rem;font-family:inherit;text-align:center;margin-bottom:20px;transition:border-color .2s var(--ease-out);-webkit-appearance:none;appearance:none}.delete-confirm-input:focus{outline:0;border-color:var(--accent)}.delete-confirm-input::placeholder{color:var(--text-tertiary)}.quick-complete-confirm-ok{background:var(--accent);color:#000}.create-plan-overlay,.plan-detail-overlay,.plan-name-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s var(--ease-out),visibility .2s var(--ease-out);z-index:75}.create-plan-overlay.open,.plan-detail-overlay.open,.plan-name-overlay.open{opacity:1;visibility:visible;pointer-events:auto}.create-plan-sheet,.plan-detail-sheet,.plan-name-sheet{position:fixed;left:0;right:0;bottom:0;background:var(--card);border-radius:16px 16px 0 0;transform:translateY(100%);visibility:hidden;pointer-events:none;transition:transform .3s var(--ease-apple),max-height .3s var(--ease-apple),visibility .3s var(--ease-apple);z-index:76;display:flex;flex-direction:column;max-height:85vh}.create-plan-sheet.open,.plan-detail-sheet.open,.plan-name-sheet.open{transform:translateY(0);visibility:visible;pointer-events:auto}.create-plan-handle,.plan-detail-handle,.plan-name-handle{width:40px;height:4px;background:rgba(255,255,255,.2);border-radius:2px;margin:12px auto}.create-plan-content,.plan-name-content{padding:20px 24px calc(24px + var(--safe-bottom));flex:1;display:flex;flex-direction:column}.create-plan-title,.plan-name-title{font-size:1.2rem;font-weight:700;color:var(--text);margin:0 0 20px;text-align:center}.create-plan-input,.plan-name-input{width:100%;height:48px;background:rgba(255,255,255,.04);border:1px solid var(--border);border-radius:12px;padding:0 16px;color:var(--text);font-size:1rem;outline:0;margin-bottom:24px;box-sizing:border-box;transition:border-color .2s var(--ease-out)}.create-plan-input:focus,.plan-name-input:focus{border-color:var(--accent)}.create-plan-input::placeholder,.plan-name-input::placeholder{color:var(--muted)}.create-plan-actions,.plan-name-actions{display:flex;gap:12px}.create-plan-btn,.plan-name-btn{flex:1;height:52px;border:none;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent}.create-plan-confirm{background:var(--accent);color:#000}.create-plan-confirm:active{background:var(--accent-light)}.plan-name-confirm{background:var(--accent);color:#000}.plan-name-cancel{background:var(--card-elevated);color:var(--text)}.plan-detail-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px 16px}.plan-detail-title{font-size:1.2rem;font-weight:700;color:var(--text);margin:0}.plan-detail-close{width:34px;height:34px;color:var(--text);cursor:pointer;-webkit-tap-highlight-color:transparent}.plan-detail-close:active{background:var(--card-elevated)}.plan-detail-close svg{width:16px;height:16px;stroke-width:1.75}.plan-detail-close-btn{flex:1;padding:14px 24px;border-radius:14px;background:var(--card-elevated);color:var(--text);font-size:.95rem;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background 150ms var(--ease-out)}.plan-detail-close-btn:active{background:var(--card-elevated)}.plan-detail-body{flex:1;overflow-y:auto;padding:0 16px}.plan-detail-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;font-size:.9rem;color:var(--muted)}.plan-detail-loop{font-weight:600}.plan-detail-day-title.rest-day{color:var(--muted)}.plan-detail-day{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:0;margin-bottom:10px;overflow:hidden}.plan-detail-day-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;cursor:pointer;-webkit-tap-highlight-color:transparent;user-select:none}.plan-detail-day-header{min-width:0}.plan-detail-day-title{font-size:1rem;font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.plan-detail-day-title.rest-day{color:var(--muted)}.plan-detail-day-arrow{color:var(--muted);transition:transform .2s var(--ease-out);flex-shrink:0}.plan-detail-day-arrow svg{width:18px;height:18px}.plan-detail-day.expanded .plan-detail-day-arrow{transform:rotate(180deg)}.plan-detail-day-exercises{max-height:0;overflow:hidden;transition:max-height .3s var(--ease-apple);border-top:1px solid transparent;padding:0 16px}.plan-detail-day.expanded .plan-detail-day-exercises{max-height:320px;overflow-y:auto;border-top-color:var(--border);padding:8px 16px 12px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.plan-detail-day-exercises::-webkit-scrollbar{display:none}.plan-detail-exercise-more{font-size:.8rem;color:var(--muted);text-align:center;padding:6px 0 2px}.plan-detail-exercise{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--border);color:var(--text);font-size:.9rem;min-width:0}.plan-detail-exercise:last-child{border-bottom:none}.plan-detail-exercise-name{font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-detail-exercise-meta{color:var(--muted);font-size:.8rem;white-space:nowrap;flex-shrink:0}.plan-detail-day-exercises{overflow-x:hidden}.plan-detail-footer{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:16px;border-top:1px solid var(--border)}.plan-detail-btn{height:44px;border:none;border-radius:12px;font-size:.95rem;font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent}.plan-detail-start{background:var(--accent);color:#000}.plan-detail-edit{background:var(--card-elevated);color:var(--text)}.plan-detail-delete{background:rgba(255,69,58,.15);color:#ff453a}#plan-editor-title{font-family:var(--font-heading);font-size:1.1rem;font-weight:700;color:var(--text)}.plan-editor-topbar-ios{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:calc(var(--safe-top) + 8px) 16px 12px;background:var(--bg);position:relative}.plan-editor-back-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:0 0;border:none;color:var(--text);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:50%}.plan-editor-back-btn svg{width:24px;height:24px;stroke-width:1.75}.plan-editor-save-text-btn{height:36px;display:flex;align-items:center;justify-content:center;background:0 0;border:none;color:var(--accent);font-size:1rem;font-weight:700;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}.plan-editor-name-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;margin:0 16px 18px;background:var(--card);border-radius:16px}.plan-editor-name-main{display:flex;align-items:center;gap:10px}.plan-editor-name-icon{width:18px;height:18px;color:var(--accent)}.plan-editor-name{font-size:1.1rem;font-weight:700;color:var(--text)}.plan-editor-name-stats{font-size:.8rem;color:var(--muted)}.plan-editor-name-actions{display:flex;align-items:center;gap:10px}.plan-editor-body{flex:1;overflow-y:auto;padding:0 16px;padding-bottom:calc(100px + var(--safe-bottom))}.plan-editor-empty{display:none;text-align:center;padding:60px 0;color:var(--muted)}.plan-editor-empty.active{display:block}#plan-editor-days{touch-action:pan-y}.plan-editor-day-card{background:var(--card);border-radius:16px;padding:16px;margin-bottom:18px}.plan-editor-day-card.collapsed .plan-editor-day-exercises{display:none}.plan-editor-day-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.plan-editor-day-title{font-size:1rem;font-weight:700;color:var(--text)}.plan-editor-day-title.rest-title{color:var(--muted)}.plan-editor-day-exercises{max-height:320px;overflow-y:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;touch-action:pan-y}.plan-editor-day-exercises::-webkit-scrollbar{display:none}.plan-editor-day-rest-card .plan-editor-day-header{margin-bottom:0}.plan-editor-day-rest-content{display:flex;align-items:center;justify-content:center;gap:8px;padding:20px 0 8px;color:var(--muted);font-size:.95rem}.plan-editor-day-rest-content svg{width:16px;height:16px;stroke-width:1.75}.plan-editor-day-toggle{transition:transform .2s var(--ease-out);transform:rotate(180deg)}.plan-editor-day-card.collapsed .plan-editor-day-toggle{transform:rotate(0)}.plan-editor-day-card.collapsed .plan-editor-day-header{margin-bottom:0}.plan-editor-day-title-input{width:100%;min-width:0;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:6px 10px;color:var(--text);font-size:1rem;font-weight:700;outline:0;-webkit-appearance:none}.plan-editor-day-title-input::placeholder{color:rgba(255,255,255,.4)}.plan-editor-day-actions{display:flex;gap:8px}.plan-editor-day-actions button{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08);border:none;border-radius:8px;color:var(--muted);cursor:pointer;-webkit-tap-highlight-color:transparent}.plan-editor-day-actions button svg{width:20px;height:20px;stroke-width:1.75}.plan-editor-loose{margin-bottom:0}.plan-editor-loose-label{font-size:.9rem;font-weight:600;color:var(--muted);margin-bottom:10px}.plan-editor-loose-list{background:var(--card);border-radius:16px;padding:16px;touch-action:pan-y}.plan-editor-floating-bar{position:fixed;left:16px;right:16px;bottom:calc(16px + var(--safe-bottom));display:flex;align-items:center;gap:8px;z-index:55;padding:8px;background:rgba(28,28,30,.72);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:16px;box-shadow:0 4px 24px rgba(0,0,0,.25)}.plan-editor-floating-btn{flex:1;height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:rgba(255,255,255,.08);border:none;border-radius:12px;color:var(--text);font-size:.75rem;font-weight:500;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform 150ms var(--ease-out),background 150ms var(--ease-out)}.plan-editor-floating-btn svg{width:20px;height:20px;stroke-width:1.75}.plan-editor-floating-btn:active{transform:scale(.96);background:rgba(255,255,255,.14)}.plan-editor-floating-main{background:var(--accent);color:#000}.plan-editor-floating-main:active{background:rgba(0,200,150,.85)}.plan-settings-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.6);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s var(--ease-out),visibility .2s var(--ease-out);z-index:75}.plan-settings-overlay.open{opacity:1;visibility:visible;pointer-events:auto}.plan-settings-sheet{position:fixed;top:50%;left:50%;width:calc(100% - 48px);max-width:340px;background:var(--card);border-radius:24px;transform:translate(-50%,-45%) scale(.96);opacity:0;visibility:hidden;pointer-events:none;transition:transform .3s var(--ease-apple),opacity .3s var(--ease-apple),visibility .3s var(--ease-apple);z-index:76;padding:24px}.plan-settings-sheet.open{transform:translate(-50%,-50%) scale(1);opacity:1;visibility:visible;pointer-events:auto}.plan-settings-title{font-family:var(--font-heading);font-size:1.15rem;font-weight:700;color:var(--text);text-align:center;margin:0 0 24px}.plan-settings-section{margin-bottom:20px}.plan-settings-label{display:block;font-size:.9rem;font-weight:600;color:var(--text-secondary);margin-bottom:10px}.plan-settings-rest-wrap{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--card-elevated);border-radius:14px;padding:12px 16px;color:var(--text)}.plan-settings-rest-time{width:auto;min-width:56px;max-width:80px;background:0 0;border:none;color:var(--text);font-size:1.25rem;font-weight:800;text-align:center;outline:0;-moz-appearance:textfield}.plan-settings-rest-time::-webkit-inner-spin-button,.plan-settings-rest-time::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.plan-settings-loop-options{display:flex;flex-direction:column;gap:10px}.plan-settings-loop-option{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--card-elevated);border-radius:14px;border:1px solid transparent;color:var(--text);font-size:.95rem;cursor:pointer;transition:background 150ms var(--ease-out),border-color 150ms var(--ease-out)}.plan-settings-loop-option:has(input[type=radio]:checked){background:rgba(0,200,150,.12);border-color:var(--accent)}.plan-settings-loop-option input[type=radio]{appearance:none;-webkit-appearance:none;width:20px;height:20px;border:2px solid var(--accent);border-radius:50%;background:0 0;margin:0;position:relative;flex-shrink:0}.plan-settings-loop-option input[type=radio]:checked{background:var(--accent)}.plan-settings-loop-option input[type=radio]:checked::after{content:'';position:absolute;top:50%;left:50%;width:6px;height:6px;background:#000;border-radius:50%;transform:translate(-50%,-50%)}.plan-settings-loop-count-wrap{display:flex;align-items:center;gap:4px;margin-left:auto}.plan-settings-loop-count{width:48px;height:32px;background:rgba(255,255,255,.08);border:1px solid transparent;border-radius:8px;color:var(--text);font-size:.9rem;text-align:center;outline:0}.plan-settings-loop-count:disabled{opacity:.4}.plan-settings-loop-unit{font-size:.85rem;color:var(--muted)}.plan-settings-actions{display:flex;margin-top:8px}.plan-settings-btn{flex:1;height:52px;background:var(--accent);color:#000;border:none;border-radius:14px;font-size:1rem;font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent}.plan-editor-card{display:flex;align-items:center;gap:10px;padding:10px 12px;margin-bottom:6px;background:var(--card);border-radius:14px;border:none;touch-action:manipulation;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background 150ms var(--ease-out)}.plan-editor-card:active{background:var(--hover)}.plan-editor-card:last-child{margin-bottom:0}.plan-editor-card-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.plan-editor-card-name{font-size:.95rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plan-editor-card-meta{font-size:.8rem;color:var(--muted)}.plan-editor-card-right{display:flex;align-items:center;gap:4px;flex-shrink:0}.plan-editor-rest-btn{width:auto;height:24px;display:flex;align-items:center;gap:3px;border:none;background:0 0;color:var(--muted);cursor:pointer;border-radius:6px;flex-shrink:0;padding:0 4px;-webkit-tap-highlight-color:transparent}.plan-editor-rest-btn.active,.plan-editor-rest-btn:hover{color:var(--accent);background:#ffc10720}.rest-btn-text{font-size:.7rem;font-weight:600}.plan-editor-rest-btn svg{width:14px;height:14px}.plan-editor-card-arrow{color:var(--muted);flex-shrink:0;opacity:.5}.plan-editor-card-arrow svg{width:16px;height:16px}.param-editor-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:80;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s var(--ease-out),visibility .2s var(--ease-out)}.param-editor-overlay.visible{opacity:1;visibility:visible;pointer-events:auto}.plan-editor-param-editor{position:fixed;left:16px;right:16px;bottom:50%;transform:translateY(50%) scale(.92);background:var(--card);border-radius:16px;padding:20px;z-index:81;box-shadow:0 12px 40px rgba(0,0,0,.4);opacity:0;visibility:hidden;transition:opacity .2s var(--ease-out),transform 250ms var(--ease-apple),visibility .2s var(--ease-out);pointer-events:none}.plan-editor-param-editor.visible{opacity:1;visibility:visible;transform:translateY(50%) scale(1);pointer-events:auto}.param-editor-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.param-editor-title{font-size:1.1rem;font-weight:700;color:var(--text)}.param-editor-record-mode{display:flex;gap:8px;margin-bottom:16px;padding:4px;background:var(--card-elevated);border-radius:12px}.param-editor-mode-btn{flex:1;height:40px;border:none;border-radius:10px;background:0 0;color:var(--text-secondary);font-size:.9rem;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background 150ms var(--ease-out),color 150ms var(--ease-out)}.param-editor-mode-btn.active{background:var(--accent);color:#000}.param-editor-close,.plan-detail-close{background:var(--card-elevated)!important;border:none!important;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.35)!important;display:flex;align-items:center;justify-content:center}.param-editor-close{width:28px;height:28px;color:var(--text);cursor:pointer;padding:0}.param-editor-close svg{width:18px;height:18px}.param-editor-fields{display:flex;flex-direction:column;gap:0;margin-bottom:20px}.param-editor-field{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0}.param-editor-field+.param-editor-field{border-top:1px solid var(--border)}.param-editor-field label{font-size:.9rem;font-weight:600;color:var(--text);flex-shrink:0}.param-editor-input{width:120px;height:40px;padding:0 12px;border:1px solid var(--border);border-radius:10px;background:var(--card-elevated);color:var(--text);font-size:.95rem;font-weight:600;text-align:center;outline:0;-webkit-appearance:none}.param-editor-input:focus{border-color:var(--accent)}.param-editor-actions{display:flex;gap:10px}.param-editor-cancel,.param-editor-save{flex:1;height:42px;border:none;border-radius:12px;font-size:.95rem;font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent}.param-editor-cancel{background:var(--card-elevated);color:var(--text);height:42px;display:flex;align-items:center;justify-content:center}.param-editor-save{background:var(--accent);color:#000;display:flex;align-items:center;justify-content:center}.drag-handle{width:28px;height:28px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--muted);cursor:grab;border-radius:8px;-webkit-tap-highlight-color:transparent;touch-action:none}.drag-handle:active{cursor:grabbing}.drag-handle svg{width:20px;height:20px;stroke-width:1.75}.sortable-item{transition:transform 150ms var(--ease-out),box-shadow 150ms var(--ease-out)}.sortable-ghost{opacity:.35;background:rgba(0,200,150,.08);border:2px dashed rgba(0,200,150,.25);border-radius:12px}.sortable-chosen{box-shadow:0 8px 24px rgba(0,0,0,.35)}.sortable-drag{opacity:.95;background:var(--card);border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.45)}.plan-editor-rest-entry{height:36px;display:inline-flex;align-items:center;gap:6px;padding:0 12px;background:rgba(255,255,255,.08);border:none;border-radius:12px;color:var(--muted);font-size:.8rem;font-weight:500;cursor:pointer;-webkit-tap-highlight-color:transparent}.plan-editor-rest-entry svg{width:16px;height:16px;stroke-width:1.75}.day-edit-item-delete{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#ff453a;border:none;border-radius:50%;color:var(--text);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform 150ms var(--ease-out),background 150ms var(--ease-out)}.day-edit-item-delete:active{transform:scale(.92);background:rgba(255,69,58,.85)}.day-edit-item-delete svg{width:18px;height:18px;stroke-width:1.75}.plan-start-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s var(--ease-out),visibility .2s var(--ease-out);z-index:200}.plan-start-overlay.open{opacity:1;visibility:visible;pointer-events:auto}.plan-start-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.9);width:min(320px,calc(100% - 48px));background:var(--card);border-radius:16px;padding:24px;text-align:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 150ms ease-out,visibility 150ms ease-out,transform 150ms ease-out;z-index:210}.plan-start-modal.open{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,-50%) scale(1);transition:opacity 250ms ease-out,visibility 250ms ease-out,transform 250ms ease-out}.plan-start-title{font-size:1.2rem;font-weight:700;color:var(--text);margin:0 0 20px}.plan-start-content{margin-bottom:24px}.plan-start-label{display:block;font-size:.9rem;color:var(--muted);margin-bottom:10px}.plan-start-date{width:100%;height:48px;background:rgba(255,255,255,.08);border:1px solid transparent;border-radius:12px;color:var(--text);font-size:1rem;text-align:center;outline:0}.plan-start-actions{display:flex;gap:12px}.plan-start-btn{flex:1;height:44px;border:none;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent}.plan-start-cancel{background:rgba(255,255,255,.1);color:var(--text)}.plan-start-confirm{background:var(--accent);color:#000}.day-edit-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s var(--ease-out),visibility .2s var(--ease-out);z-index:200}.day-edit-overlay.open{opacity:1;visibility:visible;pointer-events:auto}.day-edit-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.9);width:min(340px,calc(100% - 32px));max-height:80vh;background:var(--card);border-radius:16px;padding:20px;display:flex;flex-direction:column;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 150ms ease-out,visibility 150ms ease-out,transform 150ms ease-out;z-index:210}.day-edit-modal.open{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,-50%) scale(1);transition:opacity 250ms ease-out,visibility 250ms ease-out,transform 250ms ease-out}.day-edit-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.day-edit-title{font-size:1.2rem;font-weight:700;color:var(--text);margin:0}.day-edit-close{width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:var(--card-elevated);border:none;color:var(--text);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:50%}.day-edit-close svg{width:16px;height:16px;stroke-width:1.75}.day-edit-list{flex:1;overflow-y:auto;margin-bottom:16px;min-height:120px;display:flex;flex-direction:column;gap:4px}.day-edit-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;background:var(--card);border:1px solid var(--border);border-radius:0;color:var(--text);opacity:0;transform:translateY(8px)}.day-edit-item:not(:last-child){border-bottom:1px solid rgba(255,255,255,.06)}.day-edit-item:first-child{border-radius:16px 16px 0 0}.day-edit-item:last-child{border-radius:0 0 16px 16px}.day-edit-modal.open .day-edit-item{animation:cardFadeIn .2s var(--ease-out) forwards}.day-edit-modal.open .day-edit-item:first-child{animation-delay:40ms}.day-edit-modal.open .day-edit-item:nth-child(2){animation-delay:70ms}.day-edit-modal.open .day-edit-item:nth-child(3){animation-delay:.1s}.day-edit-modal.open .day-edit-item:nth-child(4){animation-delay:130ms}.day-edit-modal.open .day-edit-item:nth-child(5){animation-delay:160ms}.day-edit-modal.open .day-edit-item:nth-child(6){animation-delay:190ms}.day-edit-item-name{font-weight:600;font-size:.95rem}.day-edit-actions{display:flex;flex-direction:column;gap:10px}.day-edit-btn{width:100%;height:52px;display:flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:12px;font-size:.95rem;font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent}.day-edit-add{background:var(--accent);color:#000}.day-edit-clear{background:rgba(255,255,255,.1);color:var(--text)}.day-edit-delete-day{background:rgba(255,69,58,.15);color:#ff453a}#page-exercise-library{display:none}#page-exercise-library.active{display:flex;flex-direction:column}.exercise-library-header{flex-shrink:0;display:flex;align-items:center;gap:10px;padding:calc(var(--safe-top) + 8px) 16px 12px}.exercise-library-add-btn{height:36px;padding:0 10px;display:flex;align-items:center;justify-content:center;gap:4px;background:rgba(0,200,150,.12);border:1px solid rgba(0,200,150,.25);border-radius:8px;color:#00c896;font-size:.85rem;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent;flex-shrink:0}.exercise-library-add-btn svg{width:16px;height:16px;stroke-width:1.75}.exercise-library-search{flex:1;height:40px;display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.08);border-radius:12px;padding:0 12px}.exercise-library-search svg{width:20px;height:20px;stroke-width:1.75;color:var(--muted);flex-shrink:0}.exercise-library-search input{flex:1;background:0 0;border:none;color:var(--text);font-size:.95rem;outline:0}.exercise-library-search input::placeholder{color:var(--muted)}.exercise-library-done-btn{height:36px;padding:0 16px;background:var(--accent);border:none;border-radius:12px;color:#000;font-size:.9rem;font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent;flex-shrink:0}.exercise-library-done-btn.hidden{display:none}.exercise-library-type-filter{display:flex;gap:8px;padding:8px 16px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.exercise-library-type-filter::-webkit-scrollbar{display:none}.exercise-type-chip{flex-shrink:0;height:32px;padding:0 14px;border-radius:16px;border:1px solid var(--border);background:0 0;color:var(--muted);font-size:.8rem;font-weight:500;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background 150ms var(--ease-out),color 150ms var(--ease-out),border-color 150ms var(--ease-out)}.exercise-type-chip.active{background:var(--accent);color:#000;border-color:var(--accent)}.exercise-library-body{flex:1;display:flex;overflow:hidden}.exercise-library-categories{width:88px;flex-shrink:0;overflow-y:auto;padding:8px 8px 16px 16px;scrollbar-width:none}.exercise-library-categories::-webkit-scrollbar{display:none}.exercise-library-categories ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.exercise-library-categories li{padding:10px 8px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:var(--card);color:var(--muted);font-size:.85rem;font-weight:600;text-align:center;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .2s var(--ease-out),color .2s var(--ease-out),border-color .2s var(--ease-out);position:relative}.exercise-library-categories li.active{background:rgba(0,200,150,.16);color:#00c896;border-color:rgba(0,200,150,.25)}.exercise-library-grid{flex:1;overflow-y:auto;padding:8px 16px 16px 8px;display:grid;grid-template-columns:repeat(2,1fr);gap:10px;align-content:start}.exercise-library-empty{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 0;color:var(--muted)}.exercise-library-empty svg{width:48px;height:48px;stroke-width:1.75}.exercise-library-loader{grid-column:1/-1;text-align:center;padding:16px 0;color:var(--muted);font-size:.85rem}.exercise-library-card{position:relative;background:var(--card);border-radius:16px;padding:14px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform 150ms var(--ease-out),border-color .2s var(--ease-out);border:1px solid transparent;opacity:0;transform:translateY(12px)}#page-exercise-library.active .exercise-library-card{animation:cardFadeIn 250ms var(--ease-out) forwards}#page-exercise-library.active.no-anim .exercise-library-card{animation:none;opacity:1;transform:translateY(0)}#page-exercise-library.active .exercise-library-card:first-child{animation-delay:30ms}#page-exercise-library.active .exercise-library-card:nth-child(2){animation-delay:60ms}#page-exercise-library.active .exercise-library-card:nth-child(3){animation-delay:90ms}#page-exercise-library.active .exercise-library-card:nth-child(4){animation-delay:120ms}#page-exercise-library.active .exercise-library-card:nth-child(5){animation-delay:150ms}#page-exercise-library.active .exercise-library-card:nth-child(6){animation-delay:180ms}#page-exercise-library.active .exercise-library-card:nth-child(7){animation-delay:210ms}#page-exercise-library.active .exercise-library-card:nth-child(8){animation-delay:240ms}@keyframes cardFadeIn{to{opacity:1;transform:translateY(0)}}.exercise-library-card.existing{opacity:.55;border-color:rgba(0,200,150,.35);animation:none}.exercise-library-card:active{transform:scale(.98)}.exercise-library-card.custom{border-color:var(--accent)}.exercise-library-thumb{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:rgba(0,200,150,.15);border-radius:10px;color:var(--accent);margin-bottom:10px}.exercise-library-thumb svg{width:18px;height:18px;stroke-width:1.75}.exercise-library-info{display:flex;flex-direction:column;gap:4px}.exercise-library-name{font-size:.95rem;font-weight:700;color:var(--text);line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.exercise-library-equipment{font-size:.75rem;color:var(--muted)}.exercise-library-custom-tag{position:absolute;top:10px;right:10px;background:var(--accent);color:#000;font-size:.65rem;font-weight:700;padding:2px 6px;border-radius:12px}.exercise-library-check{position:absolute;bottom:10px;right:10px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--accent);border-radius:50%;color:#000}.exercise-library-check svg{width:16px;height:16px;stroke-width:1.75}.exercise-library-card.custom-text{grid-column:1/-1;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px}.exercise-library-text-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.exercise-library-text-body .exercise-library-name{font-size:1rem}.exercise-library-desc{font-size:.8rem;color:var(--muted);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.exercise-library-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.exercise-library-source{font-size:.7rem;font-weight:700;padding:2px 8px;border-radius:12px}.exercise-library-source.ai{background:rgba(0,200,150,.15);color:var(--accent)}.exercise-library-source.user{background:rgba(255,255,255,.1);color:var(--text)}.exercise-library-actions{flex-shrink:0}.exercise-library-edit{height:32px;padding:0 14px;background:rgba(255,255,255,.1);border:none;border-radius:12px;color:var(--text);font-size:.8rem;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent}.custom-exercise-swipe-wrap{position:relative;overflow:hidden;border-radius:16px;touch-action:pan-y;grid-column:1/-1}.custom-exercise-swipe-content{position:relative;z-index:1;background:var(--card);border-radius:16px;transition:transform .2s var(--ease-out)}.custom-exercise-delete-btn{position:absolute;right:0;top:0;bottom:0;width:84px;background:var(--danger);color:#fff;border:none;font-size:.9rem;font-weight:600;display:flex;align-items:center;justify-content:center;z-index:0;cursor:pointer;-webkit-tap-highlight-color:transparent}.custom-exercise-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s var(--ease-out),visibility .2s var(--ease-out);z-index:220}.custom-exercise-overlay.open{opacity:1;visibility:visible;pointer-events:auto}.custom-exercise-sheet{position:fixed;left:0;right:0;bottom:0;max-height:85vh;background:var(--card);border-radius:16px 16px 0 0;transform:translateY(100%);visibility:hidden;pointer-events:none;transition:transform .3s var(--ease-apple),max-height .3s var(--ease-apple),visibility .3s var(--ease-apple);z-index:230;display:flex;flex-direction:column;padding:0 16px calc(24px + var(--safe-bottom))}.custom-exercise-sheet.open{transform:translateY(0);visibility:visible;pointer-events:auto}.custom-exercise-handle{width:40px;height:4px;background:rgba(255,255,255,.2);border-radius:2px;margin:12px auto 16px}.custom-exercise-title{font-size:1.2rem;font-weight:700;color:var(--text);text-align:center;margin:0 0 20px}.custom-exercise-form{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.custom-exercise-field{display:flex;flex-direction:column;gap:8px}.custom-exercise-field label{font-size:.9rem;font-weight:600;color:var(--text)}.custom-exercise-optional{font-weight:400;color:var(--muted)}.custom-exercise-field input,.custom-exercise-field select,.custom-exercise-field textarea{width:100%;background:var(--card-elevated)!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:12px;padding:14px 16px;color:var(--text);font-size:1rem;outline:0;box-sizing:border-box;display:block!important;transition:border-color .2s var(--ease-out)}.custom-exercise-field input:focus,.custom-exercise-field select:focus,.custom-exercise-field textarea:focus{border-color:var(--accent)}.custom-exercise-field input::placeholder,.custom-exercise-field textarea::placeholder{color:var(--muted)}.custom-exercise-field textarea{resize:none;font-family:inherit}.custom-exercise-field select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:40px}.custom-exercise-field select option{background:var(--card);color:var(--text)}.custom-exercise-confirm{width:100%;height:52px;background:var(--accent);color:#000;border:none;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent;flex-shrink:0}.exercise-detail-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s var(--ease-out),visibility .3s var(--ease-out);z-index:220}.exercise-detail-overlay.open{opacity:1;visibility:visible;pointer-events:auto}.exercise-detail-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.9);width:min(340px,calc(100% - 48px));max-height:80vh;background:var(--card);border-radius:16px;padding:20px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 150ms ease-out,visibility 150ms ease-out,transform 150ms ease-out;z-index:230;display:flex;flex-direction:column}.exercise-detail-modal.open{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,-50%) scale(1);transition:opacity 250ms ease-out,visibility 250ms ease-out,transform 250ms ease-out}.exercise-detail-icon-wrap{height:160px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.05);border-radius:16px;margin-bottom:20px;color:var(--accent)}.exercise-detail-icon-wrap svg{width:64px;height:64px;stroke-width:1.75;color:inherit}.exercise-detail-icon-wrap .fallback-dumbbell{opacity:.5}.exercise-detail-content{display:flex;flex-direction:column;gap:14px}.exercise-detail-name{font-size:1.4rem;font-weight:700;color:var(--text);margin:0}.exercise-detail-meta{display:flex;gap:8px;flex-wrap:wrap}.exercise-detail-meta span{background:rgba(0,200,150,.12);border:1px solid rgba(0,200,150,.25);color:var(--accent);font-size:.8rem;font-weight:600;padding:4px 12px;border-radius:12px}.exercise-detail-section h4{font-size:1rem;font-weight:700;color:var(--text);margin:0 0 8px}.exercise-detail-description{font-size:.95rem;color:var(--muted);line-height:1.5;margin:0}.clear-cache-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:200;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s var(--ease-out),visibility .2s var(--ease-out)}.clear-cache-overlay.open{opacity:1;visibility:visible;pointer-events:auto}.clear-cache-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.9);background:var(--card);border-radius:16px;padding:24px;width:min(320px,calc(100% - 48px));text-align:center;z-index:201;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s var(--ease-out),visibility .2s var(--ease-out),transform .2s var(--ease-out)}.clear-cache-modal.open{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}#page-goal-detail{display:flex;flex-direction:column}.goal-detail-rings-card{background:var(--card);border-radius:16px;padding:24px;margin-bottom:14px}.three-rings-wrapper{display:flex;justify-content:space-around;align-items:center}.single-ring-item{display:flex;flex-direction:column;align-items:center;gap:10px}.single-ring-svg{width:80px;height:80px}.single-ring-svg circle{fill:none;stroke-width:8}.single-ring-svg circle:first-child{stroke:rgba(255,255,255,0.1)}.single-ring-svg circle:nth-child(2){stroke-linecap:round;transition:stroke-dashoffset .8s var(--ease-out);transform:rotate(-90deg);transform-origin:50% 50%}.single-ring-svg text{fill:var(--text);font-size:1.2rem;font-weight:700}.ring-value{font-family:var(--font-heading);font-size:1.1rem;font-weight:700;color:var(--text)}.ring-marker{display:none}.goal-detail-stats{display:flex;justify-content:space-between;align-items:stretch;background:var(--card);border-radius:16px;padding:20px 0;margin-bottom:14px}.goal-stat-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:0 8px;flex:1 1 0;min-width:0}.goal-stat-item:not(:last-child){border-right:1px solid var(--border)}.goal-stat-label{font-size:.75rem;color:var(--muted);text-align:center;min-height:2.4em;line-height:1.2;display:flex;align-items:flex-end}.goal-stat-value{font-family:var(--font-heading);font-size:1.3rem;font-weight:700;color:var(--text)}.goal-detail-timeline{background:var(--card);border-radius:16px;padding:20px;margin-bottom:14px}.goal-section-title{font-size:1.05rem;font-weight:700;color:var(--text);margin:0 0 16px}.timeline-track{position:relative;height:8px;background:rgba(255,255,255,.1);border-radius:4px;margin-bottom:10px}.timeline-progress{position:absolute;left:0;top:0;height:100%;background:var(--accent);border-radius:4px;transition:width .8s var(--ease-out)}.timeline-dot{position:absolute;top:50%;transform:translate(-50%,-50%);width:14px;height:14px;background:var(--muted);border-radius:50%;border:2px solid var(--card);transition:left .8s var(--ease-out),background .2s var(--ease-out),box-shadow .2s var(--ease-out),width .2s var(--ease-out),height .2s var(--ease-out)}.timeline-dot.active{width:18px;height:18px;background:var(--accent);box-shadow:0 0 0 4px rgba(0,200,150,.2)}.timeline-labels{display:flex;justify-content:space-between;font-size:.75rem;color:var(--muted)}.goal-detail-weekly{background:var(--card);border-radius:16px;padding:20px;margin-bottom:24px}.weekly-circles{display:flex;justify-content:space-between;gap:8px}.weekly-circle{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:0 0;border:1.5px solid #48484a;color:var(--muted);font-size:.75rem;font-weight:600}.weekly-circle.today{border:2px solid var(--accent);color:var(--accent);box-shadow:none}.weekly-circle.done{background:var(--accent);border-color:var(--accent);color:#000}.goal-edit-btn{width:calc(100% - 32px);margin:0 16px 24px;height:52px;background:var(--accent);color:#000;border:none;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent}#page-edit-profile{flex-direction:column}#page-edit-profile.active{flex-direction:column}.edit-profile-header{position:relative}.edit-profile-save{height:36px;display:flex;align-items:center;justify-content:center;background:0 0;border:none;color:var(--accent);font-size:1rem;font-weight:700;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}.edit-profile-content{flex:1;overflow-y:auto;padding:24px 16px calc(24px + var(--safe-bottom));display:flex;flex-direction:column;gap:24px}.edit-profile-avatar-wrap{display:flex;flex-direction:column;align-items:center;gap:10px}.edit-profile-avatar-ring{width:100px;height:100px;padding:4px;border-radius:50%;background:linear-gradient(135deg,var(--accent),#00a884)}.edit-profile-avatar{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--card);border-radius:50%;color:var(--text)}.edit-profile-avatar svg{width:44px;height:44px;stroke-width:1.75}.edit-profile-avatar-hint{font-size:.85rem;color:var(--accent);font-weight:600}.edit-profile-form{display:flex;flex-direction:column;gap:16px}.edit-profile-field{display:flex;flex-direction:column;gap:8px}.edit-profile-label{font-size:.9rem;font-weight:600;color:var(--text)}.edit-profile-id{display:flex;align-items:center;justify-content:space-between;height:50px;padding:0 16px;background:var(--card);border-radius:12px;color:var(--muted);font-size:1rem}.edit-profile-id svg{width:20px;height:20px;stroke-width:1.75}.goal-setting-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s var(--ease-out),visibility .2s var(--ease-out);z-index:75}.goal-setting-overlay.open{opacity:1;visibility:visible;pointer-events:auto}.goal-setting-sheet{position:fixed;left:0;right:0;bottom:0;background:var(--card);border-radius:16px 16px 0 0;transform:translateY(100%);visibility:hidden;pointer-events:none;transition:transform .3s var(--ease-apple),visibility .3s var(--ease-apple);z-index:76;padding:16px 16px calc(24px + var(--safe-bottom))}.goal-setting-sheet.open{transform:translateY(0);visibility:visible;pointer-events:auto}.goal-setting-handle{width:40px;height:4px;background:rgba(255,255,255,.2);border-radius:2px;margin:0 auto 16px}.goal-setting-title{font-size:1.2rem;font-weight:700;color:var(--text);text-align:center;margin:0 0 24px}.goal-setting-body{display:flex;flex-direction:column;gap:14px;margin-bottom:20px}.goal-setting-label{font-size:.9rem;font-weight:600;color:var(--text)}.goal-setting-input{width:100%;height:52px;background:rgba(255,255,255,.03);border:1px solid var(--border);border-radius:12px;padding:0 16px;color:var(--text);font-size:1rem;outline:0;box-sizing:border-box;transition:border-color .2s var(--ease-out)}.goal-setting-input:focus{border-color:var(--accent)}.goal-setting-input::placeholder{color:var(--muted)}.goal-setting-date-display{width:100%;height:52px;background:rgba(255,255,255,.03);border:1px solid var(--border);border-radius:12px;padding:0 16px;color:var(--text);font-size:1rem;line-height:52px;outline:0;box-sizing:border-box;transition:border-color .2s var(--ease-out);cursor:pointer}.goal-setting-date-display.placeholder,.goal-setting-date-display:empty{color:var(--muted)}.goal-setting-date-display:active{background:var(--card-elevated);border-color:var(--accent)}.date-picker-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s var(--ease-out),visibility .2s var(--ease-out);z-index:75}.date-picker-overlay.open{opacity:1;visibility:visible;pointer-events:auto}.date-picker-sheet{position:fixed;left:0;right:0;bottom:0;background:var(--card);border-radius:16px 16px 0 0;transform:translateY(100%);visibility:hidden;pointer-events:none;transition:transform .3s var(--ease-apple),visibility .3s var(--ease-apple);z-index:76;padding:12px 16px calc(24px + var(--safe-bottom))}.date-picker-sheet.open{transform:translateY(0);visibility:visible;pointer-events:auto}.date-picker-handle{width:40px;height:4px;background:rgba(255,255,255,.2);border-radius:2px;margin:0 auto 16px}.date-picker-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding:0 8px}.date-picker-current{font-size:1.05rem;font-weight:700;color:var(--text)}.date-picker-nav{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--card);border:none;border-radius:10px;color:var(--text);cursor:pointer;-webkit-tap-highlight-color:transparent}.date-picker-nav svg{width:20px;height:20px}.date-picker-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:8px}.date-picker-weekdays span{text-align:center;font-size:.8rem;font-weight:600;color:var(--muted);padding:8px 0}.date-picker-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:20px}.date-picker-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:0 0;border:none;border-radius:50%;color:var(--text);font-size:.95rem;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background 150ms var(--ease-out),color 150ms var(--ease-out)}.date-picker-day:active,.date-picker-day:hover{background:var(--card-elevated)}.date-picker-day.other-month{color:var(--muted)}.date-picker-day.selected{background:#00c896;color:#000;font-weight:700}.date-picker-day.today:not(.selected){border:1px solid var(--accent);color:var(--accent)}.date-picker-actions{display:flex;gap:12px}.date-picker-btn{flex:1;height:52px;border:none;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent}.date-picker-reset{background:var(--card-elevated);color:var(--text)}.date-picker-done{background:var(--accent);color:#000}.goal-setting-confirm{width:100%;height:52px;background:var(--accent);color:#000;border:none;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent}.zelis-toast{position:fixed;top:calc(var(--safe-top) + 60px);left:50%;transform:translateX(-50%) translateY(-20px);max-width:min(320px,calc(100% - 48px));padding:12px 20px;border-radius:12px;font-size:.9rem;font-weight:600;color:var(--text);background:var(--card);box-shadow:0 8px 24px rgba(0,0,0,.4);opacity:0;visibility:hidden;transition:opacity .3s var(--ease-out),transform .3s var(--ease-out),visibility .3s var(--ease-out);z-index:9999;text-align:center;pointer-events:none}.zelis-toast.show{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}.zelis-toast.toast-success{background:rgba(0,200,150,.9);color:#000}.zelis-toast.toast-error{background:rgba(255,69,58,.9);color:var(--text)}.zelis-toast.toast-warning{background:rgba(255,204,0,.9);color:#000}.zelis-toast.toast-large{padding:16px 24px;font-size:1rem;border-radius:14px}.exercise-complete-tip{position:fixed;top:calc(var(--safe-top) + 100px);left:50%;transform:translateX(-50%) translateY(-20px) scale(.92);display:flex;align-items:center;gap:10px;padding:16px 24px;background:rgba(0,200,150,.95);color:#000;border-radius:16px;font-size:1rem;font-weight:700;box-shadow:0 12px 32px rgba(0,0,0,.5);opacity:0;visibility:hidden;pointer-events:none;transition:opacity 250ms var(--ease-out),transform 250ms var(--ease-out),visibility 250ms;z-index:200}.exercise-complete-tip.show{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0) scale(1)}.exercise-complete-tip-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center}.exercise-complete-tip-icon svg{width:20px;height:20px;stroke-width:2.5}.debug-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s var(--ease-out),visibility .3s var(--ease-out);z-index:1001}.debug-overlay.open{opacity:1;visibility:visible;pointer-events:auto}.debug-panel{position:fixed;left:16px;right:16px;top:50%;transform:translateY(-50%) scale(.9);background:var(--card);border-radius:18px;padding:20px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 150ms ease-out,visibility 150ms ease-out,transform 150ms ease-out;z-index:1002;max-height:80vh;overflow-y:auto}.debug-panel.open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(-50%) scale(1);transition:opacity 250ms ease-out,visibility 250ms ease-out,transform 250ms ease-out}.debug-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.debug-panel-title{font-size:1.1rem;font-weight:700;color:var(--text);margin:0}.debug-panel-close{width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:var(--card-elevated);border:none;border-radius:50%;color:var(--text);cursor:pointer;-webkit-tap-highlight-color:transparent}.debug-panel-close svg{width:16px;height:16px;stroke-width:1.75}.debug-panel-body{display:flex;flex-direction:column;gap:12px}.debug-btn{width:100%;height:44px;border:none;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent}.debug-btn-primary{background:var(--accent);color:#000}.debug-btn-secondary{background:rgba(255,255,255,.1);color:var(--text)}.debug-btn-danger{background:rgba(255,69,58,.15);color:#ff453a}.debug-btn-ghost{background:0 0;border:1px solid rgba(255,255,255,.2);color:var(--text)}.debug-panel-body{display:flex;flex-direction:column;gap:12px}.profile-list-item.admin-entry{color:var(--accent);font-weight:600}.profile-list-item.admin-entry svg{color:var(--accent)}.admin-tabs{display:flex;gap:8px;margin-bottom:16px;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:12px}.admin-tab{flex:1;height:40px;background:0 0;border:none;border-radius:10px;color:var(--muted);font-size:.9rem;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .2s ease,color .2s ease}.admin-tab.active{background:rgba(255,255,255,.1);color:var(--text)}.admin-tab-content{display:none}.admin-tab-content.active{display:block}.admin-search-row{display:flex;gap:8px;margin-bottom:16px}.admin-search-input{flex:1;height:44px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:0 12px;color:var(--text);font-size:.9rem;outline:0}.admin-search-input::placeholder{color:var(--muted)}.admin-search-row .debug-btn{width:auto;min-width:72px;padding:0 16px}.admin-list{display:flex;flex-direction:column;gap:12px}.admin-empty{text-align:center;color:var(--muted);font-size:.9rem;padding:24px 0}.admin-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:14px}.admin-card-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:.9rem}.admin-card-row:last-child{margin-bottom:0}.admin-card-label{color:var(--muted);flex-shrink:0;margin-right:8px}.admin-card-value{color:var(--text);text-align:right;word-break:break-all}.admin-card-actions{display:flex;gap:8px;margin-top:12px}.admin-card-actions .debug-btn{flex:1;height:38px;font-size:.85rem}.admin-membership-row{display:flex;gap:8px;align-items:center;margin-top:12px}.admin-membership-row select{flex:1;height:38px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:0 8px;color:var(--text);font-size:.85rem;outline:0}.admin-membership-row input[type=number]{width:80px;height:38px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:0 8px;color:var(--text);font-size:.85rem;outline:0}.admin-payment-settings{display:flex;flex-direction:column;gap:16px}.admin-payment-settings .admin-section-desc{font-size:.85rem;color:var(--muted);line-height:1.5;margin:0}.admin-qr-upload-row{display:flex;flex-direction:column;gap:10px;padding:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:14px}.admin-qr-label{font-size:.9rem;font-weight:600;color:var(--text)}.admin-qr-input{color:var(--text);font-size:.85rem}.admin-qr-preview{min-height:80px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:.85rem}.admin-qr-preview img{max-width:140px;max-height:140px;border-radius:10px}.admin-qr-actions{display:flex;flex-direction:column;gap:10px;align-items:flex-start}.admin-qr-actions .debug-btn{width:auto;min-width:120px;padding:0 20px}.admin-qr-status{font-size:.85rem;color:var(--muted)}.admin-redeem-codes{display:flex;flex-direction:column;gap:16px}.admin-redeem-codes .admin-section-desc{font-size:.85rem;color:var(--muted);line-height:1.5;margin:0}.admin-redeem-form{display:flex;flex-direction:column;gap:12px;padding:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:14px}.admin-redeem-row{display:flex;align-items:center;gap:12px}.admin-redeem-label{width:80px;flex-shrink:0;font-size:.9rem;color:var(--text);font-weight:600}.admin-redeem-select{flex:1;height:40px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:0 10px;color:var(--text);font-size:.9rem;outline:0}.admin-redeem-actions{display:flex;align-items:center;gap:12px;margin-top:4px}.admin-redeem-actions .debug-btn{width:auto;min-width:120px;padding:0 20px}.admin-redeem-actions .admin-redeem-status{font-size:.85rem;color:var(--muted);word-break:break-all}.admin-redeem-list-wrap{display:flex;flex-direction:column;gap:10px}.admin-redeem-list-title{font-size:.9rem;font-weight:600;color:var(--text);margin:0}.admin-redeem-item{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:8px}.admin-redeem-item.is-used{opacity:.65}.admin-redeem-code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1rem;font-weight:700;color:var(--text);letter-spacing:.04em;word-break:break-all}.admin-redeem-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.admin-redeem-tier{font-size:.8rem;font-weight:600;color:var(--accent);background:rgba(255,255,255,.08);padding:3px 8px;border-radius:8px}.admin-redeem-item .admin-redeem-status{font-size:.8rem;font-weight:600;padding:3px 8px;border-radius:8px}.admin-redeem-item .admin-redeem-status.used{color:var(--muted);background:rgba(255,255,255,.08)}.admin-redeem-item .admin-redeem-status.unused{color:#000;background:var(--accent)}.admin-redeem-usage{font-size:.8rem;color:var(--muted)}.admin-redeem-time{font-size:.8rem;color:var(--muted)}.clear-cache-title{font-size:1.1rem;font-weight:700;color:var(--text);margin:0 0 10px}.clear-cache-subtitle{font-size:.85rem;color:var(--muted);margin:0 0 24px;line-height:1.5}.clear-cache-actions{display:flex;gap:12px}.clear-cache-btn{flex:1;height:44px;display:flex;align-items:center;justify-content:center;border:none;border-radius:12px;padding:0;font-size:.95rem;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:opacity 150ms var(--ease-out)}.clear-cache-btn:active{opacity:.85}.clear-cache-cancel{background:var(--card-elevated);color:var(--text)}.clear-cache-ok{background:var(--accent);color:#000}@media (max-width:375px){#tab-home{padding-top:calc(var(--safe-top) + 12px);padding-right:12px;padding-bottom:calc(52px + var(--safe-bottom) + 12px);padding-left:12px}.card,.daily-tip-card,.today-plan-card,.tomorrow-plan-card,.weekly-checkin-card{padding:12px;margin-bottom:12px}.home-header{margin-bottom:12px}.training-page{gap:10px}.week-calendar-card{padding:10px 6px}.calendar-title{font-size:1rem}.calendar-nav-btn{width:36px;height:36px}.calendar-nav-btn svg{width:18px;height:18px}.training-entry-icon{width:40px;height:40px;font-size:1.1rem}.training-entry-title{font-size:.95rem}.my-plan-card{padding:12px}.my-plan-title{font-size:.95rem}.my-plan-subtitle{font-size:.75rem}.stats-page{gap:10px}.stats-summary-value{font-size:1.25rem}.stats-card-title{font-size:1rem}.daily-record-card{padding:12px}.daily-record-form{gap:10px}.goal-detail-rings-card{padding:16px;margin-bottom:12px}.goal-detail-stats{padding:16px 0;margin-bottom:12px}.goal-detail-timeline{padding:16px;margin-bottom:12px}.goal-section-title{font-size:.95rem}}.avatar-picker-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:1200;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 250ms var(--ease-out),visibility 250ms}.avatar-picker-overlay.active{opacity:1;visibility:visible;pointer-events:auto}.avatar-picker-sheet{position:fixed;left:0;right:0;bottom:0;background:var(--card);border-radius:24px 24px 0 0;padding:8px 16px calc(12px + var(--safe-bottom));z-index:1201;transform:translateY(100%);visibility:hidden;pointer-events:none;transition:transform .3s var(--ease-apple),visibility .3s var(--ease-apple);max-width:100%}.avatar-picker-sheet.active{transform:translateY(0);visibility:visible;pointer-events:auto}.avatar-picker-handle{width:40px;height:4px;background:rgba(255,255,255,.2);border-radius:2px;margin:0 auto 18px}.avatar-picker-title{font-family:var(--font-heading);font-size:1.1rem;font-weight:700;color:var(--text);text-align:center;margin:0 0 18px}.avatar-picker-preview{width:88px;height:88px;border-radius:50%;background:var(--card-elevated);border:2px solid var(--border);margin:0 auto 20px;display:flex;align-items:center;justify-content:center;color:var(--text)}.avatar-picker-preview svg{width:40px;height:40px}.avatar-picker-options{background:var(--card-elevated);border-radius:16px;overflow:hidden;margin-bottom:12px}.avatar-picker-option{display:flex;align-items:center;gap:14px;width:100%;padding:16px;background:0 0;border:none;border-bottom:1px solid var(--border);color:var(--text);font-size:1rem;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}.avatar-picker-option:last-child{border-bottom:none}.avatar-picker-option:active{background:var(--card)}.avatar-picker-option svg{width:22px;height:22px;color:var(--accent)}.avatar-picker-cancel{display:block;width:100%;padding:16px;background:var(--card-elevated);border:none;border-radius:14px;color:var(--accent);font-size:1rem;font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent}.avatar-picker-cancel:active{background:var(--card)}.exercise-type-picker-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:1200;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 250ms var(--ease-out),visibility 250ms}.exercise-type-picker-overlay.active{opacity:1;visibility:visible;pointer-events:auto}.exercise-type-picker-sheet{position:fixed;left:0;right:0;bottom:0;background:var(--card);border-radius:16px 16px 0 0;padding:8px 16px calc(12px + var(--safe-bottom));z-index:1201;transform:translateY(100%);visibility:hidden;pointer-events:none;transition:transform .3s var(--ease-apple),visibility .3s var(--ease-apple);max-width:100%}.exercise-type-picker-sheet.active{transform:translateY(0);visibility:visible;pointer-events:auto}.exercise-type-picker-handle{width:36px;height:4px;background:var(--border);border-radius:2px;margin:0 auto 16px}.exercise-type-picker-title{font-size:.85rem;color:var(--text-secondary);text-align:center;margin-bottom:12px}.exercise-type-picker-options{background:var(--card);border-radius:14px;overflow:hidden;margin-bottom:12px}.exercise-type-picker-option{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;background:0 0;border:none;border-bottom:1px solid var(--border);color:var(--text);font-size:1rem;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}.exercise-type-picker-option:last-child{border-bottom:none}.exercise-type-picker-option:active{background:var(--card-elevated)}.exercise-type-picker-option.selected{color:var(--accent);font-weight:600}.exercise-type-picker-option.selected::after{content:'';width:8px;height:8px;margin-left:auto;background:var(--accent);border-radius:50%}.custom-exercise-type-trigger{width:100%;height:52px;background:var(--card-elevated)!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:12px;padding:14px 16px;color:var(--text);font-size:1rem;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}.redeem-input-wrap{position:relative;margin-bottom:8px}.redeem-input{width:100%;padding:14px 44px 14px 16px;background:var(--card);border:2px solid var(--border);border-radius:12px;color:var(--text);font-size:1.1rem;font-family:inherit;letter-spacing:.08em;transition:border-color .2s var(--ease-out);-webkit-appearance:none;appearance:none}.redeem-input:focus{outline:0;border-color:var(--accent)}.redeem-input::placeholder{color:var(--text-tertiary);letter-spacing:normal;font-size:.95rem}.redeem-input-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:32px;height:32px;display:none;align-items:center;justify-content:center;background:0 0;border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;-webkit-tap-highlight-color:transparent}.redeem-input-clear.visible{display:flex}.redeem-input-clear:active{background:var(--border)}.redeem-hint{font-size:.75rem;color:var(--text-tertiary);padding:0 4px;margin-bottom:16px;min-height:1.2em;text-align:left}.redeem-hint.error{color:var(--danger,#ef4444)}.redeem-hint.success{color:var(--success,#22c55e)}.edit-profile-avatar img,.profile-sheet-avatar img{border-radius:50%}.avatar-cropper{position:fixed;inset:0;background:var(--bg);z-index:1300;display:flex;flex-direction:column;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 250ms var(--ease-out),visibility 250ms}.avatar-cropper.active{opacity:1;visibility:visible;pointer-events:auto}.avatar-cropper-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;padding-top:calc(12px + var(--safe-top));border-bottom:1px solid var(--border)}.avatar-cropper-title{font-size:1rem;font-weight:600;color:var(--text)}.avatar-cropper-cancel,.avatar-cropper-confirm{background:0 0;border:none;font-size:1rem;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent;padding:8px 16px;border-radius:8px}.avatar-cropper-cancel{color:var(--text-secondary);background:var(--card-elevated)}.avatar-cropper-confirm{color:#000;background:var(--accent)}.avatar-cropper-stage{flex:1;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#0a0a0a}.avatar-cropper-image{display:block;max-width:100%;max-height:100%}.avatar-cropper-hint{position:absolute;bottom:40px;left:0;right:0;text-align:center;color:var(--text-secondary);font-size:.85rem;pointer-events:none;z-index:10}.avatar-cropper-stage .cropper-modal{background-color:#000;opacity:.55}.avatar-cropper-stage .cropper-view-box{border-radius:0;outline:2px solid rgba(255,255,255,.45)}.avatar-cropper-stage .cropper-face,.avatar-cropper-stage .cropper-line,.avatar-cropper-stage .cropper-point{background-color:transparent}.avatar-cropper-stage .cropper-point{display:none}.avatar-cropper-stage .cropper-line{display:none}.avatar-cropper-stage .cropper-dashed{display:none}.avatar-cropper-stage .cropper-center{display:none}.copy-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;margin:0;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--muted);cursor:pointer;transition:all 150ms var(--ease-out);-webkit-tap-highlight-color:transparent}.copy-btn:active{transform:scale(.92)}.copy-btn svg{width:14px;height:14px;stroke-width:2;pointer-events:none}.copy-btn.copied{color:var(--accent);background:rgba(0,200,150,.15);border-color:rgba(0,200,150,.3)}.copy-btn-inline{width:22px;height:22px;border-radius:6px;background:0 0;border-color:transparent;color:var(--muted);opacity:.75}.copy-btn-inline:active,.copy-btn-inline:hover{opacity:1;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.1)}.copy-btn-inline svg{width:12px;height:12px}.profile-sheet-uid-wrap{display:inline-flex;align-items:center;justify-content:center;gap:3px;margin-bottom:10px}.profile-sheet-uid-wrap .profile-sheet-uid{margin-bottom:0}.edit-profile-id{gap:4px}.edit-profile-id span{flex:1;word-break:break-all}.admin-redeem-code-wrap{display:flex;align-items:center;gap:8px}.admin-redeem-code-wrap .admin-redeem-code{flex:1}.hidden{display:none!important}.workout-target-group-duration.hidden,.workout-target-group-sets.hidden{display:none!important}