*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0d0d0d;--bg-card: #1a1a1a;--bg-elevated: #242424;--bg-hover: #2d2d2d;--text: #ffffff;--text-secondary: #e0e0e0;--text-muted: #808080;--border: #333333;--accent: #ff6b35;--accent-dim: rgba(255, 107, 53, .15);--danger: #ff3b30;--success: #34c759;--warning: #ff9500;--radius: 12px;--radius-sm: 8px;--nav-height: 70px;--transition: .15s ease-out}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,sans-serif;min-height:100vh;min-height:100dvh;-webkit-font-smoothing:antialiased;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;overscroll-behavior:none}#app{max-width:430px;margin:0 auto;padding:calc(env(safe-area-inset-top,0px) + 16px) 16px calc(var(--nav-height) + env(safe-area-inset-bottom,0px) + 16px);min-height:100vh;min-height:100dvh}#nav-root{position:fixed;bottom:0;left:0;right:0;z-index:100}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border-radius:var(--radius-sm);border:none;cursor:pointer;font-size:15px;font-weight:600;transition:opacity var(--transition);-webkit-tap-highlight-color:transparent;touch-action:manipulation;user-select:none}.btn:active{opacity:.7}.btn--primary{background:var(--accent);color:#fff;width:100%;padding:16px;border-radius:var(--radius);font-size:17px}.btn--secondary{background:var(--bg-elevated);color:var(--text)}.btn--danger{background:var(--danger);color:#fff}.btn--ghost{background:transparent;color:var(--text-muted);border:1px solid var(--border)}.card{background:var(--bg-card);border-radius:var(--radius);padding:16px;margin-bottom:12px}.input{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:12px;font-size:16px;width:100%;outline:none;-webkit-appearance:none;font-family:inherit;-webkit-user-select:text;user-select:text;touch-action:manipulation}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.input::placeholder{color:var(--text-muted)}h1{font-size:28px;font-weight:700;margin-bottom:8px;letter-spacing:-.5px}h2{font-size:22px;font-weight:600;margin-bottom:8px;letter-spacing:-.3px}h3{font-size:17px;font-weight:600;letter-spacing:-.2px}.text-muted{color:var(--text-muted);font-size:14px}.badge{display:inline-block;padding:3px 8px;border-radius:20px;font-size:12px;font-weight:500;background:var(--bg-elevated);color:var(--text-muted)}.divider{height:1px;background:var(--border);margin:16px 0}.page-header{display:flex;align-items:center;gap:12px;margin-bottom:24px}.section-title{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:8px;margin-top:20px}.flex{display:flex}.flex-col{display:flex;flex-direction:column}.flex-between{display:flex;justify-content:space-between;align-items:center}.flex-center{display:flex;justify-content:center;align-items:center}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.px-2{padding-left:8px;padding-right:8px}.px-3{padding-left:12px;padding-right:12px}.py-2{padding-top:8px;padding-bottom:8px}.py-3{padding-top:12px;padding-bottom:12px}.w-full{width:100%}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.rounded-full{border-radius:9999px}.text-center{text-align:center}.text-sm{font-size:14px}.text-xs{font-size:12px}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.c-bottom-nav{display:flex;align-items:center;justify-content:space-around;background:var(--bg-card);border-top:1px solid var(--border);height:calc(var(--nav-height) + env(safe-area-inset-bottom,0px));padding:0 4px;padding-bottom:env(safe-area-inset-bottom,0px);width:100%}.c-bottom-nav__tab{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:8px 4px;gap:3px;color:var(--text-muted);text-decoration:none;font-size:10px;cursor:pointer;background:none;border:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:color var(--transition);min-height:44px;font-weight:500}.c-bottom-nav__tab:active{opacity:.7}.c-bottom-nav__tab.is-active{color:var(--accent);font-weight:600}.c-bottom-nav__tab--center{width:52px;height:52px;min-height:52px;flex:none;background:var(--accent);border-radius:50%;color:#fff;padding:0;box-shadow:0 4px 12px #ff6b3566;transition:all var(--transition);position:relative;bottom:8px}.c-bottom-nav__tab--center:active{transform:scale(.95);opacity:1}.c-modal-overlay{position:fixed;inset:0;background:#0009;z-index:200;display:flex;align-items:flex-end;opacity:0;transition:opacity .3s ease-out}.c-modal-overlay.is-visible{opacity:1}.c-modal{background:var(--bg-card);border-radius:var(--radius) var(--radius) 0 0;width:100%;max-height:90vh;max-height:90dvh;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding:20px;padding-bottom:calc(20px + env(safe-area-inset-bottom,0px));padding-top:0;position:relative;transform:translateY(100%);transition:transform .3s ease-out}.c-modal-overlay.is-visible .c-modal{transform:translateY(0)}.c-modal__handle{width:36px;height:4px;background:var(--border);border-radius:2px;margin:12px auto 16px}.c-modal__title{font-size:18px;font-weight:600;margin-bottom:16px;padding:0 0 16px;border-bottom:1px solid var(--border)}.c-modal__close{position:absolute;top:12px;right:16px;background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:28px;padding:4px 8px;-webkit-tap-highlight-color:transparent;transition:color var(--transition)}.c-modal__close:active{color:var(--text)}.c-set-row{display:flex;align-items:center;gap:8px;padding:10px 8px;border-radius:var(--radius-sm);transition:background var(--transition);margin-bottom:4px}.c-set-row.is-done{background:#22c3631a}.c-set-row__index{width:24px;text-align:center;color:var(--text-muted);font-size:14px;font-weight:600;flex-shrink:0;font-variant-numeric:tabular-nums}.c-set-row__input{width:64px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:8px;text-align:center;font-size:16px;font-weight:600;font-variant-numeric:tabular-nums;outline:none;-webkit-appearance:none;font-family:inherit;transition:border-color var(--transition);-webkit-user-select:text;user-select:text;touch-action:manipulation}.c-set-row__input:focus{border-color:var(--accent);background:var(--bg-elevated)}.c-set-row__input::placeholder{color:var(--text-muted);opacity:.6}.c-set-row__input::-webkit-outer-spin-button,.c-set-row__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.c-set-row__input[type=number]{-moz-appearance:textfield}.c-set-row__sep{color:var(--text-muted);flex-shrink:0;font-weight:600}.c-set-row__check{width:36px;height:36px;border-radius:50%;border:2px solid var(--border);background:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;margin-left:auto;flex-shrink:0;transition:all var(--transition);-webkit-tap-highlight-color:transparent}.c-set-row__check:active{transform:scale(.9)}.c-set-row__check.is-done{background:var(--success);border-color:var(--success);color:#fff}.c-exercise-card{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--bg-card);border-radius:var(--radius);margin-bottom:8px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background var(--transition);outline:none}.c-exercise-card:active{background:var(--bg-elevated)}.c-exercise-card:focus{outline:2px solid var(--accent);outline-offset:2px}.c-exercise-card__name{font-weight:600;font-size:16px;flex:1;color:var(--text)}.c-exercise-card__badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}.c-exercise-card__arrow{color:var(--text-muted);flex-shrink:0;transition:transform var(--transition)}.c-exercise-card:active .c-exercise-card__arrow{transform:translate(2px)}.c-rest-timer{text-align:center;padding:24px;display:flex;flex-direction:column;align-items:center;gap:16px}.c-rest-timer__ring{margin:0;flex-shrink:0}.c-rest-timer__time{font-size:48px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--accent);letter-spacing:-1px}.c-rest-timer__label{color:var(--text-muted);font-size:14px;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.c-rest-timer__skip{background:var(--bg-elevated);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:12px 32px;font-size:16px;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:all var(--transition)}.c-rest-timer__skip:active{background:var(--border);opacity:.8}.c-rest-timer__skip:disabled{opacity:.5;cursor:not-allowed}.badge{display:inline-block;padding:3px 8px;border-radius:20px;font-size:12px;font-weight:500;background:var(--bg-elevated);color:var(--text-muted);white-space:nowrap}.badge--accent{background:var(--accent-dim);color:var(--accent)}@media (max-width: 380px){.c-bottom-nav{padding:0 2px}.c-bottom-nav__tab{padding:6px 2px;gap:2px;font-size:9px}.c-set-row{gap:4px;padding:8px 4px}.c-set-row__input{width:56px;font-size:14px;padding:6px}.c-exercise-card{padding:12px;gap:10px}.c-exercise-card__name{font-size:15px}.c-modal{padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}.c-rest-timer__time{font-size:40px}}@media (prefers-reduced-motion: reduce){.c-bottom-nav__tab,.c-bottom-nav__tab--center,.c-modal-overlay,.c-modal,.c-set-row,.c-set-row__check,.c-set-row__input,.c-exercise-card,.c-rest-timer__skip{transition:none!important;animation:none!important}}@media (prefers-contrast: more){.c-bottom-nav__tab.is-active{font-weight:700;text-decoration:underline}.c-set-row__check{border-width:3px}.badge{border:1px solid currentColor}}.v-onboarding{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;justify-content:space-between;padding:32px 24px;padding-top:calc(env(safe-area-inset-top,0px) + 32px)}.v-onboarding__header{text-align:center;margin-bottom:40px}.v-onboarding__logo{font-size:48px;margin-bottom:12px}.v-onboarding__title{font-size:36px;font-weight:800;color:var(--accent);margin-bottom:4px}.v-onboarding__subtitle{color:var(--text-muted);font-size:14px}.v-onboarding__content{flex:1;display:flex;flex-direction:column;justify-content:center}.v-onboarding__step-title{font-size:24px;font-weight:700;text-align:center;margin-bottom:24px}.v-onboarding__step-description{color:var(--text-muted);text-align:center;margin-bottom:24px;font-size:15px;line-height:1.5}.v-onboarding__step-hint{color:var(--text-muted);text-align:center;font-size:13px;margin-top:12px;line-height:1.4}.v-onboarding__cards{display:grid;grid-template-columns:1fr;gap:12px}.v-onboarding__cards--two{grid-template-columns:1fr 1fr}.v-onboarding__card{background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius);padding:24px 16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;cursor:pointer;transition:all var(--transition);-webkit-tap-highlight-color:transparent}.v-onboarding__card:active{transform:scale(.95)}.v-onboarding__card.is-active{background:var(--accent-dim);border-color:var(--accent)}.v-onboarding__card-emoji{font-size:32px}.v-onboarding__card-label{font-size:14px;font-weight:600;text-align:center}.v-onboarding__input-group{position:relative;margin-bottom:8px}.v-onboarding__weight-input{padding-right:50px;font-size:16px;text-align:center}.v-onboarding__unit-label{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-weight:600;pointer-events:none}.v-onboarding__footer{display:flex;flex-direction:column;gap:16px}.v-onboarding__dots{display:flex;justify-content:center;gap:8px}.v-onboarding__dot{width:8px;height:8px;border-radius:50%;background:var(--border);transition:background var(--transition)}.v-onboarding__dot.is-active{background:var(--accent)}.v-onboarding__buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px}.v-onboarding__back-btn{flex:1}.v-onboarding__next-btn{width:100%}.v-onboarding__next-btn:disabled{opacity:.5;cursor:not-allowed}.v-onboarding__success{text-align:center;flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center}.v-onboarding__success-emoji{font-size:64px;margin-bottom:24px;animation:bounce .6s ease-in-out}.v-onboarding__success-title{font-size:28px;font-weight:800;margin-bottom:8px}.v-onboarding__success-subtitle{color:var(--text-muted);font-size:16px;margin-bottom:32px}.v-onboarding__start-btn{width:100%;font-size:18px;font-weight:700;padding:18px}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.v-home{display:flex;flex-direction:column;gap:20px}.v-home__greeting{font-size:32px;font-weight:800;margin-bottom:4px}.v-home__streak{display:inline-flex;align-items:center;gap:6px;background:var(--accent-dim);color:var(--accent);border-radius:20px;padding:6px 12px;font-size:14px;font-weight:600;margin-bottom:8px;width:fit-content}.v-home__start-btn{font-size:17px;font-weight:700;padding:16px;margin-bottom:8px}.v-home__modal{position:fixed;inset:0;background:#00000080;display:flex;align-items:flex-end;z-index:200;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(100px)}to{opacity:1;transform:translateY(0)}}.v-home__modal-content{background:var(--bg-card);border-radius:var(--radius) var(--radius) 0 0;width:100%;padding:20px;max-height:70vh;overflow-y:auto;position:relative}.v-home__modal-title{font-size:18px;font-weight:700;margin-bottom:16px;text-align:center}.v-home__routine-item{width:100%;padding:14px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:16px;font-weight:500;cursor:pointer;transition:all var(--transition);margin-bottom:10px;text-align:left;-webkit-tap-highlight-color:transparent}.v-home__routine-item:active{opacity:.7;transform:scale(.98)}.v-home__modal-divider{height:1px;background:var(--border);margin:12px 0 16px}.v-home__modal-close{position:absolute;top:12px;right:12px;width:32px;height:32px;border:none;background:transparent;color:var(--text-muted);font-size:20px;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center}.v-home__stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:8px 0 12px}.v-home__stat-card{background:var(--bg-card);border-radius:var(--radius);padding:16px;text-align:center}.v-home__stat-value{font-size:24px;font-weight:800;color:var(--accent)}.v-home__stat-label{color:var(--text-muted);font-size:12px;margin-top:6px;font-weight:500}.v-home__section{margin-top:8px}.v-home__workouts-list{display:flex;flex-direction:column;gap:10px}.v-home__workout-card{background:var(--bg-card);border-radius:var(--radius);padding:14px;cursor:pointer;transition:all var(--transition);-webkit-tap-highlight-color:transparent}.v-home__workout-card:active{opacity:.7;transform:scale(.98)}.v-home__workout-date{font-size:12px;color:var(--text-muted);font-weight:600;margin-bottom:4px}.v-home__workout-name{font-size:15px;font-weight:600;margin-bottom:8px}.v-home__workout-duration{font-size:13px;color:var(--text-muted);margin-bottom:4px}.v-home__workout-volume{font-size:14px;font-weight:600;color:var(--accent)}.v-routines{display:flex;flex-direction:column}.v-routines__list{display:flex;flex-direction:column;gap:0}.v-routines__empty{text-align:center;padding:60px 20px;color:var(--text-muted)}.v-routines__empty svg{margin:0 auto 16px;display:block;opacity:.3}.v-routines__empty p{margin-bottom:16px}.v-routine-card{background:var(--bg-card);border-radius:var(--radius);padding:16px;margin-bottom:12px;display:flex;flex-direction:column}.v-routine-card__name{font-size:18px;font-weight:600;color:var(--text)}.v-routine-card__meta{color:var(--text-muted);font-size:14px;margin-top:4px;margin-bottom:12px}.v-routine-card__actions{display:flex;gap:8px}.v-routine-card__actions .btn{flex:1;margin:0;padding:10px 12px;font-size:14px;border-radius:var(--radius-sm)}.v-routine-editor{display:flex;flex-direction:column}.v-routine-editor__header{margin-bottom:16px}.v-routine-editor__header .btn{padding:8px 12px;font-size:14px;border-radius:var(--radius-sm)}.v-routine-editor__form{display:flex;flex-direction:column}.v-routine-editor__exercises{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.v-routine-editor__exercise{background:var(--bg-card);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:12px}.v-routine-editor__exercise-header{display:flex;align-items:center;justify-content:space-between}.v-routine-editor__exercise-name{font-weight:600;font-size:16px;color:var(--text);flex:1}.v-routine-editor__sets-row{display:flex;gap:12px;align-items:flex-start}.v-routine-editor__sets-row label{flex:1;display:flex;flex-direction:column;gap:4px}.v-routine-editor__sets-row input{width:100%}.fab{position:fixed;bottom:calc(var(--nav-height) + env(safe-area-inset-bottom,0px) + 16px);right:20px;width:56px;height:56px;border-radius:50%;background:var(--accent);color:#fff;border:none;font-size:28px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #ff6b3566;z-index:10;-webkit-tap-highlight-color:transparent;transition:all var(--transition);font-weight:300;letter-spacing:-1px}.fab:active{transform:scale(.9);opacity:.9}@media (max-width: 380px){.v-routine-card{padding:12px}.v-routine-card__name{font-size:16px}.v-routine-card__actions{gap:6px}.v-routine-card__actions .btn{padding:8px 10px;font-size:13px}.v-routine-editor__exercise{padding:12px;gap:10px}.v-routine-editor__sets-row{gap:8px}.fab{width:48px;height:48px;font-size:24px;bottom:calc(var(--nav-height) + env(safe-area-inset-bottom,0px) + 12px);right:16px}}.v-progress{padding:20px;max-width:600px;margin:0 auto}.v-progress__title{font-size:28px;font-weight:700;margin-bottom:24px;color:var(--text)}.v-progress__total-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}.v-progress__stat{background:var(--bg-card);border-radius:var(--radius);padding:16px 12px;text-align:center;border:1px solid var(--border)}.v-progress__stat-value{font-size:22px;font-weight:700;color:var(--accent)}.v-progress__stat-label{color:var(--text-muted);font-size:11px;margin-top:4px;text-transform:uppercase;letter-spacing:.3px}.v-progress__chart{background:var(--bg-card);border-radius:var(--radius);padding:16px;margin-bottom:24px;border:1px solid var(--border);overflow:hidden}.v-progress__chart-title{font-size:14px;font-weight:600;margin-bottom:16px;color:var(--text)}.v-progress__bar-chart-container{width:100%}.v-progress__bar-chart{width:100%;height:auto;max-width:100%}.v-progress__section{margin-bottom:24px}.v-progress__section-title{font-size:14px;font-weight:600;margin-bottom:12px;color:var(--text);text-transform:uppercase;letter-spacing:.3px}.v-progress__exercise-list{display:flex;flex-direction:column;gap:8px}.v-progress__exercise-item{background:var(--bg-card);border-radius:var(--radius-sm);padding:12px 16px;display:flex;justify-content:space-between;align-items:center;border:1px solid var(--border);cursor:pointer;transition:all .2s ease}.v-progress__exercise-item:active{background:var(--bg-elevated);border-color:var(--accent)}.v-progress__exercise-name{font-size:14px;font-weight:500;color:var(--text)}.v-progress__exercise-count{font-size:12px;color:var(--text-muted)}.v-progress__pr-list{display:flex;flex-direction:column;gap:8px}.v-progress__pr-item{background:var(--bg-card);border-radius:var(--radius-sm);padding:12px 16px;display:flex;justify-content:space-between;align-items:center;border:1px solid var(--border);cursor:pointer;transition:all .2s ease}.v-progress__pr-item:active{background:var(--bg-elevated);border-color:var(--accent)}.v-progress__pr-exercise{font-size:14px;font-weight:500;color:var(--text);flex:1}.v-progress__pr-detail{display:flex;gap:12px;align-items:center;font-size:12px}.v-progress__pr-label{color:var(--text-muted)}.v-progress__pr-value{color:var(--accent);font-weight:600}.v-progress__empty{color:var(--text-muted);font-size:14px;padding:16px;text-align:center}.v-progress-detail{padding:20px;max-width:600px;margin:0 auto}.v-progress-detail__back{display:inline-block;padding:8px 0;color:var(--accent);font-size:14px;font-weight:500;cursor:pointer;text-decoration:none;margin-bottom:16px}.v-progress-detail__back:active{opacity:.8}.v-progress-detail__title{font-size:28px;font-weight:700;margin-bottom:24px;color:var(--text)}.v-progress-detail__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}.v-progress-detail__stat{background:var(--bg-card);border-radius:var(--radius);padding:16px 12px;text-align:center;border:1px solid var(--border)}.v-progress-detail__stat-label{color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px}.v-progress-detail__stat-value{font-size:20px;font-weight:700;color:var(--accent)}.v-progress-detail__chart{background:var(--bg-card);border-radius:var(--radius);padding:16px;margin-bottom:24px;border:1px solid var(--border);overflow:hidden}.v-progress-detail__chart-title{font-size:14px;font-weight:600;margin-bottom:16px;color:var(--text)}.v-progress-detail__line-chart-container{width:100%}.v-progress-detail__line-chart{width:100%;height:auto;max-width:100%}.v-progress-detail__section{margin-bottom:24px}.v-progress-detail__section-title{font-size:14px;font-weight:600;margin-bottom:12px;color:var(--text);text-transform:uppercase;letter-spacing:.3px}.v-progress-detail__sets-list{display:flex;flex-direction:column;gap:8px}.v-progress-detail__set-item{background:var(--bg-card);border-radius:var(--radius-sm);padding:12px 16px;border:1px solid var(--border);display:flex;gap:16px;align-items:flex-start}.v-progress-detail__set-date{font-size:12px;color:var(--text-muted);min-width:60px;text-align:right}.v-progress-detail__set-details{display:flex;gap:8px;align-items:center;flex:1;flex-wrap:wrap;font-size:13px}.v-progress-detail__set-weight{color:var(--accent);font-weight:600}.v-progress-detail__set-reps{color:var(--text);font-weight:500}.v-progress-detail__set-est1rm{color:var(--text-muted);font-size:12px}.v-progress-detail__empty{color:var(--text-muted);font-size:14px;padding:16px;text-align:center}.v-settings{padding:20px 20px 100px;max-width:600px;margin:0 auto}.v-settings__title{font-size:28px;font-weight:700;margin-bottom:32px;color:var(--text)}.v-settings__section{margin-bottom:32px}.v-settings__section-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--text-muted);margin-bottom:12px}.v-settings__row{display:flex;align-items:center;justify-content:space-between;padding:16px;background:var(--bg-card);border-radius:var(--radius);margin-bottom:8px;border:1px solid var(--border);gap:12px}.v-settings__row-label{font-weight:500;color:var(--text);flex:1;font-size:14px}.v-settings__toggle-group{display:flex;gap:8px}.v-settings__toggle-btn{padding:8px 16px;border-radius:var(--radius-sm);border:1px solid var(--border);background:none;color:var(--text-muted);cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}.v-settings__toggle-btn:active{opacity:.8}.v-settings__toggle-btn.is-active{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.v-settings__rest-options{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.v-settings__rest-btn{padding:8px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:none;color:var(--text-muted);cursor:pointer;font-size:13px;font-weight:500;transition:all .2s ease;white-space:nowrap}.v-settings__rest-btn:active{opacity:.8}.v-settings__rest-btn.is-active{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.v-settings__input{padding:8px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);font-size:14px;font-family:inherit;width:100px;text-align:right}.v-settings__input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-dim)}.v-settings__action-btn{padding:12px 16px;border-radius:var(--radius);border:1px solid var(--accent);background:var(--accent-dim);color:var(--accent);cursor:pointer;font-size:14px;font-weight:600;width:100%;text-align:center;transition:all .2s ease}.v-settings__action-btn:active{opacity:.8;background:#ff450040}.v-settings__file-input{display:none}.v-settings__info{margin-top:40px;padding-top:24px;border-top:1px solid var(--border);text-align:center;font-size:12px;color:var(--text-muted)}.v-active-workout__header{position:sticky;top:0;background:var(--bg);padding:12px 0 16px;display:flex;align-items:center;justify-content:space-between;z-index:10;border-bottom:1px solid var(--border);margin-bottom:16px;gap:12px}.v-active-workout__timer{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums;min-width:60px}.v-active-workout__title{flex:1;font-size:16px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v-active-workout__exercises{margin-bottom:16px}.v-active-workout__exercise{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border)}.v-active-workout__exercise:last-of-type{border-bottom:none;margin-bottom:16px;padding-bottom:0}.v-active-workout__exercise-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:8px}.v-active-workout__exercise-name{font-size:17px;font-weight:600;flex:1}.v-active-workout__delete-btn{width:32px;height:32px;border-radius:50%;border:1px solid var(--border);background:none;color:var(--text-muted);font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--transition);-webkit-tap-highlight-color:transparent}.v-active-workout__delete-btn:active{background:var(--danger);color:#fff;border-color:var(--danger)}.v-active-workout__prev{color:var(--text-muted);font-size:13px;margin-bottom:12px}.v-active-workout__sets{margin-bottom:8px}.v-active-workout__add-set{background:none;border:1px dashed var(--border);color:var(--accent);border-radius:var(--radius-sm);padding:8px;width:100%;cursor:pointer;font-size:14px;font-weight:500;margin-top:4px;transition:all var(--transition);-webkit-tap-highlight-color:transparent}.v-active-workout__add-set:active{border-color:var(--accent);background:var(--accent-dim)}.v-active-workout__add-exercise{width:100%}.v-active-workout__pause-btn{display:flex;align-items:center;gap:4px;padding:7px 10px;border-radius:var(--radius-sm);border:1.5px solid var(--border);background:none;color:var(--text-muted);font-size:13px;font-weight:600;cursor:pointer;flex-shrink:0;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:all var(--transition)}.v-active-workout__pause-btn:active{background:var(--bg-elevated);color:var(--text)}.v-active-workout__rest-panel{position:fixed;bottom:calc(var(--nav-height) + env(safe-area-inset-bottom,0px));left:0;right:0;background:var(--bg-card);border-top:1px solid var(--border);padding:16px;z-index:50;max-width:430px;margin:0 auto;animation:slideUp .3s ease-out}.v-exercise-library{display:flex;flex-direction:column;height:100%}.v-exercise-library__header{margin-bottom:20px}.v-exercise-library__search{margin-bottom:16px}.v-exercise-library__search-input{width:100%}.v-exercise-library__filters{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px;margin-bottom:16px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.v-exercise-library__filters::-webkit-scrollbar{display:none}.v-exercise-library__filter-chip{background:var(--bg-elevated);border:1px solid var(--border);border-radius:20px;padding:6px 14px;font-size:14px;cursor:pointer;white-space:nowrap;color:var(--text-muted);-webkit-tap-highlight-color:transparent;transition:all var(--transition);font-weight:500}.v-exercise-library__filter-chip:active{opacity:.8}.v-exercise-library__filter-chip.is-active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.v-exercise-library__list{flex:1;overflow-y:auto;margin-bottom:16px}.v-exercise-library__add-custom{width:100%}@media (max-width: 380px){.v-active-workout__header{padding:8px 0 12px;gap:8px}.v-active-workout__timer{font-size:18px}.v-active-workout__title{font-size:14px}.v-active-workout__exercise-header{flex-direction:column;align-items:flex-start}.v-exercise-library__filter-chip{padding:5px 12px;font-size:13px}}@media (prefers-reduced-motion: reduce){.fab,.v-routine-card__actions .btn{transition:none!important}.v-active-workout__delete-btn,.v-active-workout__add-set,.v-exercise-library__filter-chip,.v-active-workout__rest-panel{transition:none!important;animation:none!important}}@media (prefers-contrast: more){.v-active-workout__delete-btn,.v-active-workout__add-set,.v-exercise-library__filter-chip{border-width:2px}}.v-workout-summary{text-align:center;padding:20px 0}.v-workout-summary__icon{font-size:64px;margin-bottom:8px;display:block}.v-workout-summary__title{font-size:28px;font-weight:800;margin-bottom:4px}.v-workout-summary__stats{display:flex;justify-content:center;gap:24px;margin:24px 0}.v-workout-summary__stat{text-align:center}.v-workout-summary__stat-value{font-size:24px;font-weight:700;color:var(--accent)}.v-workout-summary__stat-label{color:var(--text-muted);font-size:13px;margin-top:4px}.v-workout-summary__prs{background:var(--accent-dim);border-radius:var(--radius);padding:16px;margin:16px 0;text-align:left}.v-workout-summary__exercises{text-align:left;margin-top:24px}.v-history__group-title{font-size:13px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin:20px 0 8px}.v-history__item{background:var(--bg-card);border-radius:var(--radius);padding:16px;margin-bottom:8px;cursor:pointer;transition:background var(--transition)}.v-history__item:active{background:var(--bg-elevated)}.v-history__item-date{font-weight:600;font-size:15px;margin-bottom:4px}.v-history__item-meta{color:var(--text-muted);font-size:14px;margin-top:4px}.v-history__item-exercises{color:var(--text-muted);font-size:13px;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v-home__install-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;margin-bottom:16px;font-size:14px;line-height:1.4}.v-home__install-banner-text strong{font-size:14px;font-weight:700;display:block;margin-bottom:2px}.v-home__install-banner-close{background:none;border:none;color:var(--text-muted);font-size:22px;cursor:pointer;padding:0 4px;flex-shrink:0;line-height:1;-webkit-tap-highlight-color:transparent}.v-home__calendar{margin:16px 0}.v-home__calendar-label{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:8px}.v-home__calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.v-home__cal-day-label{font-size:10px;color:var(--text-muted);text-align:center;padding-bottom:2px;font-weight:600}.v-home__cal-cell{aspect-ratio:1;border-radius:4px;background:var(--bg-elevated);transition:background var(--transition);cursor:default}.v-home__cal-cell.has-workout{background:var(--accent);cursor:pointer}.v-home__cal-cell.has-workout:active{opacity:.75}.v-home__cal-cell.is-today{box-shadow:0 0 0 2px var(--accent)}.v-home__cal-cell.is-future{opacity:.25}.exercise-picker-backdrop{position:fixed;inset:0;background:#000000a6;z-index:200;display:flex;align-items:flex-end;animation:fadeIn .15s ease-out}.exercise-picker{background:var(--bg-card);border-radius:var(--radius) var(--radius) 0 0;width:100%;max-width:430px;margin:0 auto;max-height:82vh;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom,0px);animation:slideUp .25s ease-out}.exercise-picker__header{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.exercise-picker__title{font-size:17px;font-weight:700}.exercise-picker__close{width:32px;height:32px;border-radius:50%;border:none;background:var(--bg-elevated);color:var(--text-muted);font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;-webkit-tap-highlight-color:transparent}.exercise-picker__search-wrap{padding:12px 16px;flex-shrink:0}.exercise-picker__search{width:100%;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:15px;padding:10px 14px;outline:none;-webkit-appearance:none}.exercise-picker__search:focus{border-color:var(--accent)}.exercise-picker__list{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.exercise-picker__group-header{padding:8px 16px 4px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);background:var(--bg-card);position:sticky;top:0;z-index:1}.exercise-picker__item{width:100%;text-align:left;padding:14px 16px;border:none;border-bottom:1px solid var(--border);background:none;color:var(--text);font-size:15px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background var(--transition)}.exercise-picker__item:active{background:var(--bg-elevated)}.exercise-picker__item.is-added{color:var(--text-muted);pointer-events:none}.exercise-picker__item.is-added:after{content:" ✓";color:var(--accent)}.exercise-picker__empty{padding:40px 16px;text-align:center;color:var(--text-muted);font-size:15px}.v-workout-summary__section-title{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:12px;text-align:left}.v-workout-summary__compare{background:var(--bg-card);border-radius:var(--radius);padding:16px;margin:16px 0;text-align:left}.v-workout-summary__cmp-row{padding:12px 0;border-bottom:1px solid var(--border)}.v-workout-summary__cmp-row:last-child{border-bottom:none;padding-bottom:0}.v-workout-summary__cmp-row:first-child{padding-top:0}.v-workout-summary__cmp-name{font-size:15px;font-weight:600;margin-bottom:8px}.v-workout-summary__cmp-stats{display:flex;gap:16px}.v-workout-summary__cmp-stat{flex:1}.v-workout-summary__cmp-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;margin-bottom:2px}.v-workout-summary__cmp-value{font-size:14px;font-weight:600;display:flex;align-items:center;gap:3px;flex-wrap:wrap}.cmp-up{color:var(--success);font-size:16px}.cmp-down{color:var(--danger);font-size:16px}.cmp-same{color:var(--text-muted);font-size:16px}.cmp-delta{font-size:11px;color:var(--text-muted);font-weight:400}.v-workout-summary__exercise-card{margin-bottom:8px;transition:background var(--transition)}.v-workout-summary__exercise-card:active{background:var(--bg-elevated)}
