@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap";:root{--bg-primary:#0a0b0f;--bg-secondary:#12141c;--bg-tertiary:#1b1e2a;--color-primary:#10b981;--color-primary-rgb:16, 185, 129;--color-accent:#6366f1;--color-accent-rgb:99, 102, 241;--color-warning:#f59e0b;--color-danger:#ef4444;--text-main:#f3f4f6;--text-muted:#9ca3af;--text-dark:#1f2937;--border-color:#242838;--border-color-hover:#3b3f5c;--glass-bg:#12141cb3;--glass-border:#ffffff0d;--font-sans:"Outfit", "Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000004d, 0 4px 6px -2px #0003;--shadow-glow:0 0 15px #10b98140;--shadow-glow-accent:0 0 15px #6366f140;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.4, 0, .2, 1);box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.light-theme{--bg-primary:#f8fafc;--bg-secondary:#fff;--bg-tertiary:#f1f5f9;--color-primary:#059669;--color-primary-rgb:5, 150, 105;--color-accent:#4f46e5;--color-accent-rgb:79, 70, 229;--text-main:#0f172a;--text-muted:#64748b;--text-dark:#f8fafc;--border-color:#e2e8f0;--border-color-hover:#cbd5e1;--glass-bg:#ffffffd9;--glass-border:#0000000d;--shadow-lg:0 10px 15px -3px #0000000d, 0 4px 6px -2px #00000005}*,:before,:after{box-sizing:inherit}body{background-color:var(--bg-primary);color:var(--text-main);font-family:var(--font-sans);min-height:100vh;transition:background-color var(--transition-normal), color var(--transition-normal);margin:0;padding:0;overflow-x:hidden}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border-color-hover)}#root{flex-direction:column;min-height:100vh;display:flex}input,button,select,textarea{color:inherit;font-family:inherit}.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border)}.glow-emerald{box-shadow:var(--shadow-glow)}.glow-indigo{box-shadow:var(--shadow-glow-accent)}:root{--safe-area-bottom:env(safe-area-inset-bottom,0px)}body{background-color:var(--bg-primary);justify-content:center;margin:0;padding:0;display:flex}#root{border-inline:1px solid var(--border-color);background-color:var(--bg-primary);flex-direction:column;min-height:100vh;margin:0 auto;display:flex;width:100%!important;max-width:480px!important}.app-container{width:100%;padding:16px 16px calc(240px + var(--safe-area-bottom)) 16px;flex-direction:column;gap:16px;display:flex}.app-header{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:14px;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.logo-section{align-items:center;gap:10px;display:flex}.barbell-logo{background:linear-gradient(135deg, var(--color-primary), var(--color-accent));color:var(--text-dark);width:36px;height:36px;box-shadow:var(--shadow-glow);border-radius:10px;justify-content:center;align-items:center;font-size:18px;display:flex}.logo-text h1{letter-spacing:-.5px;margin:0;font-size:18px;font-weight:800}.logo-text p{color:var(--text-muted);margin:0;font-size:10px;font-weight:500}.header-actions{align-items:center;gap:8px;display:flex}.btn{cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:600;display:inline-flex}.btn:active{transform:scale(.97)}.btn-icon-only{border:1px solid var(--border-color);background:var(--bg-tertiary);cursor:pointer;width:36px;height:36px;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;border-radius:8px;justify-content:center;align-items:center;font-size:14px;display:flex}.btn-icon-only:active{background:var(--border-color);transform:scale(.95)}.btn-primary{background:var(--color-primary);color:#000;font-weight:700}.btn-secondary{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-main)}.workout-selector{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:14px;flex-direction:column;gap:12px;padding:12px 14px;display:flex}.preset-tabs{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:10px;gap:4px;width:100%;padding:3px;display:flex}.tab-btn{color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);text-align:center;white-space:nowrap;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:7px;flex:1;padding:6px 10px;font-size:12px;font-weight:600}.tab-btn.active{background:var(--bg-tertiary);color:var(--color-primary);font-weight:700}.workout-stats{background:var(--bg-tertiary);border-radius:8px;justify-content:space-around;padding:8px;display:flex}.stat-item{flex-direction:column;align-items:center;gap:1px;display:flex}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:9px;font-weight:700}.stat-val{color:var(--text-main);font-size:13px;font-weight:800}.exercises-grid{flex-direction:column;gap:14px;display:flex}.exercise-card{background:var(--bg-secondary);border:1px solid var(--border-color);transition:all var(--transition-normal);-webkit-tap-highlight-color:transparent;border-radius:14px;flex-direction:column;gap:12px;padding:16px;display:flex;position:relative}.exercise-card.completed{background:linear-gradient(180deg, var(--bg-secondary) 0%, #10b98105 100%);border-color:#10b98166}.card-header{justify-content:space-between;align-items:center;display:flex}.exercise-info{flex-direction:column;gap:2px;display:flex}.exercise-name{color:var(--text-main);margin:0;font-size:16px;font-weight:700}.exercise-target{color:var(--text-muted);align-items:center;gap:6px;font-size:12px;font-weight:500;display:flex}.target-badge{background:var(--bg-tertiary);color:var(--color-primary);border-radius:4px;padding:1px 5px;font-size:11px;font-weight:700}.card-options-btn{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;border-radius:6px;padding:6px 10px;font-size:11px;font-weight:600}.card-options-btn:active{background:var(--border-color);color:var(--text-main)}.sets-tracker{flex-direction:column;gap:6px;display:flex}.sets-header{color:var(--text-muted);justify-content:space-between;font-size:11px;font-weight:600;display:flex}.sets-row{justify-content:space-between;align-items:center;gap:6px;display:flex}.rep-bubble{aspect-ratio:1;border:2px solid var(--border-color);background:var(--bg-tertiary);max-width:52px;min-height:46px;color:var(--text-muted);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:12px;flex:1;justify-content:center;align-items:center;font-size:16px;font-weight:800;transition:all .15s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative;overflow:hidden}.rep-bubble:active{transform:scale(.9)}.rep-bubble.completed{background:linear-gradient(135deg, var(--color-primary), #059669);border-color:var(--color-primary);color:#000}.rep-bubble.partial{background:linear-gradient(135deg, var(--color-warning), #d97706);border-color:var(--color-warning);color:#000}.rep-bubble.failed{background:linear-gradient(135deg, var(--color-danger), #dc2626);border-color:var(--color-danger);color:#fff}.rep-bubble.empty{color:#ffffff40;background:0 0;border-style:dashed}.light-theme .rep-bubble.empty{color:#0003}.rep-bubble-label{opacity:.5;font-size:7px;font-weight:700;position:absolute;bottom:2px}.rep-bubble.completed .rep-bubble-label,.rep-bubble.partial .rep-bubble-label{color:#0009}.card-footer{color:var(--text-muted);border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;padding-top:10px;font-size:11px;display:flex}.footer-item{align-items:center;gap:4px;display:flex}.rest-timer-panel{bottom:calc(16px + var(--safe-area-bottom));z-index:100;width:92%;max-width:440px;transition:all var(--transition-normal);border:1px solid #ffffff14;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;animation:.35s cubic-bezier(.175,.885,.32,1.275) slideUp;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 12px 30px #0006}.light-theme .rest-timer-panel{box-shadow:0 12px 30px #0000001a}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,120px)}to{opacity:1;transform:translate(-50%)}}.timer-info{align-items:center;gap:10px;display:flex}.timer-circle-wrap{justify-content:center;align-items:center;width:130px;height:130px;display:flex;position:relative}.timer-svg{width:130px;height:130px;position:absolute;top:0;left:0;transform:rotate(-90deg)}.timer-circle-bg{fill:none;stroke:var(--border-color);stroke-width:6px}.timer-circle-fg{fill:none;stroke:var(--color-accent);stroke-width:6px;stroke-linecap:round;stroke-dasharray:364.42;transition:stroke-dashoffset .1s linear}.timer-count{color:var(--text-main);z-index:1;font-size:26px;font-weight:800}.timer-text{flex-direction:column;gap:4px;display:flex}.timer-title{color:var(--text-main);font-size:16px;font-weight:800}.timer-subtitle{color:var(--text-muted);font-size:11px}.timer-actions{align-items:center;gap:6px;display:flex}.timer-actions .btn-icon-only{border-radius:6px;width:32px;height:32px;font-size:11px}.modal-overlay{-webkit-backdrop-filter:blur(5px);z-index:200;background:#0009;justify-content:center;align-items:flex-end;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--bg-secondary);border-top:1px solid var(--border-color);border-left:1px solid var(--border-color);border-right:1px solid var(--border-color);width:100%;max-width:480px;padding:20px 16px calc(20px + var(--safe-area-bottom)) 16px;border-bottom:none;border-radius:20px 20px 0 0;flex-direction:column;gap:16px;animation:.3s cubic-bezier(.16,1,.3,1) slideSheetUp;display:flex;box-shadow:0 -10px 25px #0000004d}@keyframes slideSheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding-bottom:8px;display:flex}.modal-title{margin:0;font-size:18px;font-weight:800}.form-group{flex-direction:column;gap:6px;display:flex}.form-label{color:var(--text-muted);font-size:12px;font-weight:700}.form-input{background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-main);transition:all var(--transition-fast);border-radius:8px;outline:none;padding:10px 14px;font-size:14px}.form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #10b98126}.weight-adjuster{gap:6px;display:flex}.adjust-btn{border:1px solid var(--border-color);background:var(--bg-tertiary);cursor:pointer;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;border-radius:8px;padding:10px 12px;font-size:12px;font-weight:700}.adjust-btn:active{background:var(--border-color)}.modal-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.empty-workout{background:var(--bg-secondary);border:2px dashed var(--border-color);text-align:center;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:40px 16px;display:flex}.empty-title{font-size:18px;font-weight:800}.empty-desc{color:var(--text-muted);max-width:280px;font-size:12px}
