:root{--primary: #00ff88;--primary-dim: rgba(0, 255, 136, .1);--primary-dim-hover: rgba(0, 255, 136, .18);--background: #0b0b0b;--surface: #141414;--surface-2: #1c1c1c;--surface-3: #252525;--border: #2a2a2a;--border-subtle: #1e1e1e;--text: #f0f0f0;--text-muted: #666;--text-dim: #999;--danger: #ff3b3b;--danger-dim: rgba(255, 59, 59, .1);--edit: #f0a500;--edit-dim: rgba(240, 165, 0, .08);--font-display: "Barlow Condensed", sans-serif;--font-body: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "IBM Plex Mono", "Courier New", monospace;--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.25rem;--sp-6: 1.5rem;--sp-8: 2rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-pill: 100px;--transition: .16s ease}body{margin:0;padding:0;font-family:var(--font-body);background-color:var(--background);color:var(--text);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}.container{max-width:560px;margin:0 auto;padding:var(--sp-4);min-height:100dvh}@media(min-width:480px){.container{padding:var(--sp-6) var(--sp-4)}}header{margin-bottom:var(--sp-6)}.header-row{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-4)}.btn-logout{font-family:var(--font-mono);font-size:.7rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);background:transparent;border:1px solid var(--border);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-sm);cursor:pointer;transition:color var(--transition),border-color var(--transition)}.btn-logout:hover{color:var(--text-dim);border-color:var(--text-muted)}h1{font-family:var(--font-display);font-size:2rem;font-weight:800;letter-spacing:.06em;color:var(--primary);text-transform:uppercase;margin:0;line-height:1}h2{font-family:var(--font-display);font-size:1.3rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;margin:0 0 var(--sp-4);color:var(--text)}h3{font-family:var(--font-body);font-size:.9rem;font-weight:600;margin:0 0 var(--sp-3);color:var(--text)}.card{background:var(--surface);padding:var(--sp-5);border-radius:var(--radius-lg);margin-bottom:var(--sp-4);border:1px solid var(--border)}@media(min-width:480px){.card{padding:var(--sp-6)}}.tabs{display:flex;gap:var(--sp-1);margin-bottom:var(--sp-6);background:var(--surface);padding:var(--sp-1);border-radius:var(--radius-lg);border:1px solid var(--border)}button{cursor:pointer;border:none;font-family:var(--font-body);font-size:.875rem;font-weight:600;border-radius:var(--radius-sm);transition:all var(--transition)}.tab-btn{flex:1;background:transparent;color:var(--text-muted);border:none;padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-md);font-family:var(--font-body);font-size:.85rem;font-weight:600;cursor:pointer;transition:all var(--transition);letter-spacing:.02em}.tab-btn:hover:not(.active){color:var(--text-dim);background:var(--surface-2)}.tab-btn.active{background:var(--primary);color:#000;font-weight:700}.btn-primary{background:var(--primary);color:#000;padding:var(--sp-3) var(--sp-4);width:100%;font-weight:700;border-radius:var(--radius-sm);margin-top:var(--sp-2)}.btn-primary:hover{filter:brightness(1.08)}.btn-primary:active{filter:brightness(.95);transform:scale(.99)}.btn-danger{background:transparent;color:var(--danger);border:1px solid transparent;padding:var(--sp-2) var(--sp-3);font-size:.8rem}.btn-danger:hover{background:var(--danger-dim);border-color:var(--danger)}input[type=text],input[type=email],input[type=password],input[type=number]{width:100%;padding:var(--sp-3) var(--sp-4);margin-bottom:var(--sp-3);background:var(--surface-3);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-sm);box-sizing:border-box;font-family:var(--font-body);font-size:.9rem;transition:border-color var(--transition);outline:none}input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,input[type=number]:focus{border-color:var(--primary)}input::placeholder{color:var(--text-muted)}.input-row{display:flex;gap:var(--sp-2)}.input-row input{flex:1;min-width:0}.routine-item{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-3) 0;border-bottom:1px solid var(--border-subtle)}.routine-item:last-child{border-bottom:none;padding-bottom:0}.routine-item-info{flex:1;min-width:0}.routine-item-name{font-size:.9rem;font-weight:600}.routine-item-detail{font-family:var(--font-mono);font-size:.72rem;color:var(--text-muted);margin-top:2px}.routine-item-actions{display:flex;gap:var(--sp-2);flex-shrink:0}.btn-add-exercise{width:100%;margin-top:var(--sp-3);background:transparent;color:var(--text-muted);border:1px dashed var(--border);padding:var(--sp-3);border-radius:var(--radius-sm);font-size:.82rem;text-align:center;cursor:pointer;transition:all var(--transition)}.btn-add-exercise:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-dim)}.tracker-item{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);margin-bottom:var(--sp-2);background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition),border-color var(--transition);-webkit-user-select:none;user-select:none}.tracker-item:hover{background:var(--surface-3)}.tracker-item.completed{border-left:3px solid var(--primary);opacity:.55;background:var(--primary-dim)}.tracker-item.completed:hover{opacity:.72;background:var(--primary-dim-hover)}.checkbox{flex-shrink:0;width:20px;height:20px;border:2px solid var(--border);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;color:#000;transition:all var(--transition)}.completed .checkbox{background:var(--primary);border-color:var(--primary)}.tracker-item-info{flex:1;min-width:0}.tracker-item-name{font-weight:600;font-size:.9rem;line-height:1.3}.tracker-item-detail{font-family:var(--font-mono);font-size:.72rem;color:var(--text-muted);margin-top:2px}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-3);margin-bottom:var(--sp-6)}.stat-card{text-align:center;padding:var(--sp-5) var(--sp-4);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md)}.stat-value{font-family:var(--font-display);font-size:3rem;font-weight:800;color:var(--primary);line-height:1;margin-bottom:var(--sp-2)}.stat-label{font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.block-section{margin-bottom:var(--sp-5)}.block-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--sp-3);padding-bottom:var(--sp-2);border-bottom:1px solid var(--border)}.block-header strong{font-family:var(--font-display);font-size:1rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.block-rounds-badge{font-family:var(--font-mono);font-size:.68rem;font-weight:500;color:var(--primary);background:var(--primary-dim);border:1px solid rgba(0,255,136,.22);border-radius:var(--radius-pill);padding:.15rem .55rem;text-transform:uppercase;letter-spacing:.06em}.history-list{display:flex;flex-direction:column;gap:var(--sp-2)}.history-item{display:flex;justify-content:space-between;align-items:center;padding:var(--sp-3) var(--sp-4);background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.history-date{font-family:var(--font-mono);font-size:.78rem;color:var(--text-dim);letter-spacing:.04em}.history-count{font-family:var(--font-mono);font-size:.78rem;color:var(--primary);font-weight:500}.history-item--missed .history-date{color:var(--danger)}.history-item--missed .history-count{color:var(--danger);font-weight:600}.history-item--perfect .history-count{color:var(--primary)}.track-date{font-family:var(--font-mono);font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin:0 0 var(--sp-3)}.track-duration{font-family:var(--font-mono);font-size:.75rem;color:var(--primary);margin:0 0 var(--sp-4);letter-spacing:.04em}.track-empty-state{text-align:center;color:var(--text-muted);padding:var(--sp-8) 0;font-size:.9rem}.install-btn{position:fixed;bottom:var(--sp-5);right:var(--sp-5);background:var(--primary);color:#000;border:none;border-radius:var(--radius-pill);padding:var(--sp-2) var(--sp-5);font-family:var(--font-body);font-size:.8rem;font-weight:700;cursor:pointer;box-shadow:0 4px 20px #00ff8840;z-index:999;transition:all var(--transition);letter-spacing:.03em}.install-btn:hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 6px 24px #00ff8859}.edit-form{border-left:2px solid var(--edit);padding:var(--sp-4) var(--sp-4) var(--sp-3) var(--sp-5);margin:var(--sp-3) 0;background:var(--edit-dim);border-radius:0 var(--radius-md) var(--radius-md) 0}.edit-form-actions{display:flex;gap:var(--sp-2);margin-top:var(--sp-3)}.btn-edit{background:transparent;color:var(--edit);border:1px solid var(--edit);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-sm);font-size:.78rem;font-weight:600;cursor:pointer;transition:all var(--transition)}.btn-edit:hover{background:var(--edit);color:#000}.btn-edit-active{background:var(--edit);color:#000;border:1px solid var(--edit);padding:var(--sp-2) var(--sp-3);font-size:.78rem;font-weight:700;border-radius:var(--radius-sm)}.auth-wrapper{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--sp-4)}.auth-card{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-8)}.auth-logo{font-family:var(--font-display);font-size:2.2rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--primary);margin:0 0 var(--sp-1)}.auth-tagline{font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin:0 0 var(--sp-6)}.auth-actions{display:flex;gap:var(--sp-3);margin-top:var(--sp-2)}.auth-actions .btn-primary{flex:1}.btn-secondary{flex:1;background:transparent;color:var(--text-dim);border:1px solid var(--border);padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-sm);font-weight:600;cursor:pointer;transition:all var(--transition)}.btn-secondary:hover{border-color:var(--text-muted);color:var(--text)}.day-selector-label{font-size:.75rem;color:var(--text-muted);display:block;margin-bottom:var(--sp-2)}.day-selector{display:flex;gap:var(--sp-1);flex-wrap:wrap;margin-bottom:var(--sp-3)}.btn-day{background:transparent;color:var(--text-muted);border:1px solid var(--border);padding:var(--sp-1) var(--sp-3);border-radius:var(--radius-pill);font-size:.75rem;font-weight:600;cursor:pointer;transition:all var(--transition);letter-spacing:.03em}.btn-day:hover:not(.btn-day--on):not(.btn-day--edit){border-color:var(--text-muted);color:var(--text-dim)}.btn-day--on{background:var(--primary);color:#000;border-color:var(--primary);font-weight:700}.btn-day--edit{background:var(--edit);color:#000;border-color:var(--edit);font-weight:700}.loading-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.btn-link{display:block;width:100%;margin-top:var(--sp-4);background:transparent;border:none;color:var(--text-muted);font-size:.78rem;font-family:var(--font-body);cursor:pointer;padding:0;text-align:center;transition:color var(--transition)}.btn-link:hover{color:var(--text-dim)}.auth-info{font-family:var(--font-mono);font-size:.78rem;color:var(--primary);text-align:center;margin-bottom:var(--sp-4);line-height:1.6}.autocomplete-wrapper{position:relative}.autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;z-index:20;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);list-style:none;margin:2px 0 0;padding:0;max-height:200px;overflow-y:auto;box-shadow:0 4px 16px #0006}.autocomplete-dropdown li{display:flex;justify-content:space-between;align-items:center;padding:var(--sp-2) var(--sp-3);cursor:pointer;gap:var(--sp-2);transition:background var(--transition)}.autocomplete-dropdown li:hover{background:var(--surface-3)}.autocomplete-name{font-size:.875rem;font-weight:500;color:var(--text)}.autocomplete-muscle{font-size:.75rem;color:var(--text-muted);white-space:nowrap}.autocomplete-hint{font-size:.75rem;color:var(--text-muted);margin:var(--sp-1) 0 0;padding:0}.db-linked-badge{display:inline-block;margin-top:var(--sp-1);font-size:.7rem;font-family:var(--font-mono);color:var(--primary);background:#00ff8814;padding:2px var(--sp-2);border-radius:var(--radius-pill);letter-spacing:.04em}.btn-exercise-info{flex-shrink:0;background:none;border:none;color:var(--text-dim);font-size:1rem;cursor:pointer;padding:var(--sp-1) var(--sp-2);line-height:1;transition:color var(--transition);margin-left:var(--sp-1)}.btn-exercise-info:hover{color:var(--primary)}.exercise-sheet-overlay{position:fixed;inset:0;background:#0009;z-index:200;display:flex;align-items:flex-end;justify-content:center}.exercise-sheet{background:var(--surface-2);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:var(--sp-6) var(--sp-4) var(--sp-8);width:100%;max-width:560px;max-height:80dvh;overflow-y:auto;animation:sheet-slide-up .22s ease}@keyframes sheet-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.exercise-sheet-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--sp-4);gap:var(--sp-4)}.exercise-sheet-title{font-family:var(--font-display);font-size:1.5rem;font-weight:700;margin:0;text-transform:uppercase;letter-spacing:.04em}.exercise-sheet-close{background:var(--surface-3);border:none;color:var(--text-muted);font-size:1rem;cursor:pointer;padding:var(--sp-1) var(--sp-2);border-radius:var(--radius-sm);line-height:1;flex-shrink:0;transition:color var(--transition)}.exercise-sheet-close:hover{color:var(--text)}.exercise-sheet-images{display:flex;gap:var(--sp-3);margin-bottom:var(--sp-4)}.exercise-sheet-img{flex:1;min-width:0;border-radius:var(--radius-md);max-height:180px;width:100%;object-fit:cover;background:var(--surface-3)}.exercise-sheet-chips{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-bottom:var(--sp-4)}.exercise-chip{font-size:.75rem;padding:2px var(--sp-3);border-radius:var(--radius-pill);font-family:var(--font-mono);text-transform:lowercase}.exercise-chip--primary{background:#00ff881a;color:var(--primary)}.exercise-chip--equipment{background:var(--surface-3);color:var(--text-dim)}.exercise-sheet-instructions{padding-left:var(--sp-5);margin:0;color:var(--text);line-height:1.65}.exercise-sheet-instructions li{margin-bottom:var(--sp-3)}
