:root{--bg:#0f172a;--surface:#1a2436;--surface-2:#24314a;--text:#e8edf5;--text-dim:#93a1b8;--accent:#5ee09c;--danger:#ef6b6b;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}.hidden{display:none!important}html,body{background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}#app{min-height:100vh;padding-bottom:env(safe-area-inset-bottom)}.app-header{padding:calc(env(safe-area-inset-top) + 12px) 16px 12px;background:var(--surface);border-bottom:1px solid var(--surface-2);z-index:10;position:sticky;top:0}.header-top{justify-content:space-between;align-items:center;display:flex}.app-header h1{margin:0;font-size:1.1rem}.header-actions{gap:8px;display:flex}.header-btn{background:var(--surface-2);color:var(--text);cursor:pointer;border:none;border-radius:8px;width:34px;height:34px;font-size:1rem}.settings-divider{border-top:1px solid var(--surface);text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);margin-top:12px;padding-top:10px;font-size:.78rem}.settings-note{color:var(--text-dim);margin-top:4px;font-size:.75rem}.settings-row select{border:1px solid var(--surface);background:var(--surface);color:var(--text);border-radius:8px;padding:6px;font-size:.9rem}.settings-panel{background:var(--surface-2);border-radius:10px;margin-top:10px;padding:10px 12px}.settings-row{justify-content:space-between;align-items:center;padding:6px 0;font-size:.9rem;display:flex}.settings-input-group{align-items:center;gap:4px;display:flex}.settings-input-group input{border:1px solid var(--surface);background:var(--surface);width:56px;color:var(--text);text-align:center;border-radius:8px;padding:6px;font-size:.9rem}.day-label{color:var(--text-dim);margin-top:6px;font-size:.95rem}.hit-streak{color:var(--accent);min-height:1.2em;margin-top:4px;font-size:.85rem;font-weight:600}.swap-picker{margin-top:8px}.swap-toggle-btn{border:1px dashed var(--text-dim);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:8px;padding:6px 10px;font-size:.78rem}.swap-options{background:var(--surface-2);border-radius:10px;flex-wrap:wrap;align-items:center;gap:6px;padding:10px;display:flex}.swap-options-label{color:var(--text-dim);margin-right:2px;font-size:.78rem}.swap-option-btn{background:var(--surface);border:1px solid var(--surface);color:var(--text);cursor:pointer;border-radius:8px;padding:6px 10px;font-size:.8rem}.swap-option-btn.revert{border-color:var(--accent);color:var(--accent)}.swap-cancel-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:6px 8px;font-size:.8rem}main{max-width:560px;margin:0 auto;padding:16px}.rest-view,.placeholder-view{text-align:center;color:var(--text-dim);padding:48px 16px;font-size:1.05rem}.recap{background:#5ee09c1f;border:1px solid #5ee09c80;border-radius:12px;margin-bottom:16px;padding:12px 14px}.recap-symbols{flex-wrap:wrap;gap:6px 12px;margin-bottom:8px;display:flex}.recap-item{white-space:nowrap;font-size:.85rem}.recap-item.up{color:var(--accent)}.recap-item.down{color:var(--danger)}.recap-line{color:var(--text);font-size:.9rem;font-weight:600}.arrows{flex-shrink:0;align-items:baseline;gap:4px;margin-left:auto;display:flex}.arrow{line-height:1}.arrow.main{font-size:1.25rem;font-weight:700}.arrow.secondary{opacity:.75;font-size:.8rem}.arrow.up{color:var(--accent)}.arrow.down{color:var(--danger)}.arrow.flat{color:var(--text-dim)}.exercise-card{background:var(--surface);border-radius:14px;margin-bottom:14px;padding:14px}.exercise-header{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.exercise-name{font-size:1.05rem;font-weight:600}.remove-exercise-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:4px 6px;font-size:1rem}.last-logged{color:var(--text-dim);margin-top:2px;margin-bottom:10px;font-size:.78rem}.set-count-row{align-items:center;gap:8px;margin-bottom:8px;display:flex}.set-count-label{color:var(--text-dim);font-size:.8rem}.set-count-value{text-align:center;min-width:20px;font-size:.95rem}.set-row{align-items:center;gap:6px;padding:6px 0;display:flex}.set-label{width:48px;color:var(--text-dim);flex-shrink:0;font-size:.85rem}.stepper{background:var(--surface-2);border-radius:10px;align-items:center;display:flex;overflow:hidden}.stepper button{width:40px;height:40px;color:var(--text);cursor:pointer;background:0 0;border:none;font-size:1.2rem}.stepper button:active{background:#ffffff1a}.stepper input{width:44px;color:var(--text);text-align:center;-moz-appearance:textfield;background:0 0;border:none;font-size:1rem}.stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.stepper input.prefill{color:var(--text-dim)}.x{color:var(--text-dim);font-size:.9rem}.failure-toggle{border:1px solid var(--text-dim);width:36px;height:36px;color:var(--text-dim);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;margin-left:auto;font-weight:700}.failure-toggle.active{background:var(--danger);border-color:var(--danger);color:#fff}.add-exercise-btn{background:var(--surface);border:1px dashed var(--text-dim);width:100%;color:var(--text);cursor:pointer;border-radius:12px;margin-bottom:10px;padding:14px;font-size:.95rem}.add-exercise-row{gap:8px;margin-bottom:16px;display:flex}.add-exercise-row input{border:1px solid var(--surface-2);background:var(--surface);color:var(--text);border-radius:10px;flex:1;padding:12px;font-size:1rem}.add-exercise-row button{background:var(--accent);color:#0f172a;cursor:pointer;border:none;border-radius:10px;padding:12px 18px;font-weight:700}.section+.section{margin-top:28px}.section-heading{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;margin:0 0 10px;font-size:.95rem}.save-workout-btn{background:var(--accent);color:#0f172a;cursor:pointer;width:100%;bottom:calc(env(safe-area-inset-bottom) + 12px);border:none;border-radius:14px;padding:16px;font-size:1.05rem;font-weight:700;position:sticky}.sprint-blocks{flex-direction:column;gap:14px;display:flex}.sprint-block{background:var(--surface);border-radius:14px;padding:14px}.sprint-block-header{justify-content:space-between;align-items:baseline;margin-bottom:10px;display:flex}.sprint-block-title{font-size:1.05rem;font-weight:600}.sprint-block-count{color:var(--text-dim);font-size:.8rem}.check-taps{flex-wrap:wrap;gap:8px;display:flex}.check-tap{border:1px solid var(--surface-2);background:var(--surface-2);width:48px;height:48px;color:var(--text-dim);cursor:pointer;border-radius:10px;font-size:1.1rem;font-weight:700}.check-tap.done{background:var(--accent);border-color:var(--accent);color:#0f172a}.timed-reps{flex-direction:column;gap:8px;display:flex}.timed-rep{align-items:center;gap:10px;min-height:48px;display:flex}.timed-rep-label{width:56px;color:var(--text-dim);flex-shrink:0;font-size:.85rem}.timed-rep.logged .timed-rep-time{font-variant-numeric:tabular-nums;font-size:1.3rem;font-weight:700}.timed-rep.logged .timed-rep-pct{color:var(--text-dim);font-size:.85rem}.timed-rep.logged.stop-rep .timed-rep-pct{color:var(--danger);font-weight:700}.timed-rep-flag{text-transform:uppercase;letter-spacing:.03em;color:var(--danger);border:1px solid var(--danger);border-radius:6px;margin-left:auto;padding:1px 6px;font-size:.7rem}.timed-rep-enter-btn{background:var(--surface-2);border:1px solid var(--accent);color:var(--text);cursor:pointer;border-radius:12px;flex:1;padding:14px;font-size:1rem;font-weight:600}.timed-rep-waiting{color:var(--text-dim);opacity:.4}.timed-rep.greyed .arm-override-btn{border:1px dashed var(--text-dim);color:var(--text-dim);cursor:pointer;opacity:.6;background:0 0;border-radius:12px;flex:1;padding:12px;font-size:.85rem}.timed-rep.armed .log-anyway-btn{border:1px solid var(--danger);color:var(--danger);cursor:pointer;background:#ef6b6b26;border-radius:12px;flex:1;padding:12px;font-size:.9rem;font-weight:700}.rest-timer{background:var(--surface);border:1px solid var(--surface-2);border-radius:14px;align-items:center;gap:12px;margin-bottom:14px;padding:14px;display:flex}.rest-timer.done{border-color:var(--accent);background:#5ee09c1f}.rest-timer-label{color:var(--text-dim);flex:1;font-size:.9rem}.rest-timer.done .rest-timer-label{color:var(--accent);font-weight:600}.rest-timer-clock{font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:700}.rest-timer-dismiss{background:var(--surface-2);color:var(--text);cursor:pointer;border:none;border-radius:8px;padding:8px 12px;font-size:.85rem}.form-broke-btn{border:1px solid var(--danger);width:100%;color:var(--danger);cursor:pointer;background:0 0;border-radius:12px;margin-bottom:14px;padding:12px;font-size:.9rem}.form-broke-confirm{border:1px solid var(--danger);background:#ef6b6b1a;border-radius:12px;margin-bottom:14px;padding:12px 14px;font-size:.9rem}.form-broke-confirm-actions{gap:8px;margin-top:10px;display:flex}.form-broke-confirm-actions button{cursor:pointer;background:var(--surface-2);color:var(--text);border:none;border-radius:10px;flex:1;padding:10px;font-size:.9rem}.form-broke-confirm-actions button.danger{background:var(--danger);color:#fff;font-weight:700}.form-broke-status{color:var(--danger);border:1px solid var(--danger);border-radius:12px;margin-bottom:14px;padding:10px 14px;font-size:.85rem}.skip-overlay{z-index:95;text-align:center;background:var(--surface);flex-direction:column;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.skip-overlay.tone-light{background:linear-gradient(180deg, var(--surface) 0%, var(--surface-2) 100%)}.skip-overlay.tone-medium{background:linear-gradient(180deg, var(--surface-2) 0%, #2a2440 100%)}.skip-overlay.tone-sharp{background:linear-gradient(#2a2440 0%,#3a2340 100%)}.skip-overlay.tone-blunt{background:linear-gradient(#3a2340 0%,#40222a 100%)}.skip-overlay.tone-concerned{background:var(--surface);border-top:3px solid var(--accent)}.skip-insult{max-width:420px;font-size:1.4rem;font-weight:800;line-height:1.3}.skip-overlay.tone-concerned .skip-insult{color:var(--text-dim);font-size:1.15rem;font-weight:600}.skip-question{color:var(--text-dim);margin-top:14px;font-size:1rem}.skip-reasons{flex-wrap:wrap;justify-content:center;gap:10px;max-width:420px;margin-top:28px;display:flex}.skip-reason-btn{border:1px solid var(--surface-2);background:var(--surface-2);color:var(--text);cursor:pointer;border-radius:12px;padding:14px 18px;font-size:.95rem;font-weight:600}.skip-dismiss{color:var(--text-dim);cursor:pointer;background:0 0;border:none;margin-top:20px;padding:8px;font-size:.85rem;text-decoration:underline}.stop-overlay{background:var(--danger);z-index:100;text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.stop-overlay-title{color:#fff;letter-spacing:.05em;font-size:4rem;font-weight:900}.stop-overlay-detail{color:#fff;margin-top:12px;font-size:1.1rem;font-weight:600}.stop-overlay-sub{color:#ffffffd9;margin-top:8px;font-size:.95rem}.stop-overlay-ok{color:var(--danger);cursor:pointer;background:#fff;border:none;border-radius:14px;margin-top:32px;padding:16px 48px;font-size:1.1rem;font-weight:700}.numpad-overlay{background:var(--bg);z-index:90;padding:calc(env(safe-area-inset-top) + 16px) 20px calc(env(safe-area-inset-bottom) + 16px);flex-direction:column;display:flex;position:fixed;inset:0}.numpad-header{color:var(--text-dim);justify-content:space-between;align-items:center;font-size:.95rem;display:flex}.numpad-cancel{background:var(--surface-2);color:var(--text);cursor:pointer;border:none;border-radius:8px;width:32px;height:32px;font-size:.9rem}.numpad-display{text-align:center;font-variant-numeric:tabular-nums;margin:24px 0 8px;font-size:4rem;font-weight:700}.numpad-hint{text-align:center;min-height:1.4em;margin-bottom:16px;font-size:.95rem}.numpad-hint-ok{color:var(--accent)}.numpad-hint-danger{color:var(--danger);font-weight:700}.numpad-grid{flex:1;grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.numpad-grid button{background:var(--surface);color:var(--text);cursor:pointer;border:none;border-radius:14px;font-size:1.6rem;font-weight:600}.numpad-grid button:active{background:var(--surface-2)}.numpad-submit{grid-column:span 1;background:var(--accent)!important;color:#0f172a!important}.numpad-submit:disabled{opacity:.5;background:var(--surface)!important;color:var(--text-dim)!important}.rotation-selector{background:var(--surface);border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:14px;padding:10px 14px;display:flex}.rotation-label{color:var(--text-dim);font-size:.85rem}.rotation-select{background:var(--surface-2);color:var(--text);border:none;border-radius:8px;padding:8px 10px;font-size:.9rem}.checklist-blocks{flex-direction:column;gap:12px;display:flex}.checklist-block{background:var(--surface);border-radius:14px;padding:14px;transition:background-color .2s}.checklist-block.complete{background:#5ee09c14}.checklist-block-header{justify-content:space-between;align-items:baseline;margin-bottom:10px;display:flex}.checklist-block-title{font-size:1rem;font-weight:600}.checklist-block-count{color:var(--text-dim);font-size:.78rem}.checklist-block-actions{gap:8px;display:flex}.checklist-mark-btn{border:1px solid var(--surface-2);background:var(--surface-2);color:var(--text);cursor:pointer;border-radius:12px;flex:1;padding:12px;font-size:.95rem;font-weight:600;transition:background-color .2s,border-color .2s,color .2s}.checklist-mark-btn.done{background:var(--accent);border-color:var(--accent);color:#0f172a}.checklist-expand-btn{border:1px solid var(--surface-2);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:12px;flex-shrink:0;padding:12px 14px;font-size:.82rem}.checklist-items{border-top:1px solid var(--surface-2);flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:12px;display:flex}.checklist-item{border:1px solid var(--surface-2);background:var(--surface-2);color:var(--text-dim);cursor:pointer;border-radius:10px;padding:10px 12px;font-size:.82rem;transition:background-color .2s,color .2s}.checklist-item.done{background:var(--accent);border-color:var(--accent);color:#0f172a}.quickfeet-drills{flex-direction:column;gap:14px;display:flex}.projection-overlay{background:var(--bg);z-index:80;position:fixed;inset:0;overflow-y:auto}.projection-overlay.hidden{display:none}.proj-panel-header{background:var(--surface);border-bottom:1px solid var(--surface-2);padding:calc(env(safe-area-inset-top) + 12px) 16px 12px;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.proj-panel-header h2{margin:0;font-size:1.05rem}.proj-close{background:var(--surface-2);color:var(--text);cursor:pointer;border:none;border-radius:8px;width:32px;height:32px}.proj-panel-body{max-width:560px;padding:16px;padding-bottom:calc(env(safe-area-inset-bottom) + 32px);margin:0 auto}.session-projection{background:var(--surface);border-radius:14px;margin-top:16px;padding:14px}.session-projection-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);margin:0 0 4px;font-size:.8rem}.proj-section{border-bottom:1px solid var(--surface-2);padding:14px 0}.proj-section:last-child{border-bottom:none}.proj-heading{text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);align-items:center;gap:8px;margin:0 0 8px;font-size:.85rem;display:flex}.proj-tag{border:1px solid var(--accent);color:var(--accent);letter-spacing:.02em;border-radius:6px;padding:1px 6px;font-size:.65rem}.proj-tag.estimated{border-color:var(--text-dim);color:var(--text-dim)}.proj-hero{align-items:baseline;gap:8px;display:flex}.proj-hero-value{font-variant-numeric:tabular-nums;font-size:2.2rem;font-weight:800}.proj-hero-unit{color:var(--text-dim);font-size:1rem}.proj-assumptions{color:var(--text-dim);margin-top:4px;font-size:.8rem}.proj-secondary{margin-top:10px;font-size:.95rem}.proj-detail{margin-top:6px;font-size:.88rem;line-height:1.45}.proj-muted{color:var(--text-dim)}.proj-confidence{color:var(--text-dim);margin-top:10px;font-size:.8rem}.proj-confidence.rough{color:#e8b54a}.proj-verdict{background:var(--surface-2);border-radius:10px;margin-top:10px;padding:10px 12px;font-size:.9rem;line-height:1.5}.proj-verdict.flagged{background:#e8b54a1f;border:1px solid #e8b54a}.proj-warn{color:#e8b54a;margin-top:10px;font-size:.8rem;line-height:1.45}.proj-empty{color:var(--text-dim);padding:8px 0;font-size:.9rem}.proj-list{flex-direction:column;gap:6px;margin:10px 0 0;padding:0;list-style:none;display:flex}.proj-list li{font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:10px;font-size:.88rem;display:flex}.proj-list-right{text-align:right;align-items:center;gap:8px;font-size:.75rem;display:flex}.proj-delete{color:var(--text-dim);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:2px 4px}.proj-add-btn{border:1px dashed var(--text-dim);width:100%;color:var(--text);cursor:pointer;background:0 0;border-radius:12px;margin-top:12px;padding:12px;font-size:.9rem}.proj-form{background:var(--surface);border-radius:12px;margin-top:12px;padding:12px}.proj-form-row{justify-content:space-between;align-items:center;gap:10px;padding:6px 0;font-size:.9rem;display:flex}.proj-form-row input[type=number],.proj-form-row input[type=date],.proj-form-row select{border:1px solid var(--surface-2);background:var(--surface-2);color:var(--text);border-radius:8px;padding:8px;font-size:.9rem}.proj-form-actions{gap:8px;margin-top:12px;display:flex}.proj-form-actions button{background:var(--surface-2);color:var(--text);cursor:pointer;border:none;border-radius:10px;flex:1;padding:10px;font-size:.9rem}.proj-form-actions .proj-save{background:var(--accent);color:#0f172a;font-weight:700}
