:root{--navy-950:#06101f;--navy-900:#081426;--navy-800:#0d2039;--blue-500:#54b9f3;--blue-300:#a9e1ff;--ink:#e8f3fc;--muted:#8fa8bd;--line:#a4d5f429}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--navy-950);color:var(--ink);letter-spacing:-.01em;margin:0;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.login-page{place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{border:1px solid var(--line);background:linear-gradient(145deg,#102844,#09182b);border-radius:24px;width:min(100%,410px);padding:32px;box-shadow:0 24px 70px #00000047}.eyebrow{color:var(--blue-300);letter-spacing:.14em;text-transform:uppercase;font-size:.78rem;font-weight:700}h1{margin:10px 0 8px;font-size:clamp(2rem,8vw,2.65rem);line-height:1.02}.muted{color:var(--muted);line-height:1.55}.login-form{gap:14px;margin-top:28px;display:grid}label{color:var(--blue-300);font-size:.86rem;font-weight:650}input{width:100%;min-height:52px;color:var(--ink);background:#020a1559;border:1px solid #a9e1ff40;border-radius:13px;outline:none;margin-top:7px;padding:0 14px}input:focus{border-color:var(--blue-500);box-shadow:0 0 0 3px #54b9f329}.primary-button{background:var(--blue-500);color:#06101f;border:0;border-radius:13px;min-height:54px;font-weight:800}.primary-button:hover{background:#82d2ff}.error{color:#ffb6bc;margin:0;font-size:.9rem}.app-shell{max-width:980px;min-height:100vh;margin:0 auto;padding:24px 18px 106px}.topbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand-mark{width:42px;height:42px;color:var(--blue-300);background:var(--navy-800);border:1px solid #a9e1ff40;border-radius:12px;place-items:center;font-size:1.35rem;display:grid}.brand-title{margin:0;font-size:1.05rem}.brand-caption{color:var(--muted);margin:3px 0 0;font-size:.8rem}.logout{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:10px;padding:9px 12px}.logout:hover{color:var(--ink);border-color:var(--blue-500)}.date-line{color:var(--blue-300);margin:0 0 7px;font-size:.88rem;font-weight:700}.welcome{margin:0;font-size:clamp(1.65rem,7vw,2.6rem)}.intro{max-width:540px;margin:10px 0 24px}.nav-grid{grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 20px;display:grid}.nav-grid button{border:1px solid var(--line);min-height:52px;color:var(--muted);background:#0d20397a;border-radius:13px;place-items:center;font-size:.88rem;font-weight:700;display:grid}.nav-grid button[aria-current=page]{color:var(--ink);background:#123252;border-color:#54b9f3b3}.notebook{gap:14px;display:grid}.section-card{border:1px solid var(--line);background:#0d2039a6;border-radius:18px;padding:22px}.section-card h2{margin:0 0 8px;font-size:1.1rem}.section-card p{color:var(--muted);margin:0;line-height:1.5}.empty-state{background:#06101f59;border:1px dashed #a9e1ff47;border-radius:15px;align-content:center;place-items:start;gap:8px;min-height:145px;padding:22px;display:grid}.empty-state strong{color:var(--blue-300)}.history-list{gap:9px;display:grid}.history-item{border-bottom:1px solid var(--line);gap:3px;padding:12px 0;display:grid}.history-item:last-child{border-bottom:0}.history-item summary{cursor:pointer;gap:3px;display:grid}.detail-body{gap:10px;margin-top:12px;padding-left:5px;display:grid}.detail-body details{border-top:1px solid var(--line);padding:9px 0}.detail-body summary{cursor:pointer;color:var(--blue-300)}.set-list,.program-list{gap:7px;margin-top:9px;display:grid}.set-row,.program-list>div{gap:2px;font-size:.84rem;display:grid}.flag-inline{color:#ffd18a;font-size:.78rem;line-height:1.35}.import-status{font-size:.84rem;margin-top:14px!important}.flag-list{color:var(--blue-300);gap:8px;margin:12px 0 0;padding-left:18px;font-size:.84rem;display:grid}.flag-list li{gap:2px;display:grid}.footer-note{color:#607990;margin:22px 0 0;font-size:.78rem}@media (min-width:700px){.app-shell{padding:42px 30px 110px}.notebook{grid-template-columns:repeat(2,minmax(0,1fr))}.section-card:first-child{grid-column:span 2}}.workout-phone{gap:14px;display:grid}.offline-setup{color:var(--muted);margin:-16px 0 16px;font-size:.8rem}.sync-strip{border:1px solid var(--line);min-height:48px;color:var(--muted);background:#0d20398c;border-radius:13px;flex-wrap:wrap;align-items:center;gap:7px;padding:9px 12px;font-size:.82rem;display:flex}.sync-strip button{border:1px solid var(--line);min-height:44px;color:var(--blue-300);background:0 0;border-radius:10px;margin-left:auto;padding:0 12px}.save-dot{background:#62d59a;border-radius:50%;width:9px;height:9px}.save-dot.saving,.save-dot.loading{background:#ffd18a}.save-dot.error{background:#ff8f9a}.workout-alert{background:#5f141f40;border:1px solid #ff8f9a4d;border-radius:12px;padding:12px}.today-start,.active-workout{gap:14px;display:grid}.today-start{border:1px solid var(--line);background:linear-gradient(145deg,#102844,#09182b);border-radius:20px;padding:24px 20px}.today-start h2,.workout-heading h2{margin:0;font-size:clamp(1.55rem,7vw,2.2rem)}.budget-picker,.load-grid{border:0;margin:8px 0 0;padding:0}.budget-picker legend,.load-grid legend{color:var(--blue-300);margin-bottom:8px;font-size:.86rem;font-weight:700}.budget-picker{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.budget-picker legend{grid-column:1/-1}.budget-picker button,.segmented button,.button-row button,.rest-card button,.reorder button,.confirmed-sets button,.skipped-row button,.cardio-card button,.workout-heading>button,.dialog-actions button{border:1px solid var(--line);min-height:44px;color:var(--ink);background:#06101f73;border-radius:11px;padding:8px 12px}.budget-picker button[aria-pressed=true],.segmented button[aria-pressed=true]{border-color:var(--blue-500);color:var(--blue-300);background:#123b61}.start-plan{gap:10px;display:grid}.start-plan label{gap:3px;display:grid}select{width:100%;min-height:50px;color:var(--ink);background:#0a1b30;border:1px solid #a9e1ff40;border-radius:12px;margin-top:6px;padding:0 38px 0 12px}.start-button,.finish-button{width:100%}.workout-heading{justify-content:space-between;align-items:start;gap:12px;padding:6px 2px;display:flex}.workout-heading p{margin:4px 0 0}.rest-card{background:#103656b3;border:1px solid #54b9f357;border-radius:15px;justify-content:space-between;align-items:center;gap:10px;padding:14px;display:flex}.rest-card>div{gap:6px;display:flex}.exercise-card,.cardio-card{border:1px solid var(--line);background:#0d2039b8;border-radius:18px;padding:18px}.exercise-card.skipped{opacity:.78}.exercise-card>header{justify-content:space-between;gap:12px;display:flex}.exercise-card h3,.cardio-card h3{margin:0;font-size:1.2rem}.exercise-card header p{color:var(--blue-300);margin:4px 0 0;font-size:.88rem}.exercise-number{float:left;background:var(--navy-950);width:30px;height:30px;color:var(--blue-300);border-radius:9px;place-items:center;margin-right:9px;font-weight:800;display:grid}.reorder{gap:5px;display:flex}.reorder button{min-width:44px;padding:0}.prescription{clear:both;color:var(--muted);margin:14px 0 8px}.last-result{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:8px 0 14px;padding:10px 0}.last-result summary{min-height:44px;color:var(--blue-300);cursor:pointer;align-items:center;font-size:.86rem;display:flex}.last-result p{color:var(--muted);margin:4px 0 8px;font-size:.86rem;line-height:1.45}.confirmed-sets{gap:7px;margin-bottom:14px;display:grid}.confirmed-sets>div,.skipped-row{background:#06101f8c;border-radius:10px;justify-content:space-between;align-items:center;gap:9px;min-height:48px;padding:8px 10px;font-size:.82rem;display:flex}.set-entry{gap:12px;display:grid}.segmented,.button-row{flex-wrap:wrap;gap:8px;display:flex}.segmented button{flex:1}.load-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.load-grid legend,.load-total{grid-column:1/-1}.load-total{color:var(--blue-300);font-size:.84rem}.load-warning{color:#ffd18a;border:1px solid #ffd18a73;border-radius:10px;margin:0;padding:11px;font-size:.86rem;line-height:1.4}.input-pair{grid-template-columns:1fr 1fr;gap:10px;display:grid}.set-entry input,.load-grid input,.cardio-card input{min-height:50px}.number-stepper{grid-template-columns:44px minmax(0,1fr) 44px;gap:5px;margin-top:7px;display:grid}.number-stepper input{text-align:center;min-width:0;margin:0;padding:0 6px}.number-stepper button{min-width:44px;min-height:50px;color:var(--blue-300);background:#06101f99;border:1px solid #a9e1ff40;border-radius:11px;font-size:1.4rem}.button-row .primary-button{color:#06101f;background:var(--blue-500);flex:150px}.cardio-card{gap:12px;display:grid}.cardio-card p{color:var(--muted);margin:0}.conflict-card{background:#5b390d52;border:1px solid #ffd18a;border-radius:16px;padding:18px}.conflict-card h2{margin:0 0 8px}.conflict-card p{color:var(--muted);margin:5px 0}.conflict-comparison{gap:10px;margin:14px 0;display:grid}.conflict-copy{border:1px solid var(--line);background:#06101f73;border-radius:12px;max-height:260px;padding:12px;overflow:auto}.conflict-copy h3{color:var(--blue-300);margin:0 0 5px}.conflict-copy>div{border-top:1px solid var(--line);gap:2px;padding:7px 0;font-size:.8rem;display:grid}.history-notebook{margin-top:24px}.import-review{width:100%}.import-review>summary{cursor:pointer;min-height:52px;color:var(--blue-300);align-items:center;display:flex}.import-review>summary>span{gap:4px;display:grid}.import-review>summary small{color:var(--muted);font-weight:500}.import-review-body{border-top:1px solid var(--line);margin-top:14px;padding-top:4px}.modal-backdrop{z-index:20;background:#020811c7;align-items:end;padding:16px;display:grid;position:fixed;inset:0}.logout-dialog{border:1px solid var(--line);background:#0d2039;border-radius:20px;width:min(100%,520px);max-height:90vh;margin:0 auto;padding:22px;overflow:auto}.logout-dialog h2{margin:0 0 8px}.dialog-actions{gap:8px;margin-top:18px;display:grid}.dialog-actions .danger-button{color:#ffb6bc;border-color:#ff8f9a66}.today-view,.exercise-browser,.progress-dashboard{gap:16px;display:grid}.view-heading h2{margin:0;font-size:clamp(1.65rem,7vw,2.35rem)}.view-heading p:last-child{margin:7px 0 0}.budget-summary{border:1px solid var(--line);background:#06101f6b;border-radius:13px;padding:13px}.budget-summary p{color:var(--muted);margin:7px 0 0;font-size:.86rem;line-height:1.45}.recent-workouts{border:1px solid var(--line);background:#0d2039a6;border-radius:18px;gap:8px;padding:18px;display:grid}.recent-workouts h3{margin:0 0 3px}.recent-workouts>div{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;min-height:52px;padding-top:8px;font-size:.86rem;display:flex}.recent-workouts button,.preference-editor button,.substitution-picker button,.video-link,.correction-note button{border:1px solid var(--line);min-height:44px;color:var(--blue-300);background:#06101f80;border-radius:11px;justify-content:center;align-items:center;padding:8px 12px;text-decoration:none;display:inline-flex}.setup-alert{color:#ffd18a;background:#5b390d38;border:1px solid #ffd18a66;border-radius:11px;margin:10px 0;padding:11px;font-size:.84rem;line-height:1.45}.form-details,.substitution-picker{border-bottom:1px solid var(--line);margin:8px 0 14px;padding:3px 0 12px}.form-details>summary,.substitution-picker>summary{min-height:44px;color:var(--blue-300);cursor:pointer;align-items:center;font-size:.86rem;font-weight:700;display:flex}.guide-panel{border:1px solid var(--line);background:#06101f61;border-radius:13px;gap:12px;padding:12px;display:grid}.guide-panel ol{color:var(--muted);margin:6px 0 0;padding-left:22px;font-size:.86rem;line-height:1.5}.missing-video{color:#ffd18a;margin:0;font-size:.84rem}.privacy-note{color:var(--muted);font-size:.76rem;margin:-5px 0 0!important}.preference-editor{gap:10px;margin-top:12px;display:grid}textarea{resize:vertical;width:100%;min-height:82px;color:var(--ink);background:#020a1559;border:1px solid #a9e1ff40;border-radius:13px;outline:none;margin-top:7px;padding:12px 14px}textarea:focus{border-color:var(--blue-500);box-shadow:0 0 0 3px #54b9f329}.preference-status{color:var(--muted);margin:0;font-size:.78rem}.substitution-picker button{text-align:left;flex-direction:column;align-items:flex-start;width:100%;margin-top:7px}.substitution-picker button span{color:var(--muted);font-size:.78rem}.technique-check{border:1px solid var(--line);min-height:48px;color:var(--ink);border-radius:11px;align-items:center;gap:10px;padding:10px;display:flex}.technique-check input{width:24px;min-width:24px;min-height:24px;accent-color:var(--blue-500);margin:0}.correction-note{border:1px solid var(--line);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.correction-note p{color:var(--muted);margin:0;font-size:.84rem}.search-field{display:block}.exercise-library-list,.progress-list{gap:10px;display:grid}.library-card,.progress-card{border:1px solid var(--line);background:#0d2039a8;border-radius:16px;padding:16px}.library-card>summary{cursor:pointer;min-height:48px;color:var(--blue-300);justify-content:space-between;align-items:center;gap:12px;display:flex}.library-card>summary span:first-child{color:var(--ink);gap:3px;display:grid}.library-card>summary small{color:var(--muted);font-weight:500}.exact-variant-settings{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}.exact-variant-settings h3{margin:0}.metric-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.metric-grid>div{border:1px solid var(--line);background:#0d2039a8;border-radius:14px;align-content:center;gap:3px;min-height:88px;padding:14px;display:grid}.metric-grid strong{color:var(--blue-300);font-size:1.5rem}.metric-grid span{color:var(--muted);font-size:.8rem}.progress-card h3{margin:0}.progress-card>p{margin:5px 0}.comparison-row{gap:8px;margin:12px 0;display:grid}.comparison-row>div{background:#06101f73;border-radius:10px;gap:3px;padding:10px;font-size:.82rem;display:grid}.comparison-row span{color:var(--muted)}.suggestion{color:var(--muted);background:#06101f73;border-radius:10px;padding:10px;font-size:.82rem;line-height:1.45}.suggestion.increase_same_basis,.suggestion.decrease_assistance{color:#a9f4c9;border:1px solid #62d59a40}.weekly-progress{border:1px solid var(--line);background:#0d2039a8;border-radius:16px;padding:16px}.weekly-progress h3{margin:0 0 12px}.week-chart{align-items:stretch;gap:8px;min-height:170px;display:flex;overflow-x:auto}.week-column{min-width:58px;color:var(--muted);text-align:center;flex:1;grid-template-rows:105px auto auto auto;gap:3px;font-size:.68rem;display:grid}.week-bars{border-bottom:1px solid var(--line);justify-content:center;align-items:end;gap:4px;display:flex}.week-bars i{background:var(--blue-500);border-radius:5px 5px 0 0;width:13px;min-height:3px}.week-bars i+i{background:#62d59a}.week-column strong{color:var(--ink);font-size:.7rem}.chart-legend{color:var(--muted);gap:14px;margin:10px 0 0;font-size:.75rem;display:flex}.chart-legend span:before{content:"";background:var(--blue-500);border-radius:2px;width:9px;height:9px;margin-right:5px;display:inline-block}.chart-legend span+span:before{background:#62d59a}.variant-series{margin:10px 0}.variant-series svg{border:1px solid var(--line);background:#06101f6b;border-radius:10px;width:100%;height:96px}.variant-series line{stroke:var(--line);stroke-width:1px}.variant-series polyline{fill:none;stroke:var(--blue-500);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.variant-series circle{fill:var(--navy-950);stroke:var(--blue-300);stroke-width:2px}.variant-series>div{color:var(--muted);justify-content:space-between;gap:8px;font-size:.7rem;display:flex}.rep-trend{border:1px solid var(--line);background:#06101f4d;border-radius:12px;gap:9px;margin:14px 0;padding:12px;display:grid}.rep-trend label{grid-template-columns:minmax(0,1fr) 112px;align-items:center;gap:10px;display:grid}.rep-trend select{margin:0}.rep-trend svg{border:1px solid var(--line);background:#06101f6b;border-radius:10px;width:100%;height:92px}.rep-trend line{stroke:var(--line);stroke-width:1px}.rep-trend polyline{fill:none;stroke:#62d59a;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.rep-trend circle{fill:var(--navy-950);stroke:#a9f4c9;stroke-width:2px}.rep-point-list{color:var(--muted);gap:3px;font-size:.72rem;display:grid}.rep-gain{border:1px solid #62d59a40;border-radius:9px;padding:9px;font-size:.8rem;color:#a9f4c9!important;margin:0!important}.recovery-panel{gap:16px;margin-top:16px;display:grid}.recovery-panel header h2,.export-card h2{margin:0 0 7px;font-size:1.35rem}.snapshot-status{border:1px solid var(--line);border-radius:11px;margin:0;padding:10px 12px;font-size:.78rem;color:var(--blue-300)!important}.recovery-trends{grid-template-columns:1fr 1fr;gap:8px;display:grid}.recovery-trends article{border:1px solid var(--line);background:#06101f6b;border-radius:13px;padding:13px}.recovery-trends h3,.recovery-list h3,.recovery-conflict h3,.whoop-setup h3{margin:0 0 8px}.recovery-trends p,.recovery-trends ul{color:var(--muted);margin:6px 0;font-size:.78rem;line-height:1.4}.recovery-trends ul{padding-left:18px}.recovery-form fieldset{border:1px solid var(--line);border-radius:15px;grid-template-columns:1fr 1fr;gap:11px;margin:0;padding:16px;display:grid}.recovery-form legend{color:var(--blue-300);padding:0 6px;font-weight:750}:is(.recovery-form label:has(textarea),.recovery-form p,.recovery-form button){grid-column:1/-1}.recovery-form label:has(input[type=checkbox]){min-height:48px;color:var(--ink);grid-column:1/-1;align-items:center;gap:9px;display:flex}.recovery-form input[type=checkbox]{width:24px;min-width:24px;min-height:24px;accent-color:var(--blue-500);margin:0}.recovery-form button,.recovery-conflict button,.recovery-list button,.whoop-setup button,.button-link,.export-card button{border:1px solid var(--line);min-height:46px;color:var(--blue-300);background:#06101f80;border-radius:11px;justify-content:center;align-items:center;padding:9px 13px;text-decoration:none;display:inline-flex}.recovery-form button[type=submit]{color:#06101f;background:var(--blue-500);font-weight:800}.recovery-conflict{background:#5b390d38;border:1px solid #ffd18a;border-radius:14px;padding:14px}.recovery-conflict>div{grid-template-columns:1fr 1fr;gap:8px;margin:10px 0;display:grid}.recovery-conflict article{border:1px solid var(--line);background:#06101f6b;border-radius:11px;padding:10px}.recovery-conflict p,.recovery-list p{color:var(--muted);margin:5px 0;font-size:.82rem;line-height:1.4}.recovery-conflict button+button{margin-left:8px}.recovery-list{gap:8px;display:grid}.recovery-list article{border-top:1px solid var(--line);gap:4px;padding:11px 0;display:grid}.recovery-list button{justify-self:start;margin-top:4px}.whoop-setup{border:1px dashed #a9e1ff40;border-radius:14px;padding:14px}.whoop-setup p{margin:0 0 10px}.connection-state{color:#a9f4c9;align-items:center;gap:8px;font-weight:800;display:flex}.whoop-details{gap:7px;margin:10px 0 14px;display:grid}.whoop-details>div{border-top:1px solid var(--line);justify-content:space-between;gap:14px;padding-top:7px;font-size:.8rem;display:flex}.whoop-details dt{color:var(--muted)}.whoop-details dd{text-align:right;margin:0}.whoop-actions{flex-wrap:wrap;gap:8px;display:flex}.whoop-actions .danger-button{color:#ffb6bc;border-color:#ff8f9a66}.export-card{gap:12px;margin-top:16px;display:grid}button:disabled{cursor:default;opacity:.4}@media (max-width:420px){.app-shell{padding:18px 12px 90px}.brand-caption{max-width:190px}.nav-grid{z-index:5;background:var(--navy-950);padding:7px 0;position:sticky;top:0}.nav-grid button{min-width:0;padding:4px;font-size:.78rem}.exercise-card,.cardio-card{padding:15px}.input-pair{gap:7px}.load-grid{grid-template-columns:1fr}.load-grid legend,.load-total{grid-column:1}.recent-workouts>div,.correction-note{flex-direction:column;align-items:stretch}.recovery-form fieldset,.recovery-trends,.recovery-conflict>div{grid-template-columns:1fr}.recovery-form label{grid-column:1}.recovery-conflict button{width:100%}.recovery-conflict button+button{margin:8px 0 0}.button-link,.export-card button{flex:100%}}
