:root{--color-bg: #000;--color-surface: #0a0a0a;--color-surface-hover: #141414;--color-text: #e0e0e0;--color-text-muted: #666;--color-primary: #00e5ff;--color-accent: #ff2d7b;--color-warmup: #ffab40;--color-work: #00e676;--color-backoff: #d500f9;--color-joker: #ffea00;--color-completed: #00e676;--color-danger: #ff1744;--color-border: #1a1a1a;--color-border-glow: #00e5ff;--color-surface-alt: #111;--color-weekday: #00e5ff;--color-weekend: #ff2d7b;--radius: 12px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:var(--color-bg);color:var(--color-text);line-height:1.5;min-height:100dvh}#root{max-width:600px;margin:0 auto;padding:0 .75rem}.workout-select{text-align:center;padding-bottom:30vh}.banner{display:flex;flex-direction:column;align-items:center;gap:0;margin-bottom:1.5rem}.banner-logo{flex-shrink:0}.banner-title{font-size:2rem;font-weight:700;letter-spacing:.35em;text-indent:.35em;color:var(--color-primary)}.banner-rule{width:6rem;height:2px;background:linear-gradient(90deg,transparent,var(--color-primary),transparent);opacity:.5}.motivational-quote{text-align:center;margin-top:5rem;margin-bottom:5rem}.quote-text{font-family:Pacifico,cursive;font-size:1.15rem;line-height:1.6;color:var(--color-accent);text-shadow:0 0 5px color-mix(in srgb,var(--color-accent) 85%,transparent),0 0 16px color-mix(in srgb,var(--color-accent) 65%,transparent),0 0 36px color-mix(in srgb,var(--color-accent) 35%,transparent),0 0 55px color-mix(in srgb,var(--color-accent) 20%,transparent)}.app-title{font-size:2rem;font-weight:700;margin-bottom:.25rem}.subtitle{color:var(--color-text-muted);margin-bottom:1.5rem}.todays-plan{margin-top:6rem;margin-bottom:12rem}.today-card-row{display:flex;align-items:center;gap:.5rem}.today-card-row .workout-card{flex:1}.workout-list{display:flex;flex-direction:column;gap:.75rem}.workout-card{display:flex;align-items:center;gap:1rem;padding:.5rem 1rem;background:var(--color-bg);border:1px solid var(--color-border-glow);border-radius:var(--radius);color:var(--color-text);text-align:left;cursor:pointer;font-size:1rem;transition:background .15s;min-height:64px}.workout-card:active{background:var(--color-surface-hover)}.workout-card-done{border-color:var(--color-completed)}.lift-badge{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:50%;flex-shrink:0;object-fit:contain}.workout-name{font-weight:500}.strength-badge{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:50%;flex-shrink:0;background:#00e5ff1f;color:var(--color-primary)}.workout-view{padding-bottom:1rem}.workout-header{display:flex;align-items:center;gap:.75rem;padding:1rem 0;position:sticky;top:0;background:var(--color-bg);z-index:10}.btn-back{display:flex;align-items:center;gap:.25rem;background:none;border:none;color:var(--color-text-muted);font-size:1rem;cursor:pointer;padding:.5rem;min-width:44px;min-height:44px}.workout-title{flex:1;font-size:1.125rem;font-weight:600}.progress-badge{background:var(--color-surface);padding:.25rem .625rem;border-radius:999px;font-size:.875rem;color:var(--color-text-muted);white-space:nowrap}.exercise-card{margin-bottom:1.5rem}.exercise-name{font-size:1rem;font-weight:600;padding:.5rem 0;border-bottom:1px solid var(--color-border);margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.role-tag{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.15rem .4rem;border-radius:4px;white-space:nowrap;margin-left:auto}.role-primary{background:#333;color:#aaa}.role-secondary{background:#282828;color:#888}.role-assistance{background:#1e1e1e;color:#666}.rest-timer{flex:1;text-align:center;font-family:Courier New,Consolas,monospace;font-size:.9rem;font-weight:700;letter-spacing:.08em;color:var(--color-accent);white-space:nowrap}.sets-list{display:flex;flex-direction:column;gap:.375rem}.set-row{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem;padding:.5rem .375rem;background:var(--color-surface);border-radius:8px;border:1px solid transparent;transition:background .15s,border-color .15s}.set-row.set-completed{background:#00e6761f;border-color:var(--color-completed)}.set-checkbox{display:flex;align-items:center;justify-content:center;flex-shrink:0}.set-checkbox input[type=checkbox]{width:1.25rem;height:1.25rem;accent-color:var(--color-completed);cursor:pointer}.set-type{font-size:.5625rem;font-weight:600;text-transform:uppercase;padding:.125rem .3rem;border-radius:999px;white-space:nowrap;text-align:center}.set-type-warmup{background:#ffab4026;color:var(--color-warmup)}.set-type-work{background:#00e67626;color:var(--color-work)}.set-type-backoff{background:#d500f926;color:var(--color-backoff)}.set-type-joker{background:#ffea0026;color:var(--color-joker)}.set-type-select{font-size:.5625rem;font-weight:600;text-transform:uppercase;text-align:center;text-align-last:center;padding:.2rem .25rem;border-radius:6px;white-space:nowrap;border:none;cursor:pointer;min-height:32px;min-width:4rem;flex-shrink:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.set-type-select.set-type-warmup{background-color:#ffab4026;color:var(--color-warmup)}.set-type-select.set-type-work{background-color:#00e67626;color:var(--color-work)}.set-type-select.set-type-backoff{background-color:#d500f926;color:var(--color-backoff)}.set-type-select.set-type-joker{background-color:#ffea0026;color:var(--color-joker)}.set-fields{display:flex;align-items:center;gap:.25rem;margin-left:auto}.field-group{display:flex;flex-direction:column;align-items:center}.field-label{font-size:.625rem;text-transform:uppercase;color:var(--color-text-muted);line-height:1}.field-input{width:3rem;padding:.25rem .125rem;text-align:center;font-size:.9rem;font-weight:600;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg);color:var(--color-text);-moz-appearance:textfield}.field-input::-webkit-outer-spin-button,.field-input::-webkit-inner-spin-button{-webkit-appearance:none}.field-separator{color:var(--color-text-muted);font-size:.875rem;padding:.75rem .125rem 0}.rep-stepper{display:flex;flex-direction:row;align-items:center;gap:2px}.rep-stepper-btn{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;font-size:.875rem;font-weight:600;line-height:1;color:var(--color-text-muted);background:var(--color-bg);border:1px solid var(--color-border);border-radius:4px;cursor:pointer;-webkit-tap-highlight-color:transparent}.rep-stepper-btn:active{background:var(--color-surface-hover);color:var(--color-text)}.set-comment{flex-basis:100%;font-size:.75rem;color:var(--color-text-muted);font-style:italic;padding-left:2rem;margin:0}.set-previous{font-size:.6875rem;color:var(--color-text-muted);white-space:nowrap;padding-top:.75rem;margin-right:.5rem}.btn-add-set{display:flex;align-items:center;justify-content:center;gap:.25rem;width:100%;min-height:44px;padding:.5rem;font-size:.875rem;font-weight:600;color:var(--color-text-muted);background:transparent;border:1px dashed var(--color-border);border-radius:8px;cursor:pointer}.btn-add-set:active{background:var(--color-surface)}.btn-add-exercise{display:flex;align-items:center;justify-content:center;gap:.25rem;width:100%;min-height:48px;padding:.75rem;margin-top:.5rem;font-size:.9375rem;font-weight:600;color:var(--color-primary);background:transparent;border:1px dashed var(--color-primary);border-radius:var(--radius);cursor:pointer}.btn-add-exercise:active{background:var(--color-surface)}.exercise-picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:flex-end;justify-content:center;background:#000000b3}.exercise-picker{width:100%;max-width:480px;max-height:70vh;display:flex;flex-direction:column;background:var(--color-surface);border-radius:var(--radius) var(--radius) 0 0;border:1px solid var(--color-border);border-bottom:none}.exercise-picker-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--color-border)}.exercise-picker-header h3{margin:0;font-size:1rem;color:var(--color-text)}.btn-close-picker{display:flex;align-items:center;justify-content:center;padding:.25rem;background:transparent;border:none;color:var(--color-text-muted);cursor:pointer}.exercise-picker-list{overflow-y:auto;-webkit-overflow-scrolling:touch;padding:.5rem 0}.exercise-picker-item{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:48px;padding:.75rem 1rem;font-size:.9375rem;color:var(--color-text);background:transparent;border:none;cursor:pointer;text-align:left}.exercise-picker-item:active{background:var(--color-surface-hover)}.exercise-picker-name{font-weight:500}.exercise-picker-detail{font-size:.8125rem;color:var(--color-text-muted)}.btn-finish{margin-left:auto;padding:.375rem .75rem;font-size:.875rem;font-weight:600;border:none;border-radius:var(--radius);background:var(--color-primary);color:#000;cursor:pointer;min-height:36px;white-space:nowrap}.btn-finish:active{opacity:.85}.btn-wake-lock{display:flex;align-items:center;justify-content:center;padding:.25rem;border:none;border-radius:var(--radius);background:transparent;cursor:pointer;line-height:1}.btn-wake-lock.active{color:var(--color-primary)}.btn-wake-lock.inactive{color:var(--color-text-muted);animation:pulse-wake 2s ease-in-out infinite}@keyframes pulse-wake{0%,to{opacity:.5}50%{opacity:1}}.finish-summary{text-align:center;padding:3rem 1rem}.finish-summary h2{font-size:1.5rem;margin-bottom:.5rem}.finish-summary p{color:var(--color-text-muted);margin-bottom:1rem}.finish-note{font-size:.875rem;font-style:italic}.finish-go-back{display:flex;align-items:center;justify-content:center;gap:.25rem;margin:1rem auto 0;font-size:1rem;color:var(--color-text-muted)}.btn-primary{padding:.875rem 2rem;font-size:1rem;font-weight:600;border:none;border-radius:var(--radius);background:var(--color-primary);color:#000;cursor:pointer;min-height:48px}.btn-primary:active{opacity:.85}.auth-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60dvh;text-align:center;gap:1rem;padding:2rem 1rem}.auth-status{color:var(--color-text-muted);font-size:1rem}.auth-error{color:var(--color-danger);font-size:.875rem;background:#ff17441a;padding:.625rem 1rem;border-radius:8px;max-width:100%;word-break:break-word}.config-warning{color:var(--color-warmup);font-size:.8125rem;background:#ffab401a;padding:.5rem .75rem;border-radius:8px;margin-top:1rem;text-align:left}.btn-google{padding:.875rem 2rem;font-size:1rem;font-weight:600;border:none;border-radius:var(--radius);background:#fff;color:#333;cursor:pointer;min-height:48px;display:flex;align-items:center;gap:.5rem}.btn-google:active{opacity:.85}.sheet-form{display:flex;flex-direction:column;gap:.75rem;width:100%;max-width:400px}.sheet-url-input{padding:.75rem 1rem;font-size:.875rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text);width:100%}.sheet-url-input::placeholder{color:var(--color-text-muted)}.sheet-option{width:100%;max-width:400px}.sheet-option-label{font-size:.9375rem;font-weight:600;color:var(--color-text);margin-bottom:.5rem}.sheet-divider{display:flex;align-items:center;width:100%;max-width:400px;gap:1rem;color:var(--color-text-muted);font-size:.8125rem}.sheet-divider:before,.sheet-divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.btn-link{background:none;border:none;color:var(--color-text-muted);font-size:.875rem;cursor:pointer;padding:.5rem;text-decoration:underline}.btn-link:active{opacity:.7}.auth-connected{display:flex;align-items:center;gap:.75rem;padding:.75rem 0;font-size:.875rem;border-bottom:1px solid var(--color-border);margin-bottom:.5rem}.toolbar-nav{display:flex;align-items:center;gap:.25rem;flex:1}.btn-toolbar{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:8px;background:transparent;color:var(--color-text-muted);cursor:pointer;transition:background .15s,color .15s}.btn-toolbar:active{background:var(--color-surface);color:var(--color-text)}.progression-subtitle{color:var(--color-text-muted);font-size:.875rem;margin-bottom:1.25rem}.progression-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.progression-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:.75rem 1rem}.progression-lift-name{font-size:1rem;font-weight:600;margin-bottom:.5rem}.progression-row{display:flex;align-items:center;gap:.5rem;padding:.375rem 0}.progression-label{font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--color-text-muted);min-width:3.5rem}.progression-current{font-size:.875rem;color:var(--color-text-muted);min-width:2.5rem;text-align:right}.progression-arrow{display:inline-flex;align-items:center;color:var(--color-text-muted);font-size:.875rem}.progression-input{width:4.5rem;padding:.375rem;text-align:center;font-size:1rem;font-weight:600;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg);color:var(--color-text);-moz-appearance:textfield}.progression-input::-webkit-outer-spin-button,.progression-input::-webkit-inner-spin-button{-webkit-appearance:none}.progression-label-unit{font-size:.75rem;color:var(--color-text-muted)}.progression-hit{display:inline-flex;align-items:center;gap:.125rem;font-size:.75rem;font-weight:600;color:var(--color-work);margin-left:auto}.weight-stepper{display:flex;flex-direction:row;align-items:center;gap:2px}.progression-actions{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1rem 0}.setup-page{text-align:center;padding:2rem 0}.setup-title{font-size:1.5rem;font-weight:700;color:var(--color-primary);margin-bottom:.5rem}.setup-subtitle{color:var(--color-text-muted);font-size:.875rem;margin-bottom:1.5rem}.setup-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.setup-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:.75rem 1rem;text-align:left}.setup-lift-name{font-size:1rem;font-weight:600;margin-bottom:.5rem}.setup-field{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.setup-label{font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--color-text-muted)}.setup-input-row{display:flex;align-items:center;gap:.375rem}.setup-input{width:5rem;padding:.5rem .375rem;text-align:center;font-size:1.125rem;font-weight:600;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg);color:var(--color-text);-moz-appearance:textfield}.setup-input::-webkit-outer-spin-button,.setup-input::-webkit-inner-spin-button{-webkit-appearance:none}.setup-unit{font-size:.75rem;color:var(--color-text-muted)}.setup-derived{font-size:.8125rem;color:var(--color-text-muted);margin-top:.375rem}.setup-actions{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1rem 0}.setup-confirm{width:100%;max-width:320px}.btn-calendar{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;margin-top:1.25rem;padding:.75rem 1rem;font-size:1rem;font-weight:600;color:var(--color-primary);background:transparent;border:1px solid var(--color-primary);border-radius:var(--radius);cursor:pointer;min-height:48px;transition:background .15s}.btn-calendar:active{background:#00e5ff1a}.calendar-view{padding-bottom:2rem}.calendar-days{display:flex;flex-direction:column;gap:.5rem}.calendar-day{background:var(--color-surface);border:1px solid var(--color-border);border-left:4px solid var(--color-weekday);border-radius:var(--radius);padding:.75rem 1rem}.calendar-day-today{border-color:var(--color-primary);border-left-color:var(--color-weekday)}.calendar-day-weekend,.calendar-day-today.calendar-day-weekend{border-left-color:var(--color-weekend)}.calendar-day-header{display:flex;align-items:center;justify-content:space-between}.calendar-day-date{display:flex;align-items:center;gap:.5rem}.calendar-weekday{font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--color-text-muted);min-width:2rem}.calendar-display-date{font-size:.9375rem;font-weight:500}.calendar-today-badge{font-size:.6875rem;font-weight:600;text-transform:uppercase;color:var(--color-primary);background:#00e5ff26;padding:.125rem .375rem;border-radius:4px}.calendar-add-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--color-primary);cursor:pointer;padding:.375rem;min-width:36px;min-height:36px;border-radius:8px;transition:color .15s,background .15s}.calendar-add-btn:active{color:var(--color-primary);background:#00e5ff1a}.calendar-workouts{display:flex;flex-direction:column;gap:.375rem;margin-top:.5rem}.calendar-workout-item{display:flex;align-items:center;gap:.5rem;background:var(--color-bg);border-radius:8px;padding:.375rem .5rem}.calendar-workout-link{flex:1;display:flex;align-items:center;gap:.25rem;background:none;border:none;color:var(--color-text);cursor:pointer;font-size:.875rem;font-weight:500;text-align:left;padding:.25rem 0;min-height:36px}.calendar-workout-link:active{color:var(--color-primary)}.calendar-workout-name{flex:1}.calendar-remove-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:.25rem;min-width:28px;min-height:28px;border-radius:4px}.calendar-remove-btn:active{color:var(--color-danger)}.calendar-delete-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:.25rem;min-width:28px;min-height:28px;border-radius:4px;flex-shrink:0}.calendar-delete-btn:active{color:var(--color-danger)}.calendar-delete-confirm-btn{background:var(--color-danger);border:none;color:#fff;cursor:pointer;font-size:.75rem;font-weight:600;padding:.25rem .625rem;border-radius:4px;min-height:28px;flex-shrink:0;transition:opacity .15s}.calendar-delete-confirm-btn:active{opacity:.8}.calendar-picker{margin-top:.5rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;overflow:hidden}.calendar-picker-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;font-size:.8125rem;font-weight:600;color:var(--color-text-muted);border-bottom:1px solid var(--color-border)}.calendar-picker-close{display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:.25rem;min-width:28px;min-height:28px}.calendar-picker-list{display:flex;flex-direction:column}.calendar-picker-item{background:none;border:none;border-bottom:1px solid var(--color-border);color:var(--color-text);cursor:pointer;font-size:.875rem;text-align:left;padding:.625rem .75rem;min-height:44px;transition:background .15s}.calendar-picker-item:last-child{border-bottom:none}.calendar-picker-item:active{background:var(--color-surface-hover)}.calendar-picker-divider{font-size:.6875rem;font-weight:600;text-transform:uppercase;color:var(--color-text-muted);padding:.375rem .75rem;border-bottom:1px solid var(--color-border);background:var(--color-surface-alt)}.calendar-picker-item-strength{display:flex;align-items:center;gap:.5rem}.calendar-picker-item-cardio{display:flex;align-items:center;gap:.5rem;color:var(--color-text)}.calendar-workout-link-cardio{color:var(--color-text)}.calendar-day-actions{display:flex;align-items:center;gap:.375rem}.calendar-flag-toggle{background:none;border:none;padding:.125rem;cursor:pointer;color:var(--color-text-muted);opacity:.7;transition:opacity .15s,color .15s;display:flex;align-items:center}.calendar-flag-active.calendar-flag-home{color:#4caf50;opacity:1}.calendar-flag-active.calendar-flag-elsewhere{color:#ff9800;opacity:1}.calendar-flag-active.calendar-flag-travel{color:#ff2d7b;opacity:1}.calendar-flag-active.calendar-flag-visitors{color:#bb86fc;opacity:1}.calendar-flag-active.calendar-flag-blocked{color:#ff1744;opacity:1}.calendar-toolbar{display:flex;gap:.5rem;padding:0 1rem .75rem}.calendar-toolbar-btn{display:flex;align-items:center;gap:.375rem;flex:1;justify-content:center;background:var(--color-surface);border:1px solid rgba(255,255,255,.08);color:var(--color-primary);cursor:pointer;font-size:.8125rem;font-weight:600;padding:.5rem .75rem;border-radius:8px;transition:background .15s,border-color .15s}.calendar-toolbar-btn:active{background:#00e5ff14;border-color:var(--color-primary)}.calendar-toolbar-btn-active{color:var(--color-primary);border-color:var(--color-primary)}.calendar-load-more{display:flex;justify-content:center;margin-bottom:.75rem}.calendar-load-more-btn{background:none;border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;font-size:.8125rem;font-weight:500;padding:.5rem 1rem;border-radius:8px;transition:color .15s,border-color .15s}.calendar-load-more-btn:active{color:var(--color-primary);border-color:var(--color-primary)}.calendar-completed-bar{width:3px;align-self:stretch;min-height:24px;background:var(--color-completed);border-radius:2px;flex-shrink:0}.calendar-history-sessions{display:flex;flex-direction:column;gap:.25rem;margin-top:.25rem}.calendar-session-link{display:flex;align-items:center;gap:.25rem;background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:.75rem;font-weight:500;padding:.25rem .5rem;opacity:.8}.calendar-session-link:active{opacity:1}.session-detail{padding-bottom:2rem}.session-detail-header{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;margin-bottom:1rem;border-bottom:1px solid var(--color-border)}.session-detail-back{display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:.375rem;min-width:36px;min-height:36px;border-radius:8px}.session-detail-back:active{color:var(--color-primary)}.session-detail-title{flex:1;display:flex;flex-direction:column;gap:.125rem}.session-detail-name{font-size:1rem;font-weight:600}.session-detail-date{font-size:.75rem;color:var(--color-text-muted)}.session-detail-save{display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:.375rem;min-width:36px;min-height:36px;border-radius:8px;opacity:.4}.session-detail-save-active{color:var(--color-completed);opacity:1}.session-detail-save-active:active{background:#00e6761a}.session-detail-exercises{display:flex;flex-direction:column;gap:1.25rem}.session-detail-exercise{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:.75rem}.session-detail-exercise-name{font-size:.875rem;font-weight:600;color:var(--color-primary);margin-bottom:.5rem}.session-detail-sets{display:flex;flex-direction:column;gap:.25rem}.session-detail-set-header{display:flex;align-items:center;gap:.375rem;font-size:.6875rem;font-weight:600;text-transform:uppercase;color:var(--color-text-muted);padding:0 .25rem .25rem;border-bottom:1px solid var(--color-border)}.session-detail-set-row{display:flex;align-items:center;gap:.375rem;padding:.375rem .25rem;border-radius:4px}.session-detail-set-num{width:1.5rem;font-size:.75rem;color:var(--color-text-muted);text-align:center;flex-shrink:0}.session-detail-set-type{width:4.5rem;flex-shrink:0}.session-detail-set-type-input{width:4.5rem;background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);border-radius:4px;font-size:.75rem;padding:.25rem;cursor:pointer}.session-detail-set-weight{flex:1}.session-detail-set-weight-input{width:100%;background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);border-radius:4px;font-size:.8125rem;padding:.375rem;text-align:center}.session-detail-set-reps{width:3rem;flex-shrink:0}.session-detail-set-reps-input{width:3rem;background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);border-radius:4px;font-size:.8125rem;padding:.375rem;text-align:center}.session-detail-set-done{width:2rem;text-align:center;flex-shrink:0}.session-detail-set-check{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:none;border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:4px;cursor:pointer;flex-shrink:0}.session-detail-set-checked{background:#00e67626;border-color:var(--color-completed);color:var(--color-completed)}.session-detail-set-warmup{border-left:3px solid var(--color-warmup)}.session-detail-set-work{border-left:3px solid var(--color-work)}.session-detail-set-backoff{border-left:3px solid var(--color-backoff)}.session-detail-set-joker{border-left:3px solid var(--color-joker)}.calendar-push{margin:0 1rem 1rem;padding:1rem;background:var(--color-surface);border:1px solid rgba(255,255,255,.08);border-radius:10px}.calendar-push-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.calendar-push-header h3{margin:0;font-size:1rem;font-weight:600;color:var(--color-primary)}.calendar-push-close{background:none;border:none;color:#ffffff80;cursor:pointer;padding:.25rem}.calendar-push-section{margin-bottom:1rem}.calendar-push-label{display:block;font-size:.75rem;font-weight:600;color:#ffffff80;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.calendar-push-days{display:flex;flex-direction:column;gap:.375rem}.calendar-push-day-row{display:flex;align-items:center;gap:.75rem}.calendar-push-day-name{width:5.5rem;font-size:.875rem;color:#ffffffb3}.calendar-push-select,.calendar-push-input{flex:1;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#fff;padding:.5rem .625rem;font-size:.875rem;font-family:inherit}.calendar-push-select:focus,.calendar-push-input:focus{outline:none;border-color:var(--color-primary)}.calendar-push-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem 1rem;background:var(--color-primary);border:none;border-radius:8px;color:#000;font-size:.9375rem;font-weight:700;cursor:pointer;transition:opacity .15s}.calendar-push-btn:disabled{opacity:.4;cursor:not-allowed}.calendar-push-btn:not(:disabled):active{opacity:.85}.calendar-sync-description{font-size:.8125rem;color:#ffffff80;line-height:1.4;margin:0}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}.workout-editor{padding-bottom:2rem}.editor-section{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.25rem}.editor-field-inline{flex:1}.editor-field-label{font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--color-text-muted)}.editor-field-hint{font-weight:400;text-transform:none;color:var(--color-text-muted);opacity:.7}.editor-text-input{padding:.625rem .75rem;font-size:1rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text);width:100%}.editor-text-input::placeholder{color:var(--color-text-muted)}.editor-id-input{font-family:monospace;font-size:.875rem}.editor-select{padding:.5rem .75rem;font-size:.875rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text);min-height:40px;cursor:pointer}.editor-exercise{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:.75rem;margin-bottom:.75rem}.editor-exercise-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.editor-exercise-number{font-size:.8125rem;font-weight:600;color:var(--color-primary);text-transform:uppercase}.btn-remove-exercise{display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:.375rem;min-width:32px;min-height:32px;border-radius:6px}.btn-remove-exercise:active{color:var(--color-danger);background:#ff17441a}.editor-exercise-meta{display:flex;gap:.5rem;margin-bottom:.75rem}.editor-sets{display:flex;flex-direction:column;gap:.25rem}.editor-sets-header{display:flex;align-items:center;gap:.25rem;padding:0 .25rem .25rem;font-size:.625rem;font-weight:600;text-transform:uppercase;color:var(--color-text-muted)}.editor-set-row{display:flex;align-items:center;gap:.25rem;padding:.25rem;background:var(--color-bg);border-radius:6px}.editor-col-type{width:3.5rem}.editor-col-pct{width:3rem;text-align:center}.editor-col-basis{flex:1;min-width:4rem}.editor-col-reps,.editor-col-amrap{width:2rem;text-align:center}.editor-col-remove{width:1.75rem}.editor-set-type{width:3.5rem;font-size:.5625rem;min-height:28px;min-width:3.5rem}.editor-pct-input{width:3rem;padding:.25rem;text-align:center;font-size:.875rem;font-weight:600;border:1px solid var(--color-border);border-radius:4px;background:var(--color-surface);color:var(--color-text);-moz-appearance:textfield}.editor-pct-input::-webkit-outer-spin-button,.editor-pct-input::-webkit-inner-spin-button{-webkit-appearance:none}.editor-basis-group{flex:1;display:flex;flex-direction:column;gap:.125rem;min-width:4rem}.editor-basis-select{font-size:.6875rem;padding:.25rem;border:1px solid var(--color-border);border-radius:4px;background:var(--color-surface);color:var(--color-text);min-height:28px;cursor:pointer}.editor-basis-extra{font-size:.6875rem;padding:.125rem .25rem;border:1px solid var(--color-border);border-radius:4px;background:var(--color-surface);color:var(--color-primary);min-height:24px;cursor:pointer}.editor-basis-extra-input{width:100%;font-size:.75rem;padding:.125rem .25rem;border:1px solid var(--color-border);border-radius:4px;background:var(--color-surface);color:var(--color-primary);-moz-appearance:textfield}.editor-basis-extra-input::-webkit-outer-spin-button,.editor-basis-extra-input::-webkit-inner-spin-button{-webkit-appearance:none}.editor-rep-input{width:2rem;padding:.2rem;text-align:center;font-size:.8rem;font-weight:600;border:1px solid var(--color-border);border-radius:4px;background:var(--color-surface);color:var(--color-text);-moz-appearance:textfield}.editor-rep-input::-webkit-outer-spin-button,.editor-rep-input::-webkit-inner-spin-button{-webkit-appearance:none}.editor-amrap-check{display:flex;align-items:center;justify-content:center;width:2rem}.editor-amrap-check input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--color-primary);cursor:pointer}.btn-remove-set{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;background:none;border:none;color:var(--color-text-muted);cursor:pointer;border-radius:4px}.btn-remove-set:active{color:var(--color-danger)}.btn-add-exercise{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;min-height:48px;padding:.75rem;font-size:1rem;font-weight:600;color:var(--color-primary);background:transparent;border:1px dashed var(--color-primary);border-radius:var(--radius);cursor:pointer;margin-bottom:1rem}.btn-add-exercise:active{background:#00e5ff1a}.editor-errors{margin-top:.75rem}.editor-error{color:var(--color-danger);font-size:.8125rem;background:#ff17441a;padding:.375rem .75rem;border-radius:6px;margin-bottom:.25rem}.editor-delete-section{margin-top:2rem;border-top:1px solid var(--color-border);padding-top:1.5rem}.btn-delete-workout{display:flex;align-items:center;gap:.5rem;width:100%;justify-content:center;background:none;border:1px solid var(--color-danger);color:var(--color-danger);cursor:pointer;font-size:.875rem;font-weight:600;padding:.625rem 1rem;border-radius:8px;transition:background .15s,color .15s}.btn-delete-workout:active{background:var(--color-danger);color:#fff}.editor-delete-confirm{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.editor-delete-confirm-label{flex:1;color:var(--color-danger);font-size:.875rem;font-weight:600}.btn-delete-workout-confirm{background:var(--color-danger);border:none;color:#fff;cursor:pointer;font-size:.8125rem;font-weight:600;padding:.5rem 1rem;border-radius:6px;transition:opacity .15s}.btn-delete-workout-confirm:active{opacity:.8}.btn-delete-workout-cancel{background:none;border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;font-size:.8125rem;font-weight:500;padding:.5rem 1rem;border-radius:6px}.workout-card-wrapper{display:flex;align-items:stretch;gap:0;background:var(--color-bg);border:1px solid var(--color-border-glow);border-radius:var(--radius);transition:background .15s}.workout-more-select{display:none}.btn-more-toggle{display:flex;align-items:center;justify-content:center;gap:.375rem;width:100%;padding:.625rem 1rem;font-size:.875rem;font-weight:500;background:none;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer}.btn-more-toggle:active{background:var(--color-surface)}.more-chevron{transition:transform .2s}.more-chevron-open{transform:rotate(180deg)}.btn-fav-workout{display:flex;align-items:center;justify-content:center;background:none;border:none;border-right:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;padding:0 .625rem;min-width:40px;border-radius:var(--radius) 0 0 var(--radius)}.btn-fav-workout:active,.btn-fav-active{color:var(--color-accent)}.workout-card-wrapper .workout-card{flex:1;border:none;border-radius:0}.workout-card-wrapper .workout-card:first-child{border-radius:var(--radius) 0 0 var(--radius)}.workout-card-wrapper .workout-card:last-child{border-top-right-radius:var(--radius);border-bottom-right-radius:var(--radius)}.workout-card-wrapper-done{border-color:var(--color-completed)}.btn-edit-workout{display:flex;align-items:center;justify-content:center;background:none;border:none;border-left:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;padding:0 .75rem;min-width:44px;border-radius:0 var(--radius) var(--radius) 0}.btn-edit-workout:active{color:var(--color-primary);background:#00e5ff1a}.workout-menu-container{position:relative;display:flex;align-items:center}.workout-dropdown-menu{position:absolute;top:100%;right:0;z-index:100;min-width:140px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:0 4px 16px #00000080;padding:.25rem 0;margin-top:2px}.workout-dropdown-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.6rem .75rem;background:none;border:none;color:var(--color-text);font-size:.85rem;cursor:pointer;text-align:left}.workout-dropdown-item:hover{background:#00e5ff0d}.workout-dropdown-item:active{background:#00e5ff1a;color:var(--color-primary)}.workout-dropdown-item-danger{color:var(--color-accent)}.workout-dropdown-item-danger:hover{background:#ff2d7b0d}.workout-dropdown-item-danger:active{background:#ff2d7b1a;color:var(--color-accent)}.btn-new-workout{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;margin-top:.75rem;padding:.75rem 1rem;font-size:1rem;font-weight:600;color:var(--color-primary);background:transparent;border:1px dashed var(--color-primary);border-radius:var(--radius);cursor:pointer;min-height:48px}.btn-new-workout:active{background:#00e5ff1a}.cardio-section{margin-top:1.5rem}.btn-cardio-toggle{display:flex;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;font-size:1rem;font-weight:600;color:var(--color-text-muted, #aaa);background:transparent;border:none;cursor:pointer;min-height:48px}.btn-cardio-toggle:active{color:var(--color-primary)}.cardio-list{display:flex;flex-direction:column;gap:.25rem;padding:0 .5rem}.cardio-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:var(--radius);background:var(--color-surface);min-height:40px}.cardio-name{flex:1;font-size:.9rem;color:var(--color-text, #eee)}.btn-cardio-action{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;color:var(--color-text-muted, #888);background:transparent;border:none;border-radius:4px;cursor:pointer;flex-shrink:0}.btn-cardio-action:active{background:#ffffff1a}.btn-cardio-confirm{color:var(--color-primary)}.btn-cardio-cancel{color:var(--color-text-muted, #888)}.btn-cardio-delete{color:var(--color-accent)}.cardio-edit-row{display:flex;align-items:center;gap:.5rem;width:100%}.cardio-edit-input{flex:1;padding:.4rem .6rem;font-size:.9rem;color:var(--color-text, #eee);background:var(--color-bg, #000);border:1px solid var(--color-primary);border-radius:4px;outline:none;min-width:0}.cardio-add-row{padding:.5rem .75rem;border-radius:var(--radius);background:var(--color-surface)}.btn-new-cardio{display:flex;align-items:center;gap:.4rem;width:100%;margin-top:.25rem;padding:.5rem .75rem;font-size:.85rem;font-weight:600;color:var(--color-primary);background:transparent;border:1px dashed rgba(0,229,255,.3);border-radius:var(--radius);cursor:pointer;min-height:36px}.btn-new-cardio:active{background:#00e5ff1a}.exercise-library{padding:1rem;max-width:600px;margin:0 auto}.exercise-library-title{color:var(--color-primary);font-size:1.25rem;font-weight:600;margin:0 0 1rem}.exercise-list{display:flex;flex-direction:column;gap:.75rem}.exercise-card-wrapper{display:flex;align-items:stretch;gap:0;background:var(--color-bg);border:1px solid var(--color-border-glow);border-radius:var(--radius);transition:background .15s}.exercise-library .exercise-card{display:flex;align-items:center;gap:1rem;padding:.5rem 1rem;background:var(--color-bg);border:none;border-radius:0;color:var(--color-text);text-align:left;cursor:pointer;font-size:1rem;transition:background .15s;min-height:64px;flex:1;width:0}.exercise-card-wrapper .exercise-card:first-child{border-radius:var(--radius) 0 0 var(--radius)}.exercise-library .exercise-card:active{background:var(--color-surface-hover)}.exercise-card-info{display:flex;flex-direction:column;gap:.15rem;min-width:0}.exercise-library .exercise-name{font-weight:500}.exercise-detail{font-size:.8rem;color:var(--color-text-muted)}.btn-edit-exercise{display:flex;align-items:center;justify-content:center;background:none;border:none;border-left:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;padding:0 .625rem;min-width:40px;border-radius:0 var(--radius) var(--radius) 0;transition:color .15s;-webkit-tap-highlight-color:transparent}.btn-edit-exercise:active{color:var(--color-primary)}.exercise-editor{padding:0 1rem 2rem;max-width:600px;margin:0 auto}.exercise-editor-form{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.editor-field{display:flex;flex-direction:column;gap:.25rem}.editor-label{font-size:.85rem;color:var(--color-text-muted);font-weight:500}.editor-input{padding:.6rem .75rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);font-size:1rem;outline:none;transition:border-color .15s}.editor-input:focus{border-color:var(--color-primary)}.editor-input:disabled{opacity:.5}.editor-select{padding:.6rem .75rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);font-size:1rem;outline:none;transition:border-color .15s;cursor:pointer}.editor-select:focus{border-color:var(--color-primary)}.editor-error{font-size:.8rem;color:var(--color-danger)}.editor-hint{font-size:.9rem;color:var(--color-text-muted);margin:0}.editor-type-toggle{display:flex;gap:.5rem}.editor-type-btn{flex:1;padding:.5rem 1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-muted);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .15s}.editor-type-active{border-color:var(--color-primary);color:var(--color-primary);background:#00e5ff14}.progress-view{padding:0 .5rem 2rem}.progress-title{color:var(--color-accent);font-size:1.25rem;font-weight:700;margin:.75rem 0;letter-spacing:.03em}.progress-empty{color:var(--color-text-muted);font-size:.9rem;text-align:center;padding:2rem 1rem}.progress-controls{margin-bottom:.75rem}.progress-select{width:100%;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text);font-size:.9rem;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center}.progress-select:focus{outline:none;border-color:var(--color-primary)}.progress-toggle-group{display:flex;gap:.25rem;margin-bottom:.75rem}.progress-toggle{flex:1;padding:.4rem .25rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text-muted);font-size:.8rem;cursor:pointer;transition:all .15s;text-align:center}.progress-toggle.active{border-color:var(--color-primary);color:var(--color-primary);background:#00e5ff14}.progress-toggle.progress-toggle-sm{flex:0 0 auto;padding:.3rem .5rem;font-size:.7rem;margin-left:.25rem}.progress-chart-container{position:relative;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);padding:.5rem .25rem .25rem;margin-top:.5rem}.progress-chart{width:100%;height:auto;display:block}.progress-grid-line{stroke:var(--color-border);stroke-width:.5}.progress-axis-label{fill:var(--color-text-muted);font-size:9px;font-family:inherit}.progress-line{fill:none;stroke:var(--color-primary);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.progress-area{fill:#00e5ff14}.progress-dot{fill:var(--color-primary)}.progress-unit{position:absolute;top:.4rem;right:.5rem;font-size:.7rem;color:var(--color-text-muted)}.progress-big4{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.25rem}.progress-big4-item{min-width:0}.progress-big4-label{color:var(--color-accent);font-size:.85rem;font-weight:600;margin:0 0 .25rem;letter-spacing:.02em}.progress-big4-item .progress-chart-container{margin-top:0}.progress-big4-item .progress-empty{padding:1rem .5rem;font-size:.8rem}.progress-big4-header{display:flex;align-items:center;gap:6px}.progress-goal-btn{background:none;border:none;color:#fff6;cursor:pointer;padding:2px;display:flex;align-items:center;transition:color .15s}.progress-goal-btn:hover{color:var(--color-primary)}.progress-goal-input-row{display:flex;gap:6px;margin-bottom:6px}.progress-goal-input{flex:1;background:#ffffff0f;border:1px solid rgba(255,255,255,.15);border-radius:4px;color:#fff;padding:4px 8px;font-size:.8rem;outline:none}.progress-goal-input:focus{border-color:var(--color-primary)}.progress-goal-save{background:var(--color-primary);color:#000;border:none;border-radius:4px;padding:4px 10px;font-size:.8rem;font-weight:600;cursor:pointer}.progress-goal-line{fill:none;stroke:#fff6;stroke-width:1.5;stroke-dasharray:6 4}.settings-view{padding:1rem;max-width:600px;margin:0 auto}.settings-title{color:var(--color-primary);font-size:1.5rem;margin:0 0 1.5rem;font-weight:700}.settings-section{border:1px solid var(--color-border);border-radius:var(--radius);padding:1.25rem;background:var(--color-surface)}.settings-section-title{display:flex;align-items:center;gap:.5rem;color:var(--color-text);font-size:1.1rem;margin:0 0 1rem;font-weight:600}.settings-instructions{color:var(--color-text-muted);font-size:.875rem;line-height:1.5;margin-bottom:1rem}.settings-instructions p{margin:0 0 .5rem}.settings-instructions-steps{color:var(--color-text);font-size:.8125rem}.settings-warning{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem;border-radius:var(--radius);background:#ffea0014;border:1px solid rgba(255,234,0,.2);color:#ffea00;font-size:.8125rem;line-height:1.4;margin-bottom:1rem}.settings-warning svg{flex-shrink:0;margin-top:1px}.settings-file-picker{margin-bottom:1rem}.settings-file-label{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.9375rem}.settings-file-input{display:none}.settings-error{color:var(--color-danger);font-size:.875rem;margin:.75rem 0}.settings-preview{margin-top:1rem;padding:1rem;border:1px solid var(--color-border-glow);border-radius:var(--radius);background:var(--color-bg)}.settings-preview-title{color:var(--color-primary);font-size:1rem;margin:0 0 .75rem;font-weight:600}.settings-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1rem}.settings-preview-item{display:flex;flex-direction:column;gap:.2rem}.settings-preview-label{font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.settings-preview-value{font-size:.9375rem;color:var(--color-text);font-weight:500}.settings-preview-actions{display:flex;gap:.75rem;margin-top:1rem}.settings-preview-actions .btn-primary{flex:1}.btn-secondary{padding:.75rem 1.5rem;border:1px solid var(--color-border);border-radius:var(--radius);background:transparent;color:var(--color-text);cursor:pointer;font-size:.9375rem;min-height:48px}.btn-secondary:active{opacity:.85}.settings-importing{display:flex;align-items:center;gap:.75rem;padding:1rem;color:var(--color-text-muted);font-size:.9375rem}.settings-spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.settings-done{margin-top:1rem}.settings-done-message{display:flex;align-items:center;gap:.5rem;color:var(--color-work);font-size:.9375rem;margin-bottom:1rem}.settings-section-disconnect{margin-top:1.5rem}.settings-disconnect-description{color:var(--color-text-muted);font-size:.875rem;line-height:1.5;margin:0 0 1rem}.settings-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0;cursor:pointer;border-bottom:1px solid var(--color-border);position:relative}.settings-toggle-row:last-of-type{border-bottom:none}.settings-toggle-label{display:flex;flex-direction:column;gap:.15rem}.settings-toggle-name{color:var(--color-text);font-size:.9375rem;font-weight:500}.settings-toggle-description{color:var(--color-text-muted);font-size:.75rem}.settings-toggle-input{position:absolute;opacity:0;width:0;height:0}.settings-toggle-switch{position:relative;flex-shrink:0;width:44px;height:24px;background:var(--color-border);border-radius:12px;transition:background .2s}.settings-toggle-switch:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background:var(--color-text-muted);border-radius:50%;transition:transform .2s,background .2s}.settings-toggle-input:checked+.settings-toggle-switch{background:var(--color-primary)}.settings-toggle-input:checked+.settings-toggle-switch:after{transform:translate(20px);background:#000}.btn-danger{padding:.75rem 1.5rem;border:1px solid var(--color-accent);border-radius:var(--radius);background:transparent;color:var(--color-accent);cursor:pointer;font-size:.9375rem;font-weight:600;min-height:48px}.btn-danger:active{background:var(--color-accent);color:#000}.strava-view{padding:16px}.strava-title{color:var(--color-primary);font-size:1.5rem;margin:0 0 16px}.strava-empty{color:#ffffff80;font-size:.9rem;text-align:center;padding:40px 16px}.strava-range-group{display:flex;gap:4px;margin-bottom:12px}.strava-range-btn{flex:1;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:#fff9;padding:6px 4px;border-radius:6px;font-size:.8rem;cursor:pointer;transition:all .15s}.strava-range-btn.active{background:var(--color-primary);color:#000;border-color:var(--color-primary);font-weight:600}.strava-agg-group{display:flex;gap:4px;margin-bottom:12px}.strava-agg-btn{flex:1;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:#fff9;padding:5px 4px;border-radius:6px;font-size:.75rem;cursor:pointer;transition:all .15s}.strava-agg-btn.active{background:var(--color-accent);color:#fff;border-color:var(--color-accent);font-weight:600}.strava-filter{margin-bottom:12px}.strava-filter-toggle{display:flex;align-items:center;gap:6px;background:none;border:1px solid rgba(255,255,255,.15);color:#ffffffb3;padding:6px 12px;border-radius:6px;font-size:.8rem;cursor:pointer}.strava-filter-options{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.strava-filter-chip{background:#ffffff0f;border:1px solid rgba(255,255,255,.15);color:#ffffff80;padding:4px 10px;border-radius:12px;font-size:.75rem;cursor:pointer;transition:all .15s}.strava-filter-chip.active{background:#00e5ff26;border-color:var(--color-primary);color:var(--color-primary)}.strava-section-title{color:#fff9;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;margin:16px 0 8px}.strava-chart-card{background:var(--color-surface);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);padding:12px;margin-bottom:16px}.strava-chart-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.strava-chart-label{color:#fff;font-size:.95rem;margin:0;display:flex;align-items:baseline;gap:8px}.strava-chart-total{color:var(--color-primary);font-size:.8rem;font-weight:400}.strava-goal-btn{background:none;border:none;color:#fff6;cursor:pointer;padding:4px;border-radius:4px;transition:color .15s}.strava-goal-btn:hover{color:var(--color-primary)}.strava-goal-input-row{display:flex;gap:8px;margin-bottom:8px}.strava-goal-input{flex:1;background:#ffffff0f;border:1px solid rgba(255,255,255,.15);color:#fff;padding:6px 10px;border-radius:6px;font-size:.8rem;outline:none}.strava-goal-input:focus{border-color:var(--color-primary)}.strava-goal-save{background:var(--color-primary);color:#000;border:none;padding:6px 14px;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer}.strava-chart-container{width:100%;overflow:hidden}.strava-chart-svg{width:100%;height:auto;display:block}.strava-grid-line{stroke:#ffffff0f;stroke-width:.5}.strava-axis-label{fill:#fff6;font-size:8px;font-family:inherit}.strava-axis-right{fill:#ff2d7b99}.strava-bar{fill:var(--color-primary);opacity:.8}.strava-cumulative-line{fill:none;stroke:var(--color-accent);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.strava-cumulative-dot{fill:var(--color-accent)}.strava-cumulative-dot.active{fill:var(--color-accent);filter:drop-shadow(0 0 4px var(--color-accent))}.strava-goal-line{fill:none;stroke:#fff6;stroke-width:1.5;stroke-dasharray:6 4}.strava-bar.active{opacity:1;filter:drop-shadow(0 0 3px var(--color-primary))}.chart-crosshair{stroke:#ffffff4d;stroke-width:.75;stroke-dasharray:3 2;pointer-events:none}.progress-chart-container,.strava-chart-container{position:relative;touch-action:pan-y}.chart-tooltip{position:absolute;top:0;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;background:#141414eb;border:1px solid rgba(255,255,255,.15);border-radius:6px;padding:4px 8px;pointer-events:none;white-space:nowrap;z-index:10}.chart-tooltip-value{color:var(--color-primary);font-size:.8rem;font-weight:600;line-height:1.3}.chart-tooltip-secondary{color:var(--color-accent);font-size:.7rem;font-weight:500;line-height:1.3}.chart-tooltip-date{color:#ffffff80;font-size:.65rem;line-height:1.3}.progress-dot.active{fill:#fff;filter:drop-shadow(0 0 4px var(--color-primary))}
