:root{--bg: #050508;--surface: #0f0f18;--card: #161625;--card-hover: #1e1e32;--border: #252538;--primary: #d946ef;--primary-bright: #f0abfc;--primary-dim: rgba(217, 70, 239, .15);--accent: #3b82f6;--accent-bright: #60a5fa;--accent-dim: rgba(59, 130, 246, .15);--warning: #f59e0b;--danger: #ef4444;--danger-dim: rgba(239, 68, 68, .12);--text: #fdfbff;--text-secondary: #a1a1aa;--text-muted: #52525b;--radius-xl: 24px;--radius-lg: 16px;--radius-md: 12px;--radius-sm: 8px;--radius: 16px;--radius-xs: 8px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--glare: linear-gradient(135deg, rgba(255, 255, 255, .05) 0%, rgba(255, 255, 255, 0) 100%);--safe-area-bottom: max(12px, env(safe-area-inset-bottom))}[data-theme=light]{--bg: #f8fafc;--surface: #ffffff;--card: #f1f5f9;--card-hover: #e2e8f0;--border: #e2e8f0;--primary: #4f46e5;--primary-bright: #6366f1;--primary-dim: rgba(79, 70, 229, .08);--accent: #059669;--accent-bright: #10b981;--text: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--glare: linear-gradient(135deg, rgba(255, 255, 255, .8) 0%, rgba(255, 255, 255, .3) 100%)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;font-family:Outfit,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden;transition:background-color .3s ease,color .3s ease}#root{display:flex;flex-direction:column;width:100%;max-width:480px;margin:0 auto;position:relative;box-shadow:0 0 100px #00000080}.page{flex:1;overflow-y:auto;padding:16px 16px max(100px,calc(80px + env(safe-area-inset-bottom)));-webkit-overflow-scrolling:touch}.page::-webkit-scrollbar{display:none}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;display:flex;align-items:center;justify-content:space-around;background:linear-gradient(to top,var(--surface) 60%,transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:8px 0 max(12px,env(safe-area-inset-bottom));z-index:100;border-top:1px solid var(--border)}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:8px 12px;min-height:44px;border:none;background:none;color:var(--text-muted);font-size:10px;font-weight:600;cursor:pointer;transition:all .2s;border-radius:var(--radius-sm)}.nav-item svg{width:22px;height:22px}.nav-item:active{transform:scale(.92)}.fab{position:fixed;bottom:max(72px,calc(60px + env(safe-area-inset-bottom)));right:calc(50% - 200px);width:56px;height:56px;border-radius:50%;background:var(--primary);color:#fff;border:none;font-size:28px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 24px #818cf866;cursor:pointer;transition:all .2s;z-index:101}.fab:active{transform:scale(.9)}.card{background:var(--card);border-radius:var(--radius);padding:16px;margin-bottom:12px;border:1px solid var(--border)}.card-glow{background:linear-gradient(135deg,var(--primary-dim),var(--card));border-color:#818cf833}h1{font-size:28px;font-weight:800;letter-spacing:-.5px}h2{font-size:20px;font-weight:700;letter-spacing:-.3px}h3{font-size:16px;font-weight:600}.subtitle{color:var(--text-secondary);font-size:13px;font-weight:500}.muted{color:var(--text-muted);font-size:12px}.small{font-size:12px}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.stat-box{background:var(--surface);border-radius:var(--radius-sm);padding:14px 10px;text-align:center;border:1px solid var(--border)}.stat-value{font-size:22px;font-weight:800;color:var(--text)}.stat-label{font-size:10px;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-top:4px}.btn{border:none;border-radius:var(--radius-sm);padding:12px 20px;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s;font-family:inherit}.btn:active{transform:scale(.96)}.btn-primary{background:var(--primary);color:#fff}.btn-secondary{background:var(--card);color:var(--text);border:1px solid var(--border)}.btn-danger{background:var(--danger-dim);color:var(--danger)}.btn-accent{background:var(--accent);color:#000;font-weight:700}.btn-ghost{background:transparent;color:var(--primary);padding:8px 12px}.btn-sm{padding:8px 14px;font-size:12px}.btn-full{width:100%}.btn-round{border-radius:50px}input[type=text],input[type=number],input[type=search]{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xs);padding:10px 14px;color:var(--text);font-size:14px;font-family:inherit;width:100%;outline:none;transition:border .2s}input:focus{border-color:var(--primary)}input::placeholder{color:var(--text-muted)}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.pill{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;border-radius:50px;font-size:12px;font-weight:600;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);cursor:pointer;transition:all .15s}.pill.active{background:var(--primary-dim);border-color:var(--primary);color:var(--primary)}.pill:active{transform:scale(.95)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-4{gap:4px}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.gap-24{gap:24px}.mb-8{margin-bottom:8px}.mb-12{margin-bottom:12px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}.pb-24{padding-bottom:24px}.exercise-block{background:var(--card);border-radius:var(--radius);border:1px solid var(--border);margin-bottom:12px;overflow:hidden}.exercise-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--surface);border-bottom:1px solid var(--border)}.exercise-header h3{font-size:14px;font-weight:700}.set-row{display:grid;grid-template-columns:40px 1fr 1fr 44px;gap:8px;align-items:center;padding:8px 16px;border-bottom:1px solid rgba(255,255,255,.03)}.set-row.header{padding:10px 16px 6px}.set-row .set-num{font-size:13px;font-weight:700;color:var(--text-muted);text-align:center}.set-row input{padding:8px 10px;font-size:14px;text-align:center;font-weight:600}.check-btn{width:36px;height:36px;border-radius:8px;border:2px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;transition:all .15s}.check-btn.checked{background:var(--accent);border-color:var(--accent);color:#000}.check-btn:active{transform:scale(.9)}.add-set-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px;background:transparent;border:none;color:var(--primary);font-size:13px;font-weight:600;cursor:pointer;font-family:inherit}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:200;display:flex;align-items:flex-end;justify-content:center}.modal-content{width:100%;max-width:480px;max-height:92vh;background:var(--surface);border-radius:32px 32px 0 0;overflow-y:auto;box-sizing:border-box;box-shadow:0 -20px 40px #00000080}.modal-content::-webkit-scrollbar{display:none}.exercise-option{display:flex;align-items:center;justify-content:space-between;padding:16px;border-radius:20px;background:#ffffff08;border:1px solid rgba(255,255,255,.05);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);margin-bottom:8px}.exercise-option:active{background:#ffffff14;transform:scale(.98)}.exercise-option .exercise-info{display:flex;flex-direction:column;gap:2px}.exercise-option .exercise-name{font-weight:800;font-size:16px;color:#fff}.exercise-option .exercise-meta{font-size:12px;color:var(--text-muted);font-weight:600}.exercise-type{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border-radius:50%;color:var(--primary);font-weight:900;font-size:18px}.pill{padding:8px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.05);border-radius:100px;font-size:12px;font-weight:800;white-space:nowrap;cursor:pointer;transition:all .2s;color:var(--text-muted)}.pill.active{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 4px 12px var(--primary-dim)}.timer-bar{position:fixed;top:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;background:var(--surface);border-bottom:1px solid var(--border);padding:10px 16px;display:flex;align-items:center;justify-content:space-between;z-index:150;animation:slideDown .2s ease}@keyframes slideDown{0%{transform:translate(-50%) translateY(-100%)}to{transform:translate(-50%) translateY(0)}}.timer-display{font-size:24px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--primary)}.workout-card{background:var(--card);border-radius:var(--radius);border:1px solid var(--border);padding:16px;margin-bottom:10px;cursor:pointer;transition:all .15s}.workout-card:active{background:var(--card-hover);transform:scale(.98)}.workout-card .exercise-summary{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.exercise-tag{padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600;background:var(--primary-dim);color:var(--primary)}.week-tabs{display:flex;gap:8px;margin-bottom:16px;overflow-x:auto}.week-tab{padding:8px 16px;border-radius:50px;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);font-size:13px;font-weight:600;white-space:nowrap;cursor:pointer;transition:all .15s}.week-tab.active{background:var(--primary);border-color:var(--primary);color:#fff}.pr-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;background:var(--accent-dim);color:var(--accent);font-size:11px;font-weight:700}.compare-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.04)}.compare-bar{flex:1;height:8px;border-radius:4px;background:var(--surface);overflow:hidden}.compare-fill{height:100%;border-radius:4px;transition:width .5s ease}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.empty-state .emoji{font-size:48px;margin-bottom:16px}.delete-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;font-size:16px;transition:color .15s}.delete-btn:hover{color:var(--danger)}.toggle-switch{width:48px;height:28px;border-radius:14px;background:var(--border);position:relative;transition:background .2s ease}.toggle-switch:after{content:"";position:absolute;top:2px;left:2px;width:24px;height:24px;border-radius:50%;background:var(--text-muted);transition:transform .2s ease}.toggle-switch.active{background:var(--primary)}.toggle-switch.active:after{transform:translate(20px);background:#fff}.chart-container{position:relative;width:100%;height:200px;margin:12px 0}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:fadeIn .3s ease forwards}.fab-container{position:relative;width:56px;height:56px;top:-24px}.fab-button{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,var(--primary) 0%,#9333ea 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 16px var(--primary-dim);transition:all .3s cubic-bezier(.23,1,.32,1);z-index:5}.fab-button.active{transform:scale(.9);filter:brightness(1.2)}.fab-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:120%;height:120%;background:var(--primary);filter:blur(20px);opacity:.4;border-radius:50%;z-index:1}.nav-item.active{color:var(--primary)}.nav-item span{transition:opacity .2s}.nav-item.active span{opacity:1}.auth-page{min-height:100vh;width:100%;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at top right,rgba(217,70,239,.1),transparent),radial-gradient(circle at bottom left,rgba(59,130,246,.1),transparent),var(--bg);position:relative;overflow:hidden;box-sizing:border-box}.auth-card{width:100%;max-width:420px;background:#0f0f18b3;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--border);border-radius:32px;padding:48px 32px;box-shadow:0 32px 64px -16px #00000080;text-align:center;position:relative;z-index:10;box-sizing:border-box}.auth-title{font-size:38px;font-weight:900;letter-spacing:-1.5px;margin-bottom:8px;background:linear-gradient(135deg,#fff,#a1a1aa);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;width:100%}.auth-subtitle{font-size:15px;font-weight:500;color:var(--text-secondary);margin-bottom:40px;width:100%}.auth-form{display:flex;flex-direction:column;gap:16px;width:100%;box-sizing:border-box}.input-group{position:relative;width:100%;box-sizing:border-box}.input-icon{position:absolute;left:18px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none;transition:color .3s ease;z-index:2}.auth-input{width:100%!important;padding:18px 18px 18px 52px!important;background:#ffffff08!important;border:1px solid var(--border)!important;border-radius:18px!important;color:#fff!important;font-size:16px!important;transition:all .3s ease!important;box-sizing:border-box!important}.auth-input:focus{border-color:var(--primary)!important;background:#d946ef0d!important;outline:none!important}.auth-password-toggle{position:absolute;right:14px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);padding:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}.auth-forgot-btn{background:none;border:none;color:var(--primary);font-size:14px;font-weight:600;cursor:pointer;padding:4px 0;align-self:flex-start}.auth-forgot-sent{margin-top:12px;font-size:14px;font-weight:600;color:var(--accent)}.auth-forgot-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.auth-forgot-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;width:100%;max-width:360px}.error-banner{background:var(--danger-dim);color:var(--danger);padding:12px 16px;border-radius:var(--radius-sm);font-size:14px;font-weight:600}.settings-page{display:flex;flex-direction:column;gap:28px;padding:0 4px}.settings-header{margin-bottom:4px}.settings-title{font-size:28px;font-weight:800;letter-spacing:-.5px;color:var(--text);margin:0 0 4px}.settings-subtitle{font-size:14px;font-weight:500;color:var(--text-secondary);margin:0}.settings-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.settings-profile-card{padding:20px}.settings-profile{display:flex;align-items:center;gap:16px;margin-bottom:20px}.settings-avatar{width:56px;height:56px;border-radius:50%;object-fit:cover;border:2px solid var(--border)}.settings-avatar-fallback{display:flex;align-items:center;justify-content:center;background:var(--primary);color:#fff;font-size:22px;font-weight:700;border-color:var(--primary)}.settings-profile-info{flex:1;min-width:0}.settings-name{font-size:18px;font-weight:700;color:var(--text);margin:0 0 2px;line-height:1.2}.settings-email{font-size:13px;font-weight:500;color:var(--text-secondary);margin:0 0 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-badge{display:inline-block;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:700;letter-spacing:.3px;background:var(--primary-dim);color:var(--primary)}.settings-upgrade-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 20px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .2s,border-color .2s}.settings-upgrade-btn:active{background:var(--card-hover)}.settings-section{display:flex;flex-direction:column;gap:10px}.settings-section-title{font-size:11px;font-weight:700;letter-spacing:.6px;color:var(--text-muted);margin:0;padding:0 4px}.settings-section-title-danger{color:var(--text-secondary)}.settings-list-card{padding:0}.settings-row{display:flex;align-items:center;gap:14px;width:100%;padding:16px 18px;border:none;border-bottom:1px solid var(--border);background:transparent;color:var(--text);font-size:15px;font-weight:600;font-family:inherit;text-align:left;cursor:pointer;transition:background .15s}.settings-row:active{background:var(--card-hover)}.settings-row-last{border-bottom:none}.settings-row-icon{display:flex;align-items:center;justify-content:center;color:var(--text-secondary);flex-shrink:0}.settings-row-label{flex:1}.settings-row-value{font-size:13px;font-weight:600;color:var(--text-muted)}.settings-row-chevron{color:var(--text-muted);opacity:.7;flex-shrink:0}.settings-row-danger .settings-row-label,.settings-row-danger .settings-row-icon{color:var(--danger)}.settings-footer{padding:24px 16px;text-align:center;display:flex;flex-direction:column;gap:4px}.settings-version{font-size:12px;font-weight:600;color:var(--text-muted);letter-spacing:.3px}.settings-tagline{font-size:11px;color:var(--text-muted);opacity:.9}.settings-sync-error{margin:0;padding:10px 18px 14px;font-size:13px;font-weight:600;color:var(--danger);background:var(--danger-dim)}.settings-sync-spin{animation:settings-spin .8s linear infinite}@keyframes settings-spin{to{transform:rotate(360deg)}}.auth-submit-btn{width:100%;height:60px;background:linear-gradient(135deg,var(--primary) 0%,#9333ea 100%);color:#fff;border:none;border-radius:18px;font-size:17px;font-weight:800;cursor:pointer;margin-top:12px;box-shadow:0 12px 24px -6px var(--primary-dim);transition:all .3s cubic-bezier(.23,1,.32,1);display:flex;align-items:center;justify-content:center;box-sizing:border-box}.auth-divider{margin:32px 0;display:flex;align-items:center;gap:16px;width:100%}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}.divider-text{font-size:11px;font-weight:800;color:var(--text-muted);letter-spacing:1px}.social-login-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%;box-sizing:border-box}.social-btn{height:52px;display:flex!important;align-items:center;justify-content:center;gap:8px;background:var(--surface)!important;border:1px solid var(--border)!important;border-radius:16px!important;color:#fff!important;font-size:14px!important;font-weight:700!important;cursor:pointer;transition:all .3s ease;box-sizing:border-box}.auth-footer{margin-top:32px;color:var(--text-secondary);font-size:14px;width:100%}.auth-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;background:var(--bg);padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.auth-loading-spinner{width:48px;height:48px;border:4px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:auth-spin .8s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-loading-text{font-size:14px;font-weight:600;color:var(--text-muted)}.spinner-small{width:24px;height:24px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:auth-spin .6s linear infinite}@media (max-width: 480px){.auth-page{padding:16px;align-items:stretch;min-height:100vh;min-height:100dvh;padding-bottom:max(24px,env(safe-area-inset-bottom))}.auth-card{min-height:auto;border-radius:24px;max-width:100%;display:flex!important;flex-direction:column!important;justify-content:center;padding:28px 24px}}
