@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";:root{--color-bg: #09090b;--color-surface: #18181b;--color-surface-2: #27272a;--color-surface-3: #3f3f46;--color-text: #fafafa;--color-text-secondary: #a1a1aa;--color-text-muted: #6b6b7a;--accent: #f97316;--accent-hover: #ea580c;--accent-active: #c2410c;--accent-soft: rgba(249, 115, 22, .08);--accent-soft-2: rgba(249, 115, 22, .12);--accent-soft-3: rgba(249, 115, 22, .18);--accent-border: rgba(249, 115, 22, .25);--accent-glow: rgba(249, 115, 22, .2);--accent-glow-strong: rgba(249, 115, 22, .35);--accent-gradient: linear-gradient(135deg, #f97316, #ea580c);--accent-warm: #ef4444;--accent-warm-glow: rgba(239, 68, 68, .2);--color-success: #22c55e;--color-success-glow: rgba(34, 197, 94, .2);--color-danger: #ef4444;--color-danger-soft: rgba(239, 68, 68, .12);--color-danger-border: rgba(239, 68, 68, .25);--primary: var(--accent);--primary-hover: var(--accent-hover);--primary-glow: var(--accent-glow);--bg: var(--color-bg);--surface: var(--color-surface);--surface-hover: var(--color-surface-2);--border: var(--color-surface-2);--border-light: var(--color-surface-3);--text: var(--color-text);--text-secondary: var(--color-text-secondary);--text-muted: var(--color-text-muted);--success: var(--color-success);--success-glow: var(--color-success-glow);--warning: var(--accent);--overlay-bg: rgba(0, 0, 0, .75);--radius-sm: 8px;--radius: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;overflow:hidden;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}html,body{height:100%;width:100%;overflow:hidden;position:fixed;top:0;left:0;overscroll-behavior:none;-webkit-overflow-scrolling:auto}body{-webkit-overflow-scrolling:auto}@keyframes pulse-glow{0%,to{box-shadow:0 0 30px var(--accent-glow),0 4px 20px var(--accent-glow-strong)}50%{box-shadow:0 0 50px var(--accent-glow-strong),0 4px 30px var(--accent-glow-strong)}}@keyframes subtle-breathe{0%,to{opacity:1}50%{opacity:.85}}@keyframes spin{to{transform:rotate(360deg)}}.spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.touchable{transition:transform .1s ease,opacity .1s ease}.touchable:active{transform:scale(.97);opacity:.9}.safe-top{padding-top:env(safe-area-inset-top,0px)}.safe-bottom{padding-bottom:env(safe-area-inset-bottom,0px)}.safe-left{padding-left:env(safe-area-inset-left,0px)}.safe-right{padding-right:env(safe-area-inset-right,0px)}.glass{background:#18181bcc;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.gradient-text{background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.app-root{display:flex;flex-direction:column;height:100%;background:var(--bg);overflow:hidden}.screens-container{flex:1;position:relative;overflow:hidden;z-index:1}.screen{display:none;flex-direction:column;height:100%;width:100%}.screen.active{display:flex;position:relative;z-index:1}.panel{position:fixed;top:0;left:0;bottom:0;width:85%;max-width:400px;background:var(--bg);z-index:1000;display:flex;flex-direction:column;transform:translate(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);border-right:1px solid var(--border);padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}.panel.open{transform:translate(0)}.panel-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:999;opacity:0;pointer-events:none;transition:opacity .3s ease}.panel-backdrop.open{opacity:1;pointer-events:auto}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:none;justify-content:center;align-items:center}.overlay.open{display:flex}.overlay-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:0}.overlay-content{position:relative;z-index:1;isolation:isolate}.overlay-slide-up{align-items:flex-end}.overlay-slide-up .overlay-content{width:100%;max-width:500px;margin:0 auto}.top-bar{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;padding-top:calc(env(safe-area-inset-top,0px) + 8px);min-height:52px;flex-shrink:0}.screen-title{font-size:.95rem;font-weight:600;flex:1;text-align:center}.icon-btn{width:40px;height:40px;border:none;background:transparent;color:var(--text);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease;flex-shrink:0}.icon-btn:active{background:#ffffff14}.avatar-btn{width:36px;height:36px;border-radius:50%;border:none;background:var(--accent-gradient);color:#fff;font-size:.85rem;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;text-transform:uppercase}.login-screen{justify-content:center;align-items:center;padding:32px 24px}.login-content{width:100%;max-width:340px;display:flex;flex-direction:column;align-items:center}.login-header{text-align:center;margin-bottom:40px}.login-title{font-size:2.8rem;font-weight:900;letter-spacing:-2px;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;margin-bottom:4px}.login-subtitle{font-size:.9rem;color:var(--text-muted);font-weight:400;letter-spacing:2px;text-transform:uppercase}.login-form{width:100%}.input-group{margin-bottom:12px}.input-group input{width:100%;padding:14px 18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:1rem;font-family:inherit;min-height:48px;transition:border-color .2s ease,box-shadow .2s ease}.input-group input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft-3)}.input-group input::placeholder{color:var(--text-muted)}.btn-primary{width:100%;padding:14px;background:var(--accent-gradient);color:#fff;border:none;border-radius:var(--radius);font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .15s ease,transform .1s ease;min-height:48px;display:flex;align-items:center;justify-content:center;font-family:inherit;letter-spacing:.5px}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-primary:active:not(:disabled){transform:scale(.98)}.login-error{color:var(--color-danger);font-size:.85rem;margin-bottom:12px;text-align:center}.login-switch{margin-top:24px;color:var(--text-muted);font-size:.875rem}.link-btn{background:none;border:none;color:var(--accent);font-weight:600;cursor:pointer;font-size:inherit;font-family:inherit;padding:0 4px}.webapp-hint{margin-top:32px;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:center}.webapp-hint-title{font-size:.875rem;font-weight:600;color:var(--text);margin-bottom:6px}.webapp-hint-text{font-size:.75rem;line-height:1.5;color:var(--text-muted)}.spinner-small{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .6s linear infinite}.dashboard-screen{justify-content:center;align-items:stretch;padding:8px 20px 28px;height:100%;gap:0}.dash-scores{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:100%;padding:24px 20px;margin-top:8px;background:linear-gradient(145deg,#18181b99,#121214cc);border:1px solid rgba(80,80,90,.5);border-radius:20px;position:relative;overflow:hidden}.dash-scores:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:60%;height:1px;background:linear-gradient(90deg,transparent,rgba(249,115,22,.15),transparent)}.score-block{display:flex;flex-direction:column;align-items:center;flex:1;position:relative;z-index:1}.score-label{font-size:.65rem;font-weight:600;letter-spacing:3px;color:var(--text-muted);margin-bottom:10px;text-transform:uppercase}.score-number-wrap{position:relative;display:flex;align-items:center;justify-content:center;margin:6px 0}.score-glow{position:absolute;width:130px;height:130px;border-radius:50%;background:radial-gradient(circle,var(--accent-soft-3) 0%,transparent 70%);pointer-events:none}.score-glow.friend-glow{background:radial-gradient(circle,var(--accent-soft-2) 0%,transparent 70%)}.score-number{font-size:3.8rem;font-weight:800;line-height:1;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative;z-index:1;font-variant-numeric:tabular-nums}.score-sub{font-size:.6rem;color:var(--text-muted);letter-spacing:1.5px;text-transform:uppercase;margin-top:4px}.score-divider{width:1px;height:90px;background:linear-gradient(180deg,transparent,rgba(80,80,90,.6),transparent);flex-shrink:0;margin:0 8px}@keyframes flip-out{0%{transform:rotateY(0);opacity:1}to{transform:rotateY(90deg);opacity:0}}@keyframes flip-in{0%{transform:rotateY(-90deg);opacity:0}to{transform:rotateY(0);opacity:1}}.anim-flip-out{animation:flip-out .4s ease-in forwards}.anim-flip-in{animation:flip-in .4s ease-out forwards}.score-block:has(.anim-flip-out),.score-block:has(.anim-flip-in){perspective:600px}.score-block.friend-score-block{cursor:pointer}.score-block.friend-score-block:active{opacity:.85}.add-friend-circle{width:130px;height:130px;border-radius:50%;border:1.5px dashed rgba(63,63,70,.5);background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;gap:6px;transition:border-color .2s ease,background .2s ease}.add-friend-circle:active{border-color:var(--warning);background:#f973160d}.add-friend-icon{font-size:2.2rem;font-weight:200;color:var(--text-muted);line-height:1}.add-friend-label{font-size:.55rem;color:var(--text-muted);letter-spacing:1.5px;text-transform:uppercase}.dash-motivation-outside{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:100%;padding:12px 24px;margin-top:8px}.dash-motivation-outside .dash-motivation-text{font-size:1.15rem;font-weight:700;letter-spacing:-.3px;color:#c0c0c8;text-align:center;line-height:1.4;opacity:.9}.weight-section{flex:1;display:flex;flex-direction:column;width:100%;margin-top:16px;background:linear-gradient(145deg,#18181b66,#12121499);border:1px solid rgba(80,80,90,.4);border-radius:16px;position:relative;overflow:hidden;min-height:180px}.weight-chart-container{flex:1;position:relative;min-height:140px}.weight-chart-container canvas{display:block;width:100%;height:100%}.weight-range-btn{position:absolute;top:2px;left:8px;background:#50505a80;border:1px solid rgba(80,80,90,.3);border-radius:6px;color:var(--text-muted);font-size:.6rem;font-weight:500;letter-spacing:.5px;text-transform:uppercase;padding:3px 8px;cursor:pointer;z-index:10;transition:background .15s ease}.weight-range-btn:active{background:#50505acc}.weight-current-display{position:absolute;top:4px;right:12px;color:#c0c0c8;font-size:1.4rem;font-weight:800;z-index:10;font-variant-numeric:tabular-nums;transition:font-weight .2s ease}.weight-current-display.hovered{font-weight:400}.weight-point-label{position:absolute;background:#18181be6;border:1px solid rgba(80,80,90,.4);border-radius:4px;color:var(--text-secondary);font-size:.65rem;font-weight:500;padding:2px 6px;pointer-events:none;z-index:15;white-space:nowrap}.weight-plus-btn{position:absolute;bottom:8px;right:8px;width:36px;height:36px;border-radius:50%;border:none;background:var(--accent-gradient);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;box-shadow:0 2px 8px var(--accent-glow);transition:transform .1s ease}.weight-plus-btn:active{transform:scale(.92)}.weight-plus-btn.has-entry{background:transparent;border:1.5px solid var(--accent);color:var(--accent);box-shadow:none}.weight-plus-btn.has-entry:active{background:var(--accent-soft);color:var(--accent-hover)}.weight-tracker-label{position:absolute;bottom:8px;left:12px;font-size:.6rem;color:var(--text-muted);letter-spacing:1.5px;text-transform:uppercase;z-index:10}.weight-input-area{padding:16px 0 8px}.weight-picker-control{display:flex;align-items:center;justify-content:center;gap:16px}.weight-value-wrap{display:flex;align-items:center;gap:6px}.weight-value-input{width:100px;font-size:2.5rem;font-weight:800;color:var(--text);background:var(--bg);border:1px solid var(--primary);border-radius:var(--radius-sm);text-align:center;padding:8px 4px;font-family:inherit}.weight-value-input:focus{outline:none}.weight-unit{font-size:1.2rem;font-weight:600;color:var(--text-muted)}.dash-action{display:flex;justify-content:center;padding-top:24px;flex-shrink:0}.big-action-btn{width:180px;height:180px;border-radius:50%;border:none;background:var(--accent-gradient);color:#fff;font-size:.85rem;font-weight:700;letter-spacing:2px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .15s ease,box-shadow .2s ease;text-transform:uppercase;box-shadow:0 0 40px var(--accent-glow),0 4px 24px var(--accent-glow-strong),inset 0 1px #ffffff1a;position:relative;overflow:hidden}.big-action-btn:before{content:"";position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(180deg,rgba(255,255,255,.08) 0%,transparent 100%);border-radius:50% 50% 0 0;pointer-events:none}.big-action-btn.resume{background:linear-gradient(135deg,#f97316,#ea580c);box-shadow:0 0 40px var(--accent-glow),0 4px 24px var(--accent-glow-strong),inset 0 1px #ffffff1a}.big-action-btn:active{transform:scale(.95);box-shadow:0 0 20px var(--accent-glow),0 2px 12px var(--accent-glow-strong)}.big-action-btn.small{width:140px;height:140px;font-size:.75rem}.big-action-btn.finish{background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 0 40px #22c55e33,0 4px 24px #22c55e4d,inset 0 1px #ffffff1a}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.panel-title{font-size:1.1rem;font-weight:700}.panel-body{flex:1;overflow-y:visible;overscroll-behavior:none;padding:16px}.panel-empty{color:var(--text-muted);font-size:.875rem;text-align:center;padding:32px 16px}.panel-footer{padding:12px 16px 20px;border-top:1px solid var(--border);flex-shrink:0}.panel-footer .btn-primary{width:100%}.day-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:0;margin-bottom:8px;transition:border-color .2s ease,box-shadow .2s ease,opacity .2s ease;cursor:grab;-webkit-user-select:none;user-select:none;overflow:hidden}.day-card:active{cursor:grabbing}.day-card.dragging{opacity:.4}.day-card-header{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;cursor:pointer;transition:background .15s ease}.day-card-header:active{background:var(--accent-soft)}.day-card-title-wrap{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.day-header-right{display:flex;align-items:center;gap:4px;flex-shrink:0}.day-drag-handle{display:flex;align-items:center;justify-content:center;color:var(--text-muted);cursor:grab;flex-shrink:0;padding:4px;border-radius:4px;transition:color .15s ease,background .15s ease;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none}.day-drag-handle:active{cursor:grabbing;color:var(--accent);background:var(--accent-soft)}.day-expand-icon{display:flex;align-items:center;justify-content:center;color:var(--text-muted);flex-shrink:0;padding:4px}.day-card-title{font-size:.85rem;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--text-secondary);display:flex;align-items:center;gap:4px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day-number-badge{color:var(--accent);font-weight:700;flex-shrink:0}.day-card-title.touchable{cursor:pointer;padding:2px 6px;margin:-2px -6px;border-radius:var(--radius-sm);transition:background .15s ease}.day-card-title.touchable:active{background:var(--accent-soft)}.day-name-edit{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.day-name-edit .day-number-badge{flex-shrink:0}.day-name-input{flex:1;min-width:0;padding:4px 8px;background:var(--surface-2);border:1px solid var(--accent-border);border-radius:var(--radius-sm);color:var(--text);font-size:.85rem;font-weight:600;letter-spacing:1px;text-transform:uppercase;font-family:inherit;min-height:32px}.day-name-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft-3)}.day-name-save,.day-name-cancel{width:28px;height:28px;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;color:var(--text-muted)}.day-name-save{background:var(--accent-soft-2);color:var(--accent)}.day-name-save:active{background:var(--accent-soft-3)}.day-name-cancel{background:transparent}.day-name-cancel:active{background:var(--color-danger-soft);color:var(--color-danger)}.day-card.collapsed .day-card-body{display:none}.day-card-body{padding:0 14px 14px}.add-day-inline{display:flex;align-items:center;gap:8px;margin-top:8px}.add-day-input{flex:1;padding:10px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:.9rem;font-family:inherit;min-height:44px}.add-day-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft-3)}.add-day-input::placeholder{color:var(--text-muted)}.add-day-confirm,.add-day-cancel{width:44px;height:44px;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.add-day-confirm{background:var(--accent-gradient);color:#fff}.add-day-confirm:active{opacity:.85}.add-day-cancel{background:var(--surface-2);color:var(--text-muted)}.add-day-cancel:active{background:var(--color-danger-soft);color:var(--color-danger)}.day-delete-btn{width:28px;height:28px;border:none;background:transparent;color:var(--text-muted);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.day-delete-btn:active{color:var(--accent);background:var(--accent-soft)}.day-exercises{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.exercise-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;background:var(--accent-soft-2);border:1px solid var(--accent-border);border-radius:var(--radius-full);font-size:.78rem;color:var(--text);cursor:pointer;transition:opacity .15s ease}.exercise-pill:active{opacity:.7}.exercise-pill-remove{font-size:1rem;line-height:1;color:var(--primary);font-weight:600}.add-exercise-btn{width:100%;padding:10px;background:transparent;border:1px dashed var(--border-light);border-radius:var(--radius-sm);color:var(--text-muted);font-size:.82rem;cursor:pointer;font-family:inherit;transition:border-color .15s ease,color .15s ease}.add-exercise-btn:active{border-color:var(--primary);color:var(--primary)}.exercise-dropdown{margin-top:8px;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.exercise-dropdown-item{display:block;width:100%;padding:10px 14px;background:var(--surface);border:none;border-bottom:1px solid var(--border);color:var(--text);font-size:.85rem;text-align:left;cursor:pointer;font-family:inherit;transition:background .15s ease}.exercise-dropdown-item:last-of-type{border-bottom:none}.exercise-dropdown-item:active{background:var(--surface-hover)}.exercise-dropdown-custom{display:flex;gap:6px;padding:8px;border-top:1px solid var(--border);background:var(--surface)}.exercise-dropdown-custom input{flex:1;padding:8px 10px;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.82rem;font-family:inherit}.exercise-dropdown-custom input:focus{outline:none;border-color:var(--primary)}.exercise-dropdown-custom button{padding:8px 14px;background:var(--primary);border:none;border-radius:6px;color:#fff;font-weight:600;font-size:.82rem;cursor:pointer;font-family:inherit;white-space:nowrap}.exercise-dropdown-cancel{display:block;width:100%;padding:10px;background:transparent;border:none;border-top:1px solid var(--border);color:var(--text-muted);font-size:.82rem;cursor:pointer;font-family:inherit}.add-day-btn{width:100%;padding:12px;background:transparent;border:1px dashed var(--border-light);border-radius:var(--radius);color:var(--text-secondary);font-size:.875rem;font-weight:600;cursor:pointer;font-family:inherit;transition:border-color .15s ease}.add-day-btn:active{border-color:var(--primary)}.exercise-select-screen{height:100%}.exercise-list{flex:1;overflow-y:auto;overscroll-behavior:none;padding:16px}.exercise-card{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;margin-bottom:10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);border-left:3px solid transparent;transition:border-color .15s ease,background .15s ease;cursor:pointer}.exercise-card:active{transform:scale(.98)}.exercise-card.selected{border-left-color:var(--accent);background:var(--accent-soft)}.exercise-card.done{opacity:.5}.exercise-card.done.selected{opacity:.8}.exercise-card-name{font-size:.95rem;font-weight:500}.exercise-card-status{display:flex;align-items:center;color:var(--success);flex-shrink:0}.exercise-card.done .exercise-card-status{color:var(--success)}.exercise-card.done.selected .exercise-card-status{color:var(--warning)}.exercise-select-actions{padding:16px 24px 32px;display:flex;justify-content:center}.active-exercise-screen{height:100%}.chart-container{height:calc(100% / 3);min-height:160px;flex-shrink:0;padding:8px 0;position:relative}.chart-container canvas{display:block;width:100%;height:100%}.set-list{flex:1;overflow-y:auto;overscroll-behavior:none;padding:12px 16px}.set-row{display:flex;align-items:center;padding:12px 14px;margin-bottom:8px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.9rem}.set-row.editable{cursor:pointer}.set-row.editable:active{background:var(--surface-hover)}.set-label{font-weight:600;color:var(--text-secondary);font-size:.8rem;min-width:48px}.set-value{flex:1;text-align:center;color:var(--text);font-variant-numeric:tabular-nums}.set-delete{width:28px;height:28px;border-radius:50%;border:none;background:var(--color-danger-soft);color:var(--color-danger);font-size:1.1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1}.add-set-btn{display:block;width:100%;padding:14px;background:transparent;border:1px dashed var(--border-light);border-radius:var(--radius-sm);color:var(--text-muted);font-size:.85rem;font-weight:500;cursor:pointer;font-family:inherit;transition:border-color .15s ease,color .15s ease}.add-set-btn:active{border-color:var(--primary);color:var(--primary)}.exercise-finish-area{padding:12px 24px 32px;display:flex;justify-content:center}.add-friend-modal{width:90%;max-width:360px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 20px 0}.modal-header h3{font-size:1.1rem;font-weight:700}.modal-body{padding:20px}.modal-body .input-group{margin-bottom:16px}.modal-body .btn-primary{margin-top:4px}.add-set-modal{width:100%;max-width:500px;background:var(--surface);border:1px solid var(--border);border-bottom:none;border-radius:var(--radius-lg) var(--radius-lg) 0 0;overflow:hidden;padding-bottom:env(safe-area-inset-bottom,20px)}.pickers-row{display:flex;gap:24px;padding:24px 0 32px}.picker-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:12px}.picker-col-small{gap:6px}.pickers-row-3{gap:12px;padding:16px 0 24px}.pickers-row-3 .picker-arrow{width:36px;height:36px}.pickers-row-3 .picker-arrow svg{width:18px;height:18px}.pickers-row-3 .picker-value{font-size:1.2rem;min-width:50px}.pickers-row-3 .picker-value-input{font-size:1.2rem;width:50px}.pickers-row-3 .picker-label{font-size:.65rem;letter-spacing:1px}.pickers-row-3 .picker-value-wrap{min-width:50px}.picker-label{font-size:.75rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-muted)}.picker-control{display:flex;flex-direction:column;align-items:center;gap:8px}.picker-arrow{width:44px;height:44px;border-radius:50%;border:none;background:var(--surface-hover);color:var(--text);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .15s ease}.picker-arrow:active{background:var(--border-light)}.picker-value-wrap{display:flex;align-items:center;justify-content:center;min-width:80px}.sign-toggle{font-size:1rem;font-weight:400;color:var(--primary);background:none;border:none;padding:0 4px 0 0;cursor:pointer;line-height:1;-webkit-user-select:none;user-select:none;min-width:14px;text-align:right;font-family:inherit;transition:color .15s ease}.sign-toggle.negative{color:var(--primary)}.picker-value{font-size:3rem;font-weight:800;color:var(--text);cursor:pointer;line-height:1;padding:8px 16px;-webkit-user-select:none;user-select:none}.picker-value-input{width:100px;font-size:2.5rem;font-weight:800;color:var(--text);background:var(--bg);border:1px solid var(--primary);border-radius:var(--radius-sm);text-align:center;padding:8px 4px;font-family:inherit}.picker-value-input:focus{outline:none}.add-set-confirm{width:80%;margin:0 auto 8px;display:block}.icon-btn.edit-active{color:var(--warning);background:#f973161a}.back-popup{background:var(--surface);border-radius:var(--radius-lg);padding:24px;width:85%;max-width:340px;text-align:center;position:relative;z-index:2}.back-popup-title{font-size:1.15rem;font-weight:700;margin-bottom:8px}.back-popup-text{color:var(--text-secondary);font-size:.875rem;margin-bottom:20px}.back-popup-actions{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.btn-secondary{width:100%;padding:12px;background:var(--surface-hover);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);font-size:.95rem;font-weight:600;cursor:pointer;font-family:inherit;min-height:44px}.back-popup-close{background:none;border:none;color:var(--text-muted);font-size:.85rem;cursor:pointer;font-family:inherit;padding:8px}.exercise-card.editable{border:1px solid var(--border-light)}.exercise-card.editable .exercise-card-name{color:var(--text)}.exercise-card-remove{width:28px;height:28px;border-radius:50%;border:none;background:var(--color-danger-soft);color:var(--color-danger);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;margin-right:10px;transition:background .15s ease}.exercise-card-remove:active{background:var(--color-danger-border)}.btn-add-exercise{display:block;width:100%;padding:14px;background:transparent;border:2px dashed var(--accent-border);border-radius:var(--radius-sm);color:var(--accent);font-size:.85rem;font-weight:600;cursor:pointer;font-family:inherit;transition:background .15s ease;margin-top:10px}.btn-add-exercise:active{background:var(--accent-soft)}.plan-actions{display:flex;flex-direction:column;gap:10px;margin-top:12px}.btn-suggested-plan{background:var(--accent-gradient);font-size:.9rem;padding:14px;border-radius:var(--radius);letter-spacing:.5px}.exercise-pill-remove{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;border:none;background:var(--color-danger-soft);color:var(--color-danger);cursor:pointer;margin-right:6px;flex-shrink:0;transition:background .15s ease}.exercise-pill-remove:active{background:var(--color-danger-border)}.chart-popup{position:absolute;left:16px;right:16px;top:calc(100% + 8px);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px 16px 16px;z-index:50;max-height:200px;overflow-y:auto;box-shadow:0 4px 20px #0006}.chart-popup-close{position:absolute;top:10px;right:10px;width:28px;height:28px;border:none;background:transparent;color:var(--text-muted);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer}.chart-popup-close:active{color:var(--text)}.chart-popup-date{text-align:center;font-size:.95rem;font-weight:700;color:var(--text);margin-bottom:12px}.chart-popup-sets{display:flex;flex-direction:column;gap:6px}.chart-popup-set-row{display:flex;justify-content:space-between;padding:8px 12px;background:var(--bg);border-radius:var(--radius-sm);font-size:.875rem}.chart-popup-set-label{color:var(--text-secondary);flex:1}.chart-popup-set-val{color:var(--text);font-weight:500;min-width:60px;text-align:right}.chart-popup-avg{text-align:center;color:var(--text-secondary);font-size:.85rem;padding:8px}.profile-dropdown-wrap{position:relative;display:flex;align-items:center}.profile-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);min-width:280px;max-width:320px;z-index:500;box-shadow:0 8px 30px #00000080;overflow:hidden}.profile-dropdown-header{padding:14px 18px;border-bottom:1px solid var(--border)}.profile-dropdown-username{font-size:.9rem;font-weight:600;color:var(--text)}.profile-dropdown-section{padding:12px 0}.profile-dropdown-section-title{display:block;font-size:.7rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-muted);padding:0 18px 8px}.profile-dropdown-timezone-list{max-height:240px;overflow-y:auto}.profile-dropdown-tz-btn{display:flex;justify-content:space-between;align-items:center;width:100%;padding:10px 18px;background:transparent;border:none;color:var(--text);font-size:.875rem;font-family:inherit;cursor:pointer;text-align:left;transition:background .1s ease;gap:8px}.profile-dropdown-tz-btn:hover,.profile-dropdown-tz-btn:active{background:var(--surface-hover)}.profile-dropdown-tz-btn.active{color:var(--primary);font-weight:600}.profile-dropdown-status{display:block;padding:6px 18px 2px;font-size:.75rem;color:var(--text-muted)}.profile-dropdown-status.saved{color:var(--success)}.profile-panel{left:auto;right:0;border-right:none;border-left:1px solid var(--border);transform:translate(100%)}.profile-panel.open{transform:translate(0)}.profile-menu-item{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .15s ease;gap:12px}.profile-menu-item:active{background:var(--surface-hover)}.profile-menu-item-left{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.profile-menu-item-label{font-size:.9rem;font-weight:500;color:var(--text)}.profile-menu-item-value{font-size:.85rem;color:var(--text-secondary);flex-shrink:0}.profile-menu-item-chevron{color:var(--text-muted);flex-shrink:0}.profile-tz-dropdown{padding:12px 20px;border-bottom:1px solid var(--border);background:var(--surface)}.profile-tz-list{max-height:200px;overflow-y:auto}.profile-tz-btn{display:flex;justify-content:space-between;align-items:center;width:100%;padding:10px 0;background:transparent;border:none;color:var(--text);font-size:.875rem;font-family:inherit;cursor:pointer;text-align:left;transition:color .1s ease;gap:8px}.profile-tz-btn:active{color:var(--accent)}.profile-tz-btn.active{color:var(--accent);font-weight:600}.friends-panel{left:auto;right:0;border-right:none;border-left:1px solid var(--border);transform:translate(100%)}.friends-panel.open{transform:translate(0)}.friends-panel-body{padding:16px;display:flex;flex-direction:column}.profile-tz-status{display:block;padding:8px 0 4px;font-size:.75rem;color:var(--text-muted)}.profile-tz-status.saved{color:var(--success)}.friends-tabs{display:flex;border-bottom:1px solid var(--border);flex-shrink:0}.friends-tab{flex:1;padding:12px 8px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-muted);font-size:.8rem;font-weight:600;font-family:inherit;cursor:pointer;transition:color .15s ease,border-color .15s ease;text-align:center;position:relative}.friends-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.friends-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:var(--color-danger);color:#fff;border-radius:var(--radius-full);font-size:.65rem;font-weight:700;margin-left:4px;vertical-align:middle}.friends-tab-content{display:flex;flex-direction:column;gap:8px}.friends-section-label{font-size:.7rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-muted);padding:8px 0 4px;margin-top:8px}.friend-item{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:background .15s ease,border-color .15s ease;cursor:default}.friend-item.touchable{cursor:pointer}.friend-item.touchable:active{background:var(--surface-hover)}.friend-item-avatar{width:36px;height:36px;border-radius:50%;background:var(--accent-gradient);color:#fff;font-size:.85rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;text-transform:uppercase}.friend-item-name{flex:1;font-size:.9rem;font-weight:500;color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.friend-item-chevron{color:var(--text-muted);flex-shrink:0}.friend-item-pending{opacity:.7}.friend-item-pending .friend-item-avatar{background:var(--surface-2);color:var(--text-secondary)}.friend-item-actions{display:flex;gap:8px;flex-shrink:0}.friend-accept-btn,.friend-decline-btn,.friend-revoke-btn{width:32px;height:32px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .15s ease,transform .1s ease}.friend-accept-btn{background:#22c55e1f;color:var(--color-success)}.friend-accept-btn:active{background:#22c55e40;transform:scale(.92)}.friend-decline-btn,.friend-revoke-btn{background:var(--color-danger-soft);color:var(--color-danger)}.friend-decline-btn:active,.friend-revoke-btn:active{background:var(--color-danger-border);transform:scale(.92)}.friend-item-add-icon{color:var(--accent);flex-shrink:0}.friends-search{margin-bottom:12px}.friends-search-input-wrap{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .2s ease,box-shadow .2s ease}.friends-search-input-wrap:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft-3)}.friends-search-input-wrap svg{color:var(--text-muted);flex-shrink:0}.friends-search-input-wrap input{flex:1;background:transparent;border:none;color:var(--text);font-size:.95rem;font-family:inherit;min-height:24px}.friends-search-input-wrap input:focus{outline:none}.friends-search-input-wrap input::placeholder{color:var(--text-muted)}.friends-search-hint{color:var(--text-muted);font-size:.8rem;text-align:center;padding:16px 0 8px}.friends-search-loading{display:flex;justify-content:center;padding:24px 0}.friends-search-results{display:flex;flex-direction:column;gap:8px}.friend-item-search{cursor:pointer}.friend-item-search:active{background:var(--accent-soft);border-color:var(--accent-border)}.friend-item-request{cursor:default}.exercise-pill-tag{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--accent-soft-2);color:var(--accent);font-size:.6rem;font-weight:700;margin-left:4px;flex-shrink:0}.exercise-picker{background:var(--surface);border-radius:var(--radius-lg);width:90%;max-width:400px;max-height:70vh;display:flex;flex-direction:column;overflow:hidden}.exercise-picker-header{display:flex;justify-content:space-between;align-items:center;padding:16px 16px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.exercise-picker-title{font-size:1.1rem;font-weight:700}.exercise-picker-tabs{display:flex;border-bottom:1px solid var(--border);flex-shrink:0}.exercise-picker-tab{flex:1;padding:12px;background:none;border:none;color:var(--text-muted);font-size:.9rem;font-weight:600;cursor:pointer;font-family:inherit;transition:color .15s ease,background .15s ease}.exercise-picker-tab.active{color:var(--accent);background:var(--accent-soft)}.exercise-picker-search{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border);flex-shrink:0;color:var(--text-muted)}.exercise-picker-search input{flex:1;background:none;border:none;color:var(--text);font-size:.9rem;font-family:inherit;outline:none}.exercise-picker-search input::placeholder{color:var(--text-muted)}.exercise-picker-list{flex:1;overflow-y:auto;overscroll-behavior:none;padding:8px}.exercise-picker-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px;background:none;border:none;border-radius:var(--radius-sm);color:var(--text);font-size:.9rem;font-family:inherit;cursor:pointer;text-align:left;transition:background .15s ease}.exercise-picker-item:active{background:var(--accent-soft)}.exercise-picker-item.in-day{opacity:.4;cursor:default}.exercise-picker-item.in-day:active{background:none}.exercise-picker-item-name{flex:1}.exercise-picker-item-add{color:var(--accent);flex-shrink:0}.exercise-picker-item-added{color:var(--text-muted);font-size:.8rem;flex-shrink:0}.exercise-picker-add-new{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px;background:none;border:1px dashed var(--border);border-radius:var(--radius-sm);color:var(--text-muted);font-size:.875rem;font-family:inherit;cursor:pointer;margin-top:8px;transition:border-color .15s ease,color .15s ease}.exercise-picker-add-new:active{border-color:var(--accent);color:var(--accent)}.add-exercise-form{margin:16px 0}.add-exercise-checkboxes{display:flex;flex-direction:column;gap:10px;margin-top:12px}.add-exercise-checkbox{display:flex;align-items:center;gap:10px;cursor:pointer;color:var(--text-secondary);font-size:.9rem}.add-exercise-checkbox input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent);cursor:pointer}.pretraining-screen{display:flex;flex-direction:column;height:100%;overflow:hidden}.pretrain-content{flex:1;overflow-y:auto;padding:8px 16px 16px;display:flex;flex-direction:column;gap:0}.pretrain-loading,.pretrain-empty{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;color:var(--text-secondary);font-size:.95rem;gap:8px}.pretrain-empty-hint{font-size:.8rem;color:var(--text-muted)}.pretrain-entry{position:relative;display:flex;align-items:center;gap:10px;padding:14px 12px;background:var(--color-surface);border-radius:12px;margin-bottom:2px;min-height:56px;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.pretrain-current{border:2px solid var(--accent);background:var(--accent-soft)}.pretrain-entry-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;padding-right:28px}.pretrain-entry-name{font-size:.95rem;font-weight:600;color:var(--text);display:block}.pretrain-entry-exercises{font-size:.78rem;color:var(--text-secondary);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pretrain-entry-exercises.empty{color:var(--text-muted);font-style:italic}.pretrain-drag-handle{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);cursor:grab;border-radius:8px;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none}.pretrain-drag-handle:active{cursor:grabbing;background:var(--color-surface-2)}.pretrain-skip-btn{position:absolute;top:10px;right:10px;width:28px;height:28px;border:none;background:transparent;color:var(--text-muted);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,color .15s}.pretrain-skip-btn:hover{background:var(--color-danger-soft);color:var(--color-danger)}.pretrain-divider{height:12px;margin:0;opacity:0}.pretrain-bottom{flex-shrink:0;padding:12px 16px;padding-bottom:calc(env(safe-area-inset-bottom,0px) + 12px);display:flex;flex-direction:column;align-items:center;gap:8px}.btn-ghost{width:100%;padding:14px;border:1px solid var(--color-surface-3);background:transparent;color:var(--text-secondary);border-radius:14px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}.btn-ghost:hover{background:var(--color-surface);border-color:var(--text-muted);color:var(--text)}.btn-ghost:active{background:var(--color-surface-2)}.btn-danger{padding:12px 24px;border:none;background:var(--color-danger);color:#fff;border-radius:12px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s}.btn-danger:hover{background:#dc2626}.btn-danger:active{background:#b91c1c}
