:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;color:#172033;background:#f6f9fc;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #75a7ff;outline-offset:3px}.app-header{background:#1749c6;color:#fff;padding-top:env(safe-area-inset-top)}.head-inner{min-height:78px;max-width:1240px;margin:auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:10px;font-weight:850;font-size:1.2rem;letter-spacing:-.03em;white-space:nowrap}.brand>span:last-child span{font-weight:480;opacity:.92}.brand-icon,.modal-mark{display:grid;place-items:center;border-radius:10px;background:#fff;color:#1749c6;width:38px;height:38px;font-size:1.35rem;font-weight:900}.head-actions{display:flex;align-items:center;gap:9px}.who{font-size:.85rem;background:#ffffff25;border:1px solid #ffffff31;border-radius:999px;padding:9px 12px;white-space:nowrap}.head-install{background:#ffffff24;color:#fff;border:1px solid #ffffff3b;border-radius:10px;padding:9px 12px;font-weight:750;font-size:.86rem;white-space:nowrap}.head-install:hover{background:#ffffff3d}.nav-wrap{max-width:1240px;margin:auto;padding:17px 24px 4px}.main-nav{display:flex;flex-wrap:wrap;gap:8px}.main-nav a{display:inline-flex;align-items:center;gap:7px;background:#e5ebf5;border:1px solid transparent;border-radius:999px;padding:9px 14px;font-size:.92rem;font-weight:760;white-space:nowrap;transition:background .15s,transform .15s}.main-nav a:hover{background:#d6e1f4;transform:translateY(-1px)}.main-nav a.active{background:#1852cf;color:#fff}.main-nav a span{font-size:1.02rem;line-height:1}.container{max-width:1240px;padding:24px 24px 70px;margin:auto;min-height:68vh}.pagehead{margin-bottom:20px;display:flex;justify-content:space-between;gap:16px;align-items:end}.kicker{color:#4268a8;text-transform:uppercase;letter-spacing:.12em;font-weight:850;font-size:.73rem;margin-bottom:6px}.pagehead h1{font-size:clamp(1.95rem,4vw,2.65rem);letter-spacing:-.055em;line-height:1.08;margin:0}.pagehead p{color:#627083;margin:8px 0 0;font-size:.94rem;line-height:1.48}.eyebrow{color:#718096;text-transform:uppercase;letter-spacing:.12em;font-weight:800;font-size:.72rem}.section-title{font-size:1.23rem;letter-spacing:-.035em;margin:0 0 14px}.grid{display:grid;gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,.85fr);gap:18px;align-items:start}.card{background:#fff;border:1px solid #dbe3ef;border-radius:17px;box-shadow:0 2px 10px #143d7708;padding:22px}.card.flush{padding:0;overflow:hidden}.card h2,.card h3,.card p{margin-top:0}.card h2{font-size:1.28rem;letter-spacing:-.035em}.card h3{font-size:1.05rem;letter-spacing:-.02em}.muted{color:#64738a}.small{font-size:.83rem;line-height:1.45}.body{line-height:1.5}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.stat{min-height:125px;display:flex;flex-direction:column;justify-content:center}.stat strong{font-size:clamp(1.7rem,3vw,2.25rem);letter-spacing:-.05em;line-height:1.05}.stat small{color:#66788c;line-height:1.35;text-transform:uppercase;font-weight:740;font-size:.73rem;letter-spacing:.04em;margin-top:8px}.stat.green strong{color:#138057}.stat.blue strong{color:#1749c6}.stat.amber strong{color:#b96519}.stat .detail{font-size:.77rem;color:#758398;margin-top:4px}.stack{display:grid;gap:14px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.row.wrap{flex-wrap:wrap}.btn{background:#1852cf;color:#fff;border:1px solid #1852cf;padding:11px 17px;border-radius:10px;font-weight:780;display:inline-flex;justify-content:center;align-items:center;gap:7px}.btn:hover{background:#1043af}.btn.secondary{background:#e9eef8;color:#24334b;border-color:#e9eef8}.btn.secondary:hover{background:#dce6f7}.btn.ghost{background:#fff;color:#1749c6;border-color:#cbd9ed}.btn.ghost:hover{background:#f3f7ff}.btn.danger{background:#fff;color:#b03536;border-color:#e7c6c6}.btn:disabled{opacity:.55;cursor:wait}.pill{border-radius:999px;padding:6px 10px;font-size:.77rem;font-weight:800;white-space:nowrap;background:#e8f0ff;color:#1e58be}.pill.green{background:#ddf8eb;color:#117b53}.pill.amber{background:#fff0d8;color:#a25810}.pill.gray{background:#edf1f7;color:#516074}.pills{display:flex;flex-wrap:wrap;gap:7px}.segmented{display:flex;gap:4px;background:#edf2fa;border-radius:12px;padding:4px;width:max-content;max-width:100%}.segmented button{background:transparent;border:0;padding:9px 14px;border-radius:9px;color:#52667d;font-weight:760}.segmented button.active{background:#1852cf;color:#fff}.week-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.week-day{border:1px solid #dbe3ef;background:#fff;border-radius:13px;padding:13px;text-align:left;min-height:102px;display:flex;flex-direction:column;justify-content:space-between}.week-day.active{border-color:#1852cf;box-shadow:0 0 0 2px #1852cf1c}.week-day .dow{font-size:.74rem;letter-spacing:.08em;font-weight:850;color:#6d7c8e}.week-day .label{font-weight:780;font-size:.9rem;line-height:1.2}.week-day .done{color:#148253;font-size:.8rem;font-weight:800}.week-day:hover{border-color:#7fa5ef}.bar-chart{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;align-items:end;height:180px;padding:14px 0 0}.bar-col{height:100%;display:flex;align-items:center;flex-direction:column;justify-content:end;gap:8px;color:#5f6f84;font-weight:750;font-size:.78rem}.bar{width:min(100%,56px);min-height:4px;border-radius:7px 7px 2px 2px;background:#7ba7ef}.bar.today{background:#1852cf}.bar-val{font-size:.8rem}.insight{border-left:4px solid #1852cf;padding:15px 17px;border-radius:12px;background:#f4f7ff;margin:10px 0}.insight.green{border-color:#21a367;background:#eefbf4}.insight.amber{border-color:#de9440;background:#fff8ed}.insight strong{display:block;font-size:.9rem}.insight p{color:#536378;font-size:.87rem;line-height:1.45;margin:5px 0 0}.insight a{text-decoration:underline;color:#1648bb;font-weight:800}.exercise-list{display:grid;gap:12px}.exercise{background:#fff;border:1px solid #dbe3ef;border-radius:15px;padding:17px}.exercise .title{display:flex;justify-content:space-between;gap:12px;align-items:start}.exercise .title strong{font-size:1.03rem}.exercise .prev{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.mini-value{background:#f3f6fb;border-radius:9px;padding:9px 11px;min-width:0}.mini-value b{font-size:.78rem;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-value small{color:#687a90;font-size:.71rem;font-weight:780;display:block;margin-bottom:4px}.prompt{color:#90600e;background:#fff4df;border:1px solid #efdbad;border-radius:9px;padding:9px 11px;font-size:.83rem;font-weight:740;margin:10px 0}.sets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:11px}.set{background:#f4f7fb;border:1px solid #dce4ef;border-radius:10px;padding:9px;min-width:0}.set.complete{background:#eaf9f1;border-color:#92d2ae}.set label{color:#68798a;font-size:.73rem;font-weight:850;display:block;margin-bottom:5px}.set-inputs{display:flex;gap:5px;align-items:center}.set input{width:100%;min-width:0;border:1px solid #cdd8e6;border-radius:6px;background:#fff;padding:8px 6px;font-size:.9rem;font-weight:760;text-align:center}.set .times{color:#738397;font-size:.8rem}.copy{border:0;background:none;padding:10px 0 0;color:#1852cf;font-weight:800;font-size:.82rem;text-decoration:underline;text-underline-offset:3px}.progress-track{height:8px;border-radius:10px;background:#e4eaf3;overflow:hidden}.progress-track span{display:block;height:100%;background:#1a63d4;transition:width .2s}.save-panel{border-top:1px solid #dce5ef;background:#f7f9fd;padding:18px 22px}.save-panel .btn{min-width:160px}.status{min-height:1.3em;color:#147b55;font-size:.88rem}.status.error{color:#ae303c}.history-card{border-bottom:1px solid #e2e8f1;padding:14px 0}.history-card:last-child{border:0;padding-bottom:0}.history-card summary{cursor:pointer;font-weight:760}.history-card summary small{font-weight:450;color:#68798b;display:block;margin-top:4px}.history-detail{font-size:.84rem;color:#506174;line-height:1.6;margin:11px 0 0}.filters{display:flex;gap:9px;flex-wrap:wrap;align-items:end}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:.79rem;font-weight:800;color:#546579}.field select,.field input{border:1px solid #d2ddea;border-radius:10px;background:#fff;color:#1c293d;padding:10px 12px;min-height:43px}.chart-wrap{overflow:hidden}.line-chart{width:100%;height:250px;display:block}.axis-label{fill:#78879a;font-size:12px}.chart-line{fill:none;stroke:#1852cf;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.chart-point{fill:#fff;stroke:#1852cf;stroke-width:3}.divider{height:1px;background:#e1e8f1;margin:18px 0}.empty{padding:24px;border:1px dashed #c6d4e5;border-radius:12px;text-align:center;color:#65768a;line-height:1.45}.day-card .dayname{font-size:1.2rem;margin:0}.day-card ul{margin:15px 0 17px;padding-left:21px;color:#4f6074;line-height:1.7;font-size:.87rem}.compare{display:grid;grid-template-columns:1fr 1fr;gap:14px}.compare .card{height:100%}.compare h2{margin-bottom:12px}.compare-list{display:grid;gap:8px}.compare-item{display:flex;justify-content:space-between;gap:9px;border-bottom:1px solid #e7edf4;padding:9px 0;font-size:.84rem}.compare-item:last-child{border:0}.compare-item strong{white-space:nowrap}.page-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.foot{text-align:center;color:#8694a4;padding:30px 16px;font-size:.8rem}.loading{padding:30px;text-align:center;color:#6e7e90}.modal{border:1px solid #cdd9e9;border-radius:18px;padding:22px;width:min(440px,calc(100vw - 30px));box-shadow:0 24px 80px #15326955}.modal::backdrop{background:#1720399c}.modal form{display:flex;justify-content:end}.modal .close{border:0;background:#edf2fa;border-radius:8px;width:30px;height:30px;font-size:1.25rem}.modal-mark{margin-bottom:12px;background:#1749c6;color:#fff}.modal h2{font-size:1.35rem;letter-spacing:-.03em}.modal ol{line-height:1.55;padding-left:23px}.modal li{margin:10px 0}.text-link{color:#1749c6;text-decoration:underline;font-weight:780}.hide{display:none!important}button[hidden],[hidden]{display:none!important}
@media(max-width:900px){.layout{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.week-strip{gap:7px}.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.head-inner{min-height:66px;padding:11px 16px}.brand{font-size:1.02rem}.brand-icon{width:32px;height:32px}.who{display:none}.head-install{padding:8px 10px}.nav-wrap{padding:13px 16px 2px}.main-nav{gap:7px}.main-nav a{padding:8px 12px;font-size:.86rem}.container{padding:22px 16px 50px}.pagehead{align-items:start;flex-direction:column}.card{padding:17px}.grid.two,.grid.three,.compare{grid-template-columns:1fr}.week-strip{display:flex;overflow-x:auto;margin:0 -16px;padding:0 16px 6px;scroll-snap-type:x mandatory}.week-day{flex:0 0 132px;scroll-snap-align:start}.sets{grid-template-columns:repeat(2,minmax(0,1fr))}.save-panel{padding:15px 17px}.page-actions .btn{flex:1}.stats .stat{min-height:108px}}
@media(max-width:390px){.brand{font-size:.91rem}.main-nav a{font-size:.8rem;padding:7px 10px}.main-nav a span{font-size:.88rem}.head-install span{display:none}.stats{gap:8px}.stat strong{font-size:1.65rem}}
@media(prefers-reduced-motion:reduce){.main-nav a,.progress-track span{transition:none}}
.welcome{max-width:620px;margin:20px auto;padding:38px}.welcome-mark{display:grid;place-items:center;width:62px;height:62px;border-radius:17px;background:#e6efff;color:#1950c8;font-size:1.8rem;margin-bottom:22px}.welcome h2{font-size:1.6rem;letter-spacing:-.04em}.welcome .btn{margin-top:15px}.editor-day{display:grid;gap:12px}.editor-day h3{margin:0}.editor-exercises{display:grid;gap:10px}.editor-exercise{display:flex;align-items:end;gap:8px;background:#f6f9fd;border:1px solid #e1e9f2;padding:12px;border-radius:12px}.editor-exercise .grow{flex:1;min-width:145px}.editor-exercise .field:not(.grow){width:78px}.editor-exercise input{width:100%}.editor-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px 0;flex-wrap:wrap}.room-list{display:grid;gap:8px}.room-option{display:flex;justify-content:space-between;align-items:center;gap:10px;text-align:left;width:100%;border:1px solid #d9e2f0;background:#f7faff;border-radius:11px;padding:12px;color:#1a2b44}.room-option.active{border-color:#78a3f0;background:#eaf2ff;color:#154bc5}.room-option:disabled{cursor:default}.room-option small{display:block;font-size:.75rem;color:#6d7b90;margin-top:3px}.invite-input{width:100%;border:1px solid #cbd8e9;border-radius:9px;padding:10px;margin:8px 0;font-size:.83rem;color:#243449}
@media(max-width:650px){.welcome{padding:24px}.editor-exercise{flex-wrap:wrap}.editor-exercise .grow{flex-basis:100%}.editor-exercise .field:not(.grow){flex:1}.editor-footer .page-actions{width:100%}.editor-footer .page-actions button{flex:1}}
/* Original Training Room palette: deep pine surfaces with lime training accents. */
:root{color-scheme:dark;color:#eef4ef;background:#0b1418}
body{background:radial-gradient(ellipse 70% 35% at 75% -10%,#16382e 0%,transparent 70%),#0b1418;color:#eef4ef}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-color:#c9f46e}
.app-header{background:#101d1b;border-bottom:1px solid #294038;color:#eef4ef}
.brand-icon,.modal-mark{background:#c9f46e;color:#142219}
.brand>span:last-child span{color:#c9f46e;opacity:1;font-weight:800}
.who,.head-install{background:#263a2c;color:#d9f5b2;border-color:#496848}
.head-install:hover{background:#354d37}
.main-nav a{background:#182622;color:#b9cbbd;border-color:#30473c}
.main-nav a:hover{background:#273c31;color:#f1f8e9}
.main-nav a.active{background:#c9f46e;color:#142219;border-color:#c9f46e}
.kicker,.eyebrow{color:#b8e76e}
.pagehead p,.muted,.stat small,.stat .detail{color:#a5b9ac}
.card{background:#172522;border-color:#2e453c;box-shadow:0 8px 28px #00000013}
.stat.blue strong,.stat.green strong{color:#c9f46e}
.stat.amber strong{color:#f1bd77}
.btn{background:#c9f46e;border-color:#c9f46e;color:#142219}
.btn:hover{background:#d8fa97;border-color:#d8fa97}
.btn.secondary,.btn.ghost{background:#263a2c;color:#d9f5b2;border-color:#41604c}
.btn.secondary:hover,.btn.ghost:hover{background:#354d37}
.btn.danger{background:#3b292b;color:#ffb8a4;border-color:#704345}
.btn:disabled{opacity:.45}
.pill,.pill.gray{background:#25382f;color:#c4d4c6;border-color:#395244}
.pill.green{background:#284534;color:#d4f5bb;border-color:#4d8157}
.pill.amber{background:#4a3728;color:#f2d2a5;border-color:#79583b}
.segmented{background:#0c1917;border-color:#344d3f}
.segmented button{color:#b6cbb9}
.segmented button.active{background:#d5ef9b;color:#142219}
.week-day{background:#182622;color:#e7f0e6;border-color:#2b4239}
.week-day:hover{border-color:#648a61}
.week-day.active{background:#c9f46e;color:#142219;border-color:#c9f46e}
.week-day .dow,.week-day .done{color:#9db3a1}
.week-day.active .dow,.week-day.active .done{color:#4d623b}
.bar-chart{border-color:#2b4239}
.bar{background:#3b5b45}
.bar.today{background:#c9f46e}
.bar-val{color:#d4eebc}
.insight{background:#203129;border-color:#3a5740}
.insight.green{background:#203b2c;border-color:#4b7951}
.insight.amber{background:#3b3827;border-color:#806d3d}
.insight p{color:#b7c9b8}
.insight a,.text-link,.copy{color:#c9f46e}
.exercise{border-color:#30483d}
.exercise .prev .mini-value,.mini-value{background:#21342d;border-color:#354e3d}
.mini-value small{color:#a3b9a9}
.prompt{background:#35462a;color:#d9f7ae;border-color:#6b8b44}
.set{background:#20312a;border-color:#3b5243}
.set.complete{background:#294934;border-color:#6c9c6a}
.set label,.set .times{color:#a9beaa}
.set input,.field input,.field select,.invite-input{background:#101d1b;color:#eef4ef;border-color:#496151}
.set input::placeholder,.field input::placeholder{color:#7d9b82}
.progress-track{background:#2d4239}
.progress-track span{background:#c9f46e}
.save-panel{background:#14221e;border-color:#30483d}
.status{color:#d7f4a6}
.status.error{color:#ffb8a4}
.history-card,.compare-item{border-color:#30483d}
.history-card summary small,.history-detail,.field label,.axis-label{color:#a7bbae;fill:#a7bbae}
.chart-line{stroke:#c9f46e}
.chart-point{stroke:#c9f46e;fill:#172522}
.divider{background:#30483d}
.empty{border-color:#496151;color:#a9beac}
.day-card ul{color:#b9cbba}
.foot,.loading{color:#819b85}
.modal{background:#172522;color:#eef4ef;border-color:#57754c}
.modal::backdrop{background:#000b}
.modal .close{background:#2e4538;color:#eaf4e7}
.welcome-mark{background:#c9f46e;color:#142219}
.editor-exercise{background:#20312a;border-color:#3b5243}
.room-option{background:#20312a;border-color:#3b5243;color:#eef4ef}
.room-option.active{background:#35462a;border-color:#92af5c;color:#e5fac7}
.room-option small{color:#a9beac}
.wizard{max-width:760px;padding:28px}.wizard h2{margin:3px 0 20px}.split-choices{display:grid;gap:10px}.split-choice{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid #3b5243;border-radius:13px;background:#20312a;cursor:pointer}.split-choice:has(input:checked){border-color:#c9f46e;background:#2b4032}.split-choice input{accent-color:#c9f46e;width:20px;height:20px;flex:none}.split-choice strong{display:block;color:#f0f7ec;font-size:1rem}.split-choice small{display:block;color:#b4c8b7;margin-top:4px;font-size:.85rem;line-height:1.35}.wizard-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:24px 0 17px}.wizard .page-actions{margin-top:22px}
@media(max-width:650px){.wizard{padding:19px}.wizard-fields{grid-template-columns:1fr}}
.auth-form{display:grid;gap:14px;max-width:420px;margin:22px auto 0;text-align:left}.auth-form .segmented{justify-content:flex-start}.auth-form input{width:100%;min-height:45px;padding:10px 12px;background:#122127;color:#eef7f0;border:1px solid #425453;border-radius:10px;font:inherit}.auth-form .field{display:grid;gap:6px}.auth-form .field label{font-size:.86rem;font-weight:700}.auth-form .text-link{background:none;border:0;color:#b7e9a2;cursor:pointer;text-align:left}.auth-form .status{min-height:1.5em}
/* Available from every page, including while a workout is being entered. */
.head-refresh{width:40px;height:40px;border-radius:11px;border:1px solid #496848;background:#263a2c;color:#d9f5b2;font-size:1.5rem;line-height:1;display:grid;place-items:center;flex:none}
.head-refresh:hover{background:#354d37}.head-refresh.busy{opacity:.6}.head-refresh:disabled{cursor:wait}
.refresh-status{position:fixed;z-index:30;top:calc(env(safe-area-inset-top) + 80px);right:16px;max-width:min(90vw,360px);padding:10px 14px;border:1px solid #5e865b;border-radius:12px;background:#233c2e;color:#e5f7d3;box-shadow:0 12px 28px #0008;font-size:.88rem}
.ideas-card{max-width:760px;margin-bottom:16px}.ideas-card form{margin-top:18px}.ideas-card .field{display:grid;gap:8px}.ideas-card textarea{width:100%;min-height:150px;resize:vertical;padding:13px 14px;border:1px solid #496151;border-radius:11px;background:#101d1b;color:#eef4ef;font:inherit;line-height:1.5}.ideas-card textarea:focus-visible{outline:3px solid #c9f46e;outline-offset:2px}.ideas-card textarea::placeholder{color:#849a8c}.ideas-card .field label{font-size:.9rem;font-weight:700}.idea-entry{padding:14px;border:1px solid #3b5243;border-radius:11px;background:#20312a}.idea-entry small{display:block;color:#a7bbae;margin-top:3px}.idea-entry p{white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0 0}
@media(max-width:650px){.head-inner{gap:8px;padding-inline:16px}.head-actions{gap:6px}.head-actions .who{display:none}.brand{font-size:1.02rem}.head-refresh{width:38px;height:38px}.head-install{padding:8px 9px}.head-install span{display:none}}
