@import"https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;600;700;800&family=Inter:wght@400;500;600&display=swap";:root{--bg: #0d0d0d;--surface: #161616;--surface2: #1f1f1f;--border: #2a2a2a;--accent: #e8c547;--accent2: #f97316;--text: #f0f0f0;--text-muted: #888;--text-dim: #555;--green: #34d399;--red: #f87171;--radius: 12px;--radius-sm: 8px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;background:var(--bg);color:var(--text);font-family:Inter,sans-serif;-webkit-font-smoothing:antialiased;overscroll-behavior:none}.loading-screen{display:flex;align-items:center;justify-content:center;height:100%;background:var(--bg)}.logo-mark{display:flex;flex-direction:column;gap:5px;margin-bottom:1.5rem}.logo-mark-sm{display:flex;flex-direction:column;gap:3px}.logo-bar{display:block;height:3px;width:28px;background:var(--accent);border-radius:2px}.logo-mark-sm .logo-bar{height:2px;width:18px}.logo-bar.short{width:16px}.logo-mark-sm .logo-bar.short{width:10px}.login-page{min-height:100%;display:flex;align-items:center;justify-content:center;padding:2rem 1.5rem;background:var(--bg);background-image:radial-gradient(ellipse at 20% 50%,#e8c54710 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,#f9731610 0%,transparent 50%)}.login-card{width:100%;max-width:380px}.login-header{margin-bottom:2.5rem}.login-header h1{font-family:Barlow Condensed,sans-serif;font-size:3.5rem;font-weight:800;line-height:.95;letter-spacing:-1px;color:var(--text);margin-bottom:.5rem}.login-sub{color:var(--text-muted);font-size:.85rem;letter-spacing:.5px}.login-form{display:flex;flex-direction:column;gap:1rem}.field{display:flex;flex-direction:column;gap:.4rem}.field label{font-size:.7rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-muted)}.field input{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.85rem 1rem;color:var(--text);font-size:1rem;font-family:Inter,sans-serif;outline:none;transition:border-color .2s}.field input:focus{border-color:var(--accent)}.error-msg{color:var(--red);font-size:.85rem;padding:.5rem .75rem;background:#f8717115;border-radius:var(--radius-sm);border:1px solid #f8717130}.btn-primary{background:var(--accent);color:#0d0d0d;border:none;border-radius:var(--radius-sm);padding:.9rem 1.5rem;font-family:Barlow Condensed,sans-serif;font-size:1.1rem;font-weight:700;letter-spacing:1px;cursor:pointer;transition:opacity .15s,transform .1s}.btn-primary:hover{opacity:.9}.btn-primary:active{transform:scale(.98)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-primary.large{padding:1rem 2rem;font-size:1.15rem}.btn-secondary{background:transparent;color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.85rem 1.5rem;font-family:Inter,sans-serif;font-size:.9rem;cursor:pointer;transition:border-color .2s,color .2s}.btn-secondary:hover{border-color:var(--text-muted);color:var(--text)}.btn-ghost{background:transparent;border:none;color:var(--text-muted);font-size:.8rem;cursor:pointer;padding:.3rem .5rem}.btn-ghost:hover{color:var(--text)}.btn-back{background:var(--surface);border:1px solid var(--border);color:var(--text);width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1rem;flex-shrink:0}.btn-link{background:none;border:none;color:var(--accent);font-size:.8rem;cursor:pointer;font-family:Inter,sans-serif}.btn-start{background:var(--accent);color:#0d0d0d;border:none;border-radius:var(--radius-sm);padding:.75rem 1.5rem;font-family:Barlow Condensed,sans-serif;font-weight:700;font-size:1rem;letter-spacing:1px;cursor:pointer;white-space:nowrap;flex-shrink:0}.app-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border);background:var(--bg);position:sticky;top:0;z-index:10}.header-brand{display:flex;align-items:center;gap:.75rem}.header-title{font-family:Barlow Condensed,sans-serif;font-weight:800;font-size:1.1rem;letter-spacing:2px}.header-actions{display:flex;align-items:center;gap:.5rem}.user-badge{background:var(--surface2);border:1px solid var(--border);border-radius:20px;padding:.25rem .75rem;font-size:.75rem;color:var(--text-muted);text-transform:lowercase}.dashboard{display:flex;flex-direction:column;min-height:100%;padding-bottom:80px}.dash-main{padding:1.25rem;display:flex;flex-direction:column;gap:1.5rem}.week-banner{background:linear-gradient(135deg,var(--surface) 0%,var(--surface2) 100%);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;position:relative}.week-banner:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent),var(--accent2))}.week-banner-inner{padding:1.25rem 1.5rem;display:flex;align-items:center;justify-content:space-between}.week-info{display:flex;flex-direction:column;gap:.2rem}.week-label{font-size:.65rem;letter-spacing:2px;color:var(--accent);font-weight:600}.week-number{font-family:Barlow Condensed,sans-serif;font-size:2.5rem;font-weight:800;line-height:1}.block-name{font-size:.85rem;font-weight:600;color:var(--text)}.block-focus{font-size:.75rem;color:var(--text-muted)}.week-progress{text-align:right}.week-progress-count{display:flex;align-items:baseline;justify-content:flex-end;gap:2px;margin-bottom:.3rem}.week-progress-done{font-family:Barlow Condensed,sans-serif;font-size:2.5rem;font-weight:800;line-height:1;color:var(--accent)}.week-progress-sep{font-family:Barlow Condensed,sans-serif;font-size:1.5rem;font-weight:400;color:var(--text-dim)}.week-progress-total{font-family:Barlow Condensed,sans-serif;font-size:1.5rem;font-weight:700;color:var(--text-muted)}.progress-circles{display:flex;gap:.5rem;justify-content:flex-end;margin-bottom:.4rem}.progress-dot{width:14px;height:14px;border-radius:50%;border:2px solid var(--border);background:transparent;transition:all .3s}.progress-dot.done{background:var(--accent);border-color:var(--accent)}.progress-label{font-size:.7rem;color:var(--text-muted)}.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1rem .75rem;text-align:center;display:flex;flex-direction:column;gap:.25rem}.stat-card.accent{border-color:var(--accent)}.stat-value{font-family:Barlow Condensed,sans-serif;font-size:2rem;font-weight:800;line-height:1;color:var(--text)}.stat-card.accent .stat-value{color:var(--accent)}.stat-label{font-size:.65rem;color:var(--text-muted);letter-spacing:1px;text-transform:uppercase}.next-workout-label{font-size:.65rem;letter-spacing:2px;color:var(--text-muted);font-weight:600;margin-bottom:.5rem}.next-workout-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.next-session-info h2{font-family:Barlow Condensed,sans-serif;font-size:1.4rem;font-weight:700}.next-session-info p{font-size:.8rem;color:var(--text-muted);margin-top:.2rem}.section-title{font-family:Barlow Condensed,sans-serif;font-size:.75rem;font-weight:700;letter-spacing:3px;color:var(--text-dim);margin-bottom:.75rem}.section-header{display:flex;align-items:center;justify-content:space-between}.blocks-list{display:flex;flex-direction:column;gap:.5rem}.block-row{display:flex;align-items:center;gap:1rem;padding:.85rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);transition:border-color .2s}.block-row.active{border-color:var(--accent);background:#e8c5470a}.block-weeks{font-family:Barlow Condensed,sans-serif;font-weight:700;font-size:.85rem;color:var(--text-muted);min-width:52px}.block-row.active .block-weeks{color:var(--accent)}.block-details{display:flex;flex-direction:column;gap:.1rem;flex:1}.block-title{font-size:.85rem;font-weight:600}.block-desc{font-size:.72rem;color:var(--text-muted)}.active-pill{background:var(--accent);color:#0d0d0d;font-size:.6rem;font-weight:800;letter-spacing:1px;padding:.2rem .5rem;border-radius:20px}.workouts-list{display:flex;flex-direction:column;gap:.5rem}.workout-row{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.workout-row.clickable{cursor:pointer;transition:border-color .2s}.workout-row.clickable:hover{border-color:var(--accent)}.workout-row-left{display:flex;align-items:center;gap:.75rem}.completion-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.completion-dot.done{background:var(--green)}.completion-dot.partial{background:var(--accent2)}.workout-session{font-size:.85rem;font-weight:500;display:block}.workout-date{font-size:.72rem;color:var(--text-muted)}.status-tag{font-size:.65rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:.2rem .6rem;border-radius:20px}.status-tag.done{background:#34d39920;color:var(--green)}.status-tag.partial{background:#f9731620;color:var(--accent2)}.bottom-nav{position:fixed;bottom:0;left:0;right:0;display:flex;background:var(--surface);border-top:1px solid var(--border);padding:.5rem 0 calc(.5rem + env(safe-area-inset-bottom));z-index:20}.nav-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:.2rem;background:none;border:none;color:var(--text-dim);font-size:.65rem;letter-spacing:1px;cursor:pointer;padding:.4rem;transition:color .15s}.nav-btn.active,.nav-btn:hover{color:var(--accent)}.nav-icon{font-size:1.1rem}.workout-header{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border);background:var(--bg);position:sticky;top:0;z-index:10}.workout-header-info{flex:1}.workout-week-tag{font-size:.65rem;letter-spacing:2px;color:var(--accent);font-weight:600;display:block;margin-bottom:.1rem}.workout-header-info h2{font-family:Barlow Condensed,sans-serif;font-size:1.3rem;font-weight:800}.workout-timer{font-family:Barlow Condensed,sans-serif;font-size:1.4rem;font-weight:700;color:var(--accent);letter-spacing:2px}.workout-progress-bar{height:3px;background:var(--surface2)}.workout-progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));transition:width .4s ease}.rest-banner{background:var(--surface2);border-bottom:1px solid var(--border);padding:.6rem 1.25rem;display:flex;align-items:center;gap:1rem;animation:slideDown .2s ease}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.rest-label{font-family:Barlow Condensed,sans-serif;font-size:.7rem;letter-spacing:2px;color:var(--text-muted);font-weight:700}.rest-count{font-family:Barlow Condensed,sans-serif;font-size:1.5rem;font-weight:800;color:var(--accent);min-width:50px}.rest-skip{margin-left:auto;background:none;border:1px solid var(--border);color:var(--text-muted);border-radius:20px;padding:.2rem .75rem;font-size:.75rem;cursor:pointer}.workout-page{display:flex;flex-direction:column;min-height:100%}.workout-main{padding:1.25rem 1.25rem 2rem;display:flex;flex-direction:column;gap:1rem}.exercise-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;transition:border-color .3s}.exercise-card.complete{border-color:#34d39940}.exercise-card-header{display:flex;align-items:flex-start;gap:.85rem;margin-bottom:1rem}.exercise-number{width:28px;height:28px;border-radius:50%;background:var(--surface2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:var(--text-muted);flex-shrink:0}.exercise-title-block{flex:1}.exercise-title-block h3{font-size:.95rem;font-weight:600}.exercise-meta{font-size:.72rem;color:var(--text-muted);display:block;margin-top:.2rem}.exercise-done-badge{width:24px;height:24px;background:var(--green);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;color:#0d0d0d;font-weight:700;flex-shrink:0}.sets-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.85rem}.sets-label{font-size:.7rem;color:var(--text-muted);min-width:28px;letter-spacing:1px;text-transform:uppercase}.set-buttons{display:flex;gap:.4rem;flex-wrap:wrap}.set-btn{width:38px;height:38px;border-radius:var(--radius-sm);background:var(--surface2);border:1.5px solid var(--border);color:var(--text-muted);font-weight:700;font-size:.85rem;cursor:pointer;transition:all .15s}.set-btn.done{background:#34d39920;border-color:var(--green);color:var(--green)}.set-btn.large{width:auto;height:auto;padding:.6rem 1.25rem;font-family:Barlow Condensed,sans-serif;font-size:.95rem;letter-spacing:1px}.log-row{display:flex;gap:.75rem}.log-field{display:flex;flex-direction:column;gap:.3rem}.log-field.notes{flex:1}.log-field label{font-size:.65rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-muted);font-weight:600}.log-field input{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.6rem .75rem;color:var(--text);font-size:.9rem;font-family:Inter,sans-serif;outline:none;width:90px;transition:border-color .2s}.log-field.notes input{width:100%}.log-field input:focus{border-color:var(--accent)}.finisher-card{background:linear-gradient(135deg,#f9731612,#e8c54710);border:1px solid #f9731630;border-radius:var(--radius);padding:1.25rem}.finisher-header{margin-bottom:.5rem}.finisher-tag{font-size:.6rem;font-weight:700;letter-spacing:2px;color:var(--accent2);background:#f9731620;padding:.2rem .5rem;border-radius:20px;display:inline-block;margin-bottom:.4rem}.finisher-header h3{font-size:1rem;font-weight:600}.finisher-desc{font-size:.8rem;color:var(--text-muted);margin-bottom:1rem;line-height:1.5}.workout-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.progress-page{display:flex;flex-direction:column;min-height:100%}.progress-main{padding:1.25rem 1.25rem 2rem;display:flex;flex-direction:column;gap:1.5rem}.empty-state{text-align:center;padding:3rem 1rem;color:var(--text-muted);font-size:.9rem;line-height:1.8}.loading-state{text-align:center;padding:3rem;color:var(--text-muted)}.exercise-chips{display:flex;flex-wrap:wrap;gap:.5rem}.exercise-chip{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:.35rem .85rem;font-size:.75rem;color:var(--text-muted);cursor:pointer;transition:all .15s}.exercise-chip.active{background:#e8c54720;border-color:var(--accent);color:var(--accent)}.chart-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}.chart-header{margin-bottom:1rem}.chart-header h3{font-size:.95rem;font-weight:600;margin-bottom:.75rem}.chart-stats{display:flex;gap:1rem}.chart-stat{display:flex;flex-direction:column;gap:.1rem}.chart-stat-val{font-family:Barlow Condensed,sans-serif;font-size:1.4rem;font-weight:800}.chart-stat.accent .chart-stat-val{color:var(--green)}.chart-stat-label{font-size:.65rem;color:var(--text-muted);letter-spacing:1px;text-transform:uppercase}.chart-container{margin:0 -.5rem}.exercise-overview-row{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .2s;margin-bottom:.5rem}.exercise-overview-row:hover{border-color:var(--accent)}.ex-ov-name{flex:1;font-size:.85rem;font-weight:500}.ex-ov-stats{display:flex;align-items:center;gap:.5rem}.ex-ov-weight{font-family:Barlow Condensed,sans-serif;font-size:1.1rem;font-weight:700}.ex-ov-pct{font-size:.72rem;color:var(--green);font-weight:600}.ex-ov-mini{display:flex;align-items:flex-end;gap:2px;height:24px;width:40px}.mini-bar{width:4px;border-radius:2px;min-height:3px}.progress-tabs{display:flex;gap:.5rem}.progress-tab{flex:1;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.6rem;font-family:Barlow Condensed,sans-serif;font-size:.85rem;font-weight:700;letter-spacing:1px;color:var(--text-muted);cursor:pointer;text-align:center;transition:all .15s}.progress-tab.active{background:#e8c54720;border-color:var(--accent);color:var(--accent)}.weight-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;margin-bottom:1rem}.weight-form-row{display:flex;gap:.75rem;margin-bottom:1rem}.weight-form-row .log-field{flex:1}.weight-form-row .log-field input{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.6rem .75rem;color:var(--text);font-size:.9rem;font-family:Inter,sans-serif;outline:none;width:100%;transition:border-color .2s}.weight-form-row .log-field input:focus{border-color:var(--accent)}.weight-form-row .log-field label{font-size:.65rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-muted);font-weight:600;display:block;margin-bottom:.3rem}.bw-history{display:flex;flex-direction:column;gap:.5rem}.bw-row{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.bw-date{font-size:.8rem;color:var(--text-muted)}.bw-value{font-family:Barlow Condensed,sans-serif;font-size:1.1rem;font-weight:700;color:var(--text)}@supports (padding-top: env(safe-area-inset-top)){.app-header,.workout-header{padding-top:calc(1rem + env(safe-area-inset-top))}}
