: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}}
/* Repverna keeps its deep surfaces while the member chooses an accent. */
:root{--accent:#c9f46e;--accent-hover:#d8fa97;--accent-soft:#d9f5b2;--accent-kicker:#b8e76e;--accent-wash:#30472f;--accent-border:#6a8c61}
html[data-theme="tide"]{--accent:#75e5e1;--accent-hover:#a5f2ed;--accent-soft:#b6f2ec;--accent-kicker:#8ceae3;--accent-wash:#1e4140;--accent-border:#5a9793}
html[data-theme="orchid"]{--accent:#ad79ff;--accent-hover:#c49cff;--accent-soft:#e2ccff;--accent-kicker:#bc91ff;--accent-wash:#392957;--accent-border:#8d69bc}
html[data-theme="ruby"]{--accent:#ff5156;--accent-hover:#ff7579;--accent-soft:#ffc6c7;--accent-kicker:#ff777b;--accent-wash:#4a252b;--accent-border:#ae565d}
html[data-theme="orange"]{--accent:#ff943d;--accent-hover:#ffb46e;--accent-soft:#ffdbb5;--accent-kicker:#ffa557;--accent-wash:#493021;--accent-border:#ab683d}
html[data-theme="yellow"]{--accent:#ffd34a;--accent-hover:#ffe17a;--accent-soft:#ffedaf;--accent-kicker:#f8d35b;--accent-wash:#463b1d;--accent-border:#9e8540}
html[data-theme="blue"]{--accent:#5886ff;--accent-hover:#779eff;--accent-soft:#c8d7ff;--accent-kicker:#83a4ff;--accent-wash:#25365c;--accent-border:#617bba}
html[data-theme="pink"]{--accent:#ffb0d5;--accent-hover:#ffcae2;--accent-soft:#ffd9ec;--accent-kicker:#f6b0d4;--accent-wash:#48323f;--accent-border:#a97995}
/* Each palette changes the whole dark interface, not just its highlights. */
:root{--theme-bg:#0b1418;--theme-glow:#16382e;--theme-header:#101d1b;--theme-card:#172522;--theme-panel:#182622;--theme-raised:#20312a;--theme-control:#263a2c;--theme-control-hover:#354d37;--theme-selected:#35462a;--theme-inset:#101d1b;--theme-border:#3b5243;--theme-border-soft:#2e453c;--theme-border-strong:#496151;--theme-text:#eef4ef;--theme-muted:#b4c8b7;--logo-filter:none}
html[data-theme]:not([data-theme="lime"]){
  --theme-bg:color-mix(in srgb,#091019 92%,var(--accent) 8%);
  --theme-glow:color-mix(in srgb,#101b29 68%,var(--accent) 32%);
  --theme-header:color-mix(in srgb,#101823 84%,var(--accent) 16%);
  --theme-card:color-mix(in srgb,#151d27 80%,var(--accent) 20%);
  --theme-panel:color-mix(in srgb,#17212b 80%,var(--accent) 20%);
  --theme-raised:color-mix(in srgb,#1d2832 75%,var(--accent) 25%);
  --theme-control:color-mix(in srgb,#24303a 72%,var(--accent) 28%);
  --theme-control-hover:color-mix(in srgb,#2b3944 65%,var(--accent) 35%);
  --theme-selected:color-mix(in srgb,#283442 67%,var(--accent) 33%);
  --theme-inset:color-mix(in srgb,#0c161f 91%,var(--accent) 9%);
  --theme-border:color-mix(in srgb,#415363 69%,var(--accent) 31%);
  --theme-border-soft:color-mix(in srgb,#334653 74%,var(--accent) 26%);
  --theme-border-strong:color-mix(in srgb,#536575 63%,var(--accent) 37%);
  --theme-text:#f0f4f7;--theme-muted:#b7c6cf;
}
html[data-theme="tide"]{--logo-filter:hue-rotate(100deg)}html[data-theme="orchid"]{--logo-filter:hue-rotate(195deg)}
html[data-theme="ruby"]{--logo-filter:hue-rotate(285deg)}html[data-theme="orange"]{--logo-filter:hue-rotate(320deg)}html[data-theme="yellow"]{--logo-filter:hue-rotate(345deg)}
html[data-theme="blue"]{--logo-filter:hue-rotate(135deg)}html[data-theme="pink"]{--logo-filter:hue-rotate(255deg)}
/* Original Training Room palette: deep pine surfaces with lime training accents. */
:root{color-scheme:dark;color:var(--theme-text);background:var(--theme-bg)}
body{background:radial-gradient(ellipse 70% 35% at 75% -10%,var(--theme-glow) 0%,transparent 70%),var(--theme-bg);color:var(--theme-text)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-color:var(--accent)}
.app-header{background:var(--theme-inset);border-bottom:1px solid #294038;color:var(--theme-text)}
.brand-icon,.modal-mark{background:var(--accent);color:#142219}
.brand>span:last-child span{color:var(--accent);opacity:1;font-weight:800}
.who,.head-install{background:var(--theme-control);color:var(--accent-soft);border-color:var(--theme-border)}
.head-install:hover{background:var(--theme-control-hover)}
.main-nav a{background:var(--theme-panel);color:var(--theme-muted);border-color:#30473c}
.main-nav a:hover{background:#273c31;color:#f1f8e9}
.main-nav a.active{background:var(--accent);color:#142219;border-color:var(--accent)}
.kicker,.eyebrow{color:var(--accent-kicker)}
.pagehead p,.muted,.stat small,.stat .detail{color:var(--theme-muted)}
.card{background:var(--theme-card);border-color:var(--theme-border-soft);box-shadow:0 8px 28px #00000013}
.stat.blue strong,.stat.green strong{color:var(--accent)}
.stat.amber strong{color:#f1bd77}
.btn{background:var(--accent);border-color:var(--accent);color:#142219}
.btn:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
.btn.secondary,.btn.ghost{background:var(--theme-control);color:var(--accent-soft);border-color:var(--theme-border)}
.btn.secondary:hover,.btn.ghost:hover{background:var(--theme-control-hover)}
.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:var(--accent-hover);color:#142219}
.week-day{background:var(--theme-panel);color:#e7f0e6;border-color:#2b4239}
.week-day:hover{border-color:#648a61}
.week-day.active{background:var(--accent);color:#142219;border-color:var(--accent)}
.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:var(--accent)}
.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:var(--accent)}
.exercise{border-color:var(--theme-border-soft)}
.exercise .prev .mini-value,.mini-value{background:#21342d;border-color:#354e3d}
.mini-value small{color:#a3b9a9}
.prompt{background:var(--theme-selected);color:#d9f7ae;border-color:#6b8b44}
.set{background:var(--theme-raised);border-color:var(--theme-border)}
.set.complete{background:#294934;border-color:#6c9c6a}
.set label,.set .times{color:#a9beaa}
.set input,.field input,.field select,.invite-input{background:var(--theme-inset);color:var(--theme-text);border-color:var(--theme-border-strong)}
.set input::placeholder,.field input::placeholder{color:#7d9b82}
.progress-track{background:#2d4239}
.progress-track span{background:var(--accent)}
.save-panel{background:#14221e;border-color:var(--theme-border-soft)}
.status{color:var(--accent-soft)}
.status.error{color:#ffb8a4}
.history-card,.compare-item{border-color:var(--theme-border-soft)}
.history-card summary small,.history-detail,.field label,.axis-label{color:var(--theme-muted);fill:var(--theme-muted)}
.chart-line{stroke:var(--accent)}
.chart-point{stroke:var(--accent);fill:var(--theme-card)}
.divider{background:var(--theme-border-soft)}
.empty{border-color:var(--theme-border-strong);color:var(--theme-muted)}
.day-card ul{color:#b9cbba}
.foot,.loading{color:#819b85}
.modal{background:var(--theme-card);color:var(--theme-text);border-color:#57754c}
.modal::backdrop{background:#000b}
.modal .close{background:#2e4538;color:#eaf4e7}
.welcome-mark{background:var(--accent);color:#142219}
.editor-exercise{background:var(--theme-raised);border-color:var(--theme-border)}
.room-option{background:var(--theme-raised);border-color:var(--theme-border);color:var(--theme-text)}
.room-option.active{background:var(--theme-selected);border-color:#92af5c;color:#e5fac7}
.room-option small{color:var(--theme-muted)}
.wizard{max-width:800px;padding:28px}.wizard h2{margin:3px 0 8px}.wizard-intro{margin:0 0 19px}.split-choices{display:grid;gap:10px}.split-choice{display:flex;align-items:flex-start;gap:13px;padding:15px 17px;border:1px solid var(--theme-border);border-radius:13px;background:var(--theme-raised);cursor:pointer}.split-choice:has(input:checked){border-color:var(--accent);background:#2b4032}.split-choice input{accent-color:var(--accent);width:20px;height:20px;flex:none;margin:4px 0 0}.split-copy{display:block;min-width:0;flex:1}.split-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap}.split-heading strong{color:#f0f7ec;font-size:1rem}.split-heading em{font-style:normal;white-space:nowrap;color:var(--accent-soft);font-size:.81rem;font-weight:700}.split-choice small{display:block;color:var(--theme-muted);margin-top:3px;font-size:.88rem;line-height:1.4}.split-week{display:block;color:#d0decd;margin-top:7px;font-size:.82rem;line-height:1.35}.wizard-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:24px 0 17px}.wizard-help{display:block;color:var(--theme-muted);margin-top:8px;line-height:1.4}.wizard-evidence{border-top:1px solid var(--theme-border);padding-top:16px;line-height:1.5}.wizard-evidence a{color:var(--accent-soft)}.wizard .page-actions{margin-top:22px}
@media(max-width:650px){.wizard{padding:19px}.wizard-fields{grid-template-columns:1fr}.split-choice{padding:14px}.split-choice small,.wizard-help{font-size:.88rem}}
.generator-gym-details{display:grid;gap:15px;margin:0 0 22px}.generator-gym-details[hidden],.generator-gym-details .field[hidden]{display:none}.generator-equipment-list{min-width:0;border:1px solid var(--theme-border);border-radius:13px;padding:15px}.generator-equipment-list legend{font-weight:700;padding:0 6px}.generator-equipment-list p{margin:0 0 14px}.generator-equipment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.generator-equipment-grid label{display:flex;align-items:center;gap:9px;min-width:0;padding:9px 11px;border:1px solid var(--theme-border);border-radius:10px;background:var(--theme-raised);cursor:pointer}.generator-equipment-grid label:has(input:checked){border-color:var(--accent);background:var(--theme-selected)}.generator-equipment-grid input{width:18px;height:18px;accent-color:var(--accent);flex:none}.generator-equipment-grid span{line-height:1.3}@media(max-width:650px){.generator-equipment-grid{grid-template-columns:1fr}}
.plan-build-options{margin:22px 0 6px}
.plan-build-option{display:flex;flex-direction:column;align-items:flex-start;gap:11px;background:var(--theme-raised);border:1px solid #49624b;border-radius:14px;padding:20px;min-width:0}
.plan-build-option h3,.plan-build-option p{margin:0}
.plan-build-option h3{font-size:1.24rem}
.plan-build-option .btn{margin-top:auto}
@media(max-width:650px){.plan-build-options .btn{width:100%}}
.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 var(--theme-border);background:var(--theme-control);color:var(--accent-soft);font-size:1.5rem;line-height:1;display:grid;place-items:center;flex:none}
.head-refresh:hover{background:var(--theme-control-hover)}.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}
.pull-refresh-area{position:fixed;z-index:35;top:0;left:0;right:0;height:var(--pull-distance,0px);overflow:hidden;pointer-events:none;background:linear-gradient(180deg,#1c3b2e,#0d211c);visibility:hidden}
.pull-refresh-area.visible{visibility:visible}.pull-refresh{position:absolute;top:calc(env(safe-area-inset-top) + 9px);left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid #62855a;border-radius:99px;background:#20392c;color:#e4f7cf;box-shadow:0 8px 28px #0009;font-size:.84rem;font-weight:700;white-space:nowrap}
.pull-refresh-area.ready .pull-refresh{border-color:#c7f06c}.pull-refresh-icon{font-size:1.3rem;line-height:1}.pull-refresh-area.refreshing .pull-refresh-icon{animation:pull-refresh-spin .85s linear infinite}
@media(max-width:900px),(pointer:coarse){.page-scroll.pull-motion{transform:translate3d(0,var(--pull-distance,0px),0);will-change:transform}.page-scroll.pull-motion.pull-settling{transition:transform .22s ease-out}.pull-refresh-area{transition:height .22s ease-out}.pull-refresh-area.visible:not(.settling){transition:none}}
@keyframes pull-refresh-spin{to{rotate:360deg}}
@media(prefers-reduced-motion:reduce){.page-scroll.pull-motion.pull-settling,.pull-refresh-area,.pull-refresh-icon{transition:none;animation:none!important}}
.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 var(--theme-border-strong);border-radius:11px;background:var(--theme-inset);color:var(--theme-text);font:inherit;line-height:1.5}.ideas-card textarea:focus-visible{outline:3px solid var(--accent);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 var(--theme-border);border-radius:11px;background:var(--theme-raised)}.idea-entry small{display:block;color:var(--theme-muted);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}}
/* Guided exercise selection and private bodyweight tracking. */
.editor-exercise .grow select{width:100%;min-height:44px;border:1px solid var(--theme-border-strong);border-radius:10px;background:var(--theme-inset);color:var(--theme-text);padding:10px 12px;font:inherit}
.editor-exercise .grow input[hidden]{display:none}
.exercise-guide{display:block;color:#acc6aa;font-size:.84rem;line-height:1.45;margin-top:3px;max-width:55ch}
.exercise-tip{margin-top:9px;color:var(--theme-muted);font-size:.84rem;line-height:1.45}.exercise-tip summary{cursor:pointer;color:var(--accent-soft);font-weight:700}.exercise-tip p{margin:7px 0 0}
.bodyweight-panel{margin-bottom:17px}
.bodyweight-panel .section-title{margin-bottom:5px}
.bodyweight-panel .row p{margin:0}
.bodyweight-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:12px;align-items:end;margin:19px 0 7px}
.bodyweight-form .field{min-width:0}
.bodyweight-form input{display:block;font:inherit;width:100%;min-width:0;max-width:100%;height:46px}
.date-shell{position:relative;display:flex;align-items:center;width:100%;max-width:100%;height:46px;min-width:0;overflow:hidden;border:1px solid var(--theme-border-strong);border-radius:10px;background:var(--theme-inset);color:var(--theme-text);padding:0 12px}
.date-shell:focus-within{outline:3px solid var(--accent);outline-offset:2px}
.date-shell span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.date-shell input[type="date"]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;border:0;padding:0}
.bodyweight-form .btn{min-height:46px;white-space:nowrap}
.bodyweight-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin:17px 0}
.bodyweight-stats>div{background:#21342d;border:1px solid #35513f;padding:14px;border-radius:11px}
.bodyweight-stats small{display:block;color:var(--theme-muted);font-size:.75rem;font-weight:750;margin-bottom:5px}
.bodyweight-stats strong{display:block;font-size:1.25rem;color:var(--accent-soft)}
.weighin-history{border-top:1px solid var(--theme-border-soft);padding-top:15px;margin-top:9px}
.weighin-history summary{cursor:pointer;font-weight:750;color:var(--accent-soft)}
.weighin-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--theme-border-soft)}
.weighin-row strong{margin-left:auto;white-space:nowrap}.weighin-row .btn{padding:7px 10px;font-size:.82rem}
@media(max-width:800px){.bodyweight-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.bodyweight-form .btn{grid-column:1/-1;width:100%}}
@media(max-width:650px){.bodyweight-form{grid-template-columns:minmax(0,1fr)}.bodyweight-form .btn{grid-column:1}.bodyweight-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.bodyweight-stats>div:last-child{grid-column:1/-1}}
.version-chip{height:40px;min-width:52px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--accent-border);border-radius:11px;background:#2b4234;color:var(--accent-soft);padding:0 9px;font-size:.83rem;font-weight:850;letter-spacing:.01em;white-space:nowrap}
.version-chip:hover{background:#3e5942;color:#fff}
.member-guide{width:min(92vw,540px);max-height:min(84dvh,780px);padding:28px;border:1px solid #628463;border-radius:23px;background:#192a24;color:#eff9ed;box-shadow:0 28px 90px #000a}
.member-guide::backdrop{background:#06100dcc;backdrop-filter:blur(4px)}
.member-guide h2{font-size:clamp(1.5rem,5vw,2rem);line-height:1.15;margin:24px 0 12px}
.member-guide p{color:#d1dfd1;line-height:1.55;font-size:1rem}
.member-guide .guide-track{height:6px;background:#354d3b;border-radius:20px;overflow:hidden;margin-top:16px}
.member-guide .guide-track span{display:block;height:100%;background:var(--accent);transition:width .2s}
.guide-link{display:inline-block;border:0;background:none;padding:0;color:var(--accent);text-decoration:underline;text-underline-offset:4px;margin:8px 0 22px}
.guide-actions,.guide-actions>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.guide-actions{justify-content:space-between;border-top:1px solid #395040;padding-top:18px}
.guide-actions .btn{padding:10px 13px}.guide-error{color:#ffb8a4!important;min-height:1.3em;margin:8px 0 0!important}
.insight-privacy{display:flex;align-items:flex-start;gap:15px;margin:14px 0 28px;padding:20px 22px;border:1px solid #54765a;border-radius:17px;background:#20372b;color:#e8f6e5}
.insight-privacy>span{font-size:1.7rem;line-height:1;color:var(--accent)}.insight-privacy strong{font-size:1.12rem}.insight-privacy p{line-height:1.5;color:#c6d9c7;margin:6px 0 0}
.insight-heading{margin:26px 0 12px}.insight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.insight-grid .stat{min-height:132px}
.insight-sections{margin-top:18px}.insight-sections h2{margin:0 0 5px}.insight-bar-row{display:grid;grid-template-columns:100px minmax(0,1fr) 42px;align-items:center;gap:13px;margin:14px 0;color:#e3f0e5}
.insight-bar-track{height:12px;background:#293d32;border-radius:10px;overflow:hidden}.insight-bar-track span{display:block;height:100%;border-radius:10px;background:var(--accent)}
.insight-bar-row strong{text-align:right;font-variant-numeric:tabular-nums}.insight-footnote{margin-top:22px;line-height:1.5}
@media(max-width:700px){.insight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.insight-grid .stat{min-height:112px;padding:17px}.insight-bar-row{grid-template-columns:74px minmax(0,1fr) 32px;gap:8px;font-size:.86rem}}
.release-dialog{width:min(540px,calc(100vw - 30px));max-height:min(78vh,760px);overflow:auto;overscroll-behavior:contain}
.release-dialog h2{font-size:1.8rem;margin:4px 0 5px}
.release-dialog>p{margin:0 0 14px}
.release-list{display:grid;gap:0}
.release-entry{padding:12px 0;border-top:1px solid #395244}
.release-meta{display:flex;align-items:center;gap:10px}
.release-meta>span:last-child{color:var(--theme-muted);font-size:.8rem}
.release-meta time{color:var(--theme-muted);font-size:.8rem}
.release-entry h3{font-size:1rem;margin:7px 0 3px}
.release-entry p{margin:0;color:var(--theme-muted);font-size:.88rem;line-height:1.4}
.release-archive{border-top:1px solid var(--theme-border);margin-top:4px;padding:12px 0;color:var(--theme-muted)}
.release-archive summary{cursor:pointer;color:var(--accent-soft);font-weight:700}
.release-archive ul{list-style:none;margin:10px 0 0;padding:0;max-height:240px;overflow:auto;font-size:.84rem}
.release-archive li{padding:6px 0;border-top:1px solid var(--theme-border)}
.release-archive li span{display:inline-block;min-width:65px;color:var(--accent-soft)}
.release-entry ul{padding-left:20px;margin:0;color:#c3d2c2;font-size:.91rem;line-height:1.55}
.release-entry li+li{margin-top:5px}
@media(max-width:650px){.version-chip{height:38px;min-width:46px;padding:0 7px}}
@media(max-width:390px){.head-inner .brand-icon{display:none}.head-inner .brand{font-size:.88rem;gap:0}.head-inner .head-actions{gap:5px}.version-chip{min-width:43px}}
.import-card{display:flex;flex-direction:column;align-items:flex-start;gap:11px}
.import-card h2,.import-card p{margin:0}
.import-card .field{width:100%;min-width:0}
.import-card input{width:100%;max-width:100%;min-width:0}
.import-card input[type=file]{padding:12px;border:1px dashed #6b8b70;border-radius:11px;background:#14241e;color:#d4e7d3}
.import-card input[type=file]::file-selector-button{border:0;border-radius:8px;background:#d0f784;color:#18251b;padding:9px 12px;font:inherit;font-weight:750;margin-right:12px}
.import-card .btn{margin-top:auto}
.import-preview{margin-top:16px}
.import-preview h2{margin:6px 0 9px}
.import-days{display:grid;gap:9px;margin:18px 0}
.import-day{padding:13px 15px;background:#20352b;border:1px solid #45634d;border-radius:12px}
.import-day strong,.import-day small{display:block;overflow-wrap:anywhere}
.import-day small{color:#bfd2bf;line-height:1.55;margin-top:5px}
.import-warnings{border-left:3px solid #dbb26b;padding:10px 14px;margin-bottom:18px;background:#332e23;border-radius:0 9px 9px 0}
.import-warnings ul{margin:7px 0 0;padding-left:20px;line-height:1.5}
/* Compact plan review: scan the prescription first and open only the exercise to edit. */
.editor-day{gap:14px}
.editor-day-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.editor-day-heading h2{font-size:1.52rem;margin:0 0 4px;line-height:1.15}
.editor-day-heading p{margin:0}
.editor-day-settings{border:1px solid #405b45;border-radius:11px;background:#192b23;padding:0 13px}
.editor-day-settings summary{padding:12px 0;cursor:pointer;color:#d4efb4;font-size:.86rem;font-weight:740}
.editor-day-settings summary::marker{color:var(--accent)}
.editor-day-settings .grid{padding:7px 0 12px}
.editor-day-settings>.field{padding:0 0 12px}
.editor-day-settings>.btn{margin-bottom:13px}
.editor-exercise-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:3px}
.editor-exercise-head h3{margin:0;font-size:1.05rem}
.editor-exercise-head .btn{padding:8px 12px}
.editor-exercise{display:block;padding:0;border:1px solid #405b45;background:#20332a;border-radius:12px;overflow:hidden}
.exercise-summary{display:flex;align-items:center;gap:11px;padding:13px 14px;cursor:pointer;list-style:none;min-height:58px}
.exercise-summary::-webkit-details-marker{display:none}
.exercise-summary:after{content:'⌄';color:var(--accent);font-size:1.12rem;margin-left:2px;transition:transform .18s}
.editor-exercise[open] .exercise-summary:after{transform:rotate(180deg)}
.exercise-number{display:grid;place-items:center;flex:none;width:30px;height:30px;background:#334e38;border-radius:8px;color:var(--accent-soft);font-size:.76rem;font-weight:850}
.exercise-summary-name{flex:1;min-width:0;font-weight:780;color:#f2f8ee;overflow-wrap:anywhere;line-height:1.3}
.exercise-summary-target{flex:none;border-radius:9px;background:#334936;padding:6px 9px;color:#cfe8b4;font-size:.74rem;font-weight:750;white-space:nowrap}
.exercise-edit-panel{border-top:1px solid #405b45;padding:15px;display:grid;gap:13px}
.exercise-edit-panel .field{min-width:0}
.exercise-edit-panel .field.grow{min-width:0}
.exercise-edit-panel .grow select,.exercise-edit-panel .grow input{width:100%;max-width:100%}
.exercise-edit-panel .grow input:not([hidden]){margin-top:9px}
.exercise-prescription{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.exercise-prescription .field:not(.grow){width:auto;min-width:0}
.exercise-prescription input{width:100%;min-width:0}
.exercise-copy{border:1px solid var(--theme-border);border-radius:10px;padding:0 12px 12px;background:var(--theme-inset)}
.exercise-copy summary{padding:12px 0;cursor:pointer;color:var(--accent-soft);font-weight:750}
.exercise-copy p{margin:0 0 10px}
.exercise-copy-days{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;margin-bottom:12px}
.exercise-copy-days label{display:flex;align-items:center;gap:9px;border:1px solid var(--theme-border);border-radius:9px;padding:10px;color:var(--theme-text);cursor:pointer;line-height:1.3}
.exercise-copy-days input{width:18px;min-width:18px;height:18px;margin:0;accent-color:var(--accent)}
.exercise-copy .status:not(:empty){margin-top:10px}
.exercise-edit-panel>.btn{justify-self:start;padding:8px 12px}
@media(max-width:650px){.editor-day-heading{flex-wrap:wrap}.editor-day-heading .pill{font-size:.72rem}.exercise-summary{flex-wrap:wrap;gap:8px 10px}.exercise-summary-name{flex-basis:calc(100% - 80px)}.exercise-summary-target{order:3;margin-left:40px}.exercise-summary:after{order:2}.exercise-edit-panel{padding:12px}.exercise-edit-panel .field:not(.grow){flex:initial}.exercise-prescription{gap:8px}}
/* Workout logging cards need the same dark surfaces as the rest of the app. */
.exercise-list .exercise{background:var(--theme-raised);color:#f2f8ef;border:1px solid #4b6952;box-shadow:0 4px 16px #07120d24}
.exercise .title strong{color:#f7fbf3;font-size:1.08rem;line-height:1.35}
.exercise .title .pill{background:#365138;color:#e3f7c7;border:1px solid #698656}
.exercise .exercise-tip,.exercise .exercise-tip p{color:#c8d9c7}
.exercise .exercise-tip summary{color:#d7f598}
.exercise .prev .mini-value{background:#172a20;border:1px solid #496c52;color:#f0f8e9}
.exercise .prev .mini-value small{color:#c1d3bf}
.exercise .prev .mini-value b{color:#f2f8ef}
.exercise .set{background:#162920;border:1px solid #46664d;color:#f0f7eb}
.exercise .set.complete{background:#264735;border-color:#a4d786}
.exercise .set label,.exercise .set .times{color:#d8e8d2}
.exercise .set input{min-height:44px;background:#0d1e17;color:#f8fff3;border:1px solid #688b6d;border-radius:8px;font-size:1rem;font-weight:800;color-scheme:dark}
.exercise .set input::placeholder{color:#c9d8c6;opacity:1}
.exercise .set input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
.exercise .copy{color:#d6f89d}
.idea-list{display:grid;gap:10px;margin:18px 0}
.idea-entry{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55;color:#eef7e9}
.owner-ideas{max-width:860px;padding:clamp(20px,4vw,32px)}
.owner-ideas-header{align-items:end}
.owner-ideas-header h2{font-size:clamp(1.35rem,3vw,1.7rem);margin:0}
.owner-ideas-note{margin:14px 0 22px;max-width:58ch}
.owner-ideas .idea-list{margin:0 0 16px}
.owner-ideas .idea-entry{padding:18px 20px;font-size:1rem}
.idea-list{display:grid;gap:12px}.idea-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.idea-top small{color:var(--theme-muted)}.idea-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.idea-actions .btn{min-height:42px;padding:9px 14px}.idea-actions [data-idea-action="delete"]{margin-left:auto}.idea-highlight{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent) inset}@media(max-width:480px){.idea-actions .btn{flex:1 1 42%}.idea-actions [data-idea-action="delete"]{margin-left:0}}
.main-nav [data-nav="insights"]{display:none}
.owner-insights .main-nav [data-nav="insights"]{display:inline-flex}
@view-transition{navigation:auto}
@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}}
/* v17.4: focused logging and thumb-friendly navigation */
.workout-mode{margin:0 16px 16px;padding:16px;background:#20352b;display:flex;align-items:center;flex-wrap:wrap;gap:11px;justify-content:space-between}
.workout-mode .kicker{display:block}.workout-mode strong{display:block;font-size:1rem;color:#f5faee}.workout-mode p{margin:5px 0 0!important}
.focus-controls{display:flex;gap:8px;width:100%;justify-content:space-between}.focus-controls .btn{flex:1;min-width:0}.focus-controls .btn:disabled{opacity:.4}
.rest-timer{display:flex;align-items:center;gap:10px;width:100%;padding:11px 12px;border-radius:11px;background:#31442c;color:#e7fac5}
.rest-timer span{margin-right:auto}.rest-timer strong{display:inline;font-size:1.25rem;color:var(--accent)}.rest-timer button{border:1px solid #698556;border-radius:8px;background:#1c3027;color:#e7fac5;padding:8px 10px;font-weight:750}
.exercise-list.focus-on .exercise:not(.focus-current){display:none}.exercise-list.focus-on .exercise.focus-current{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)26}
.exercise .set{display:flex;flex-wrap:wrap;align-items:center}.exercise .set .set-done{width:100%;min-height:40px;margin-top:9px;border-radius:8px;border:1px solid #8aad67;background:#304631;color:#e9fac7;font-weight:800}.exercise .set.marked-done{background:#314e32;border-color:var(--accent)}.exercise .set.marked-done .set-done{background:var(--accent);color:#142219}
.exercise .set[data-prefilled="1"]{border-style:dashed}.exercise .set[data-prefilled="1"]:after{content:'Last time · tap Done to confirm';font-size:.7rem;color:#c3ddaa;width:100%;margin-top:4px}
.partner-live{display:flex;align-items:center;gap:9px;margin:0 16px 15px;padding:12px 14px;border-radius:11px;background:#253a2e;border:1px solid #446b49;font-size:.85rem;line-height:1.4;color:#e5f4dc}.live-dot{width:9px;height:9px;border-radius:50%;background:var(--accent);flex:none}
.resume-banner{display:flex;align-items:center;gap:14px;margin-bottom:19px;padding:18px;border-radius:16px;background:#2a402d;border:1px solid #719554;color:#edffd4}.resume-banner>span:first-child{font-size:1.6rem}.resume-banner strong,.resume-banner small{display:block}.resume-banner small{margin-top:3px;color:#c4d9b9}.resume-banner b{margin-left:auto;white-space:nowrap}
.recap{margin-bottom:20px}.recap h2{margin:4px 0 18px}.recap-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.recap-stats>div{background:#24372d;border:1px solid #395743;border-radius:12px;padding:15px}.recap-stats strong{display:block;color:var(--accent);font-size:1.6rem}.recap-stats small{color:#b9c9bb}.recap summary{margin:19px 0 4px;color:#e7fac5;font-weight:750;cursor:pointer}.recap-bests>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #385042}.recap-bests strong{white-space:nowrap;color:var(--accent)}
.shared-live{margin-bottom:20px}.shared-live h2{margin:5px 0 10px}.pr-toast{position:fixed;z-index:100;left:50%;bottom:35px;transform:translateX(-50%);max-width:calc(100vw - 30px);width:max-content;padding:14px 20px;background:var(--accent);color:#142219;border-radius:12px;box-shadow:0 15px 40px #0009;font-weight:850}
.mobile-tabs{display:none}
@media(max-width:650px){
 .nav-wrap{display:none}.container{padding-bottom:calc(108px + env(safe-area-inset-bottom))}.foot{padding-bottom:calc(98px + env(safe-area-inset-bottom))}
 .mobile-tabs{position:fixed;bottom:0;left:0;right:0;z-index:80;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;min-height:64px;padding:5px 4px calc(5px + env(safe-area-inset-bottom));background:var(--theme-inset);border-top:1px solid var(--theme-border);box-shadow:0 -9px 25px #0006}
 .mobile-tabs>a,.mobile-more>summary{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;color:var(--theme-muted);border-radius:10px;font-size:.68rem;font-weight:750;text-align:center;padding:6px 1px;line-height:1.2}.mobile-tabs span{font-size:1.26rem;line-height:1.3}.mobile-tabs>a:hover,.mobile-more>summary:hover,body[data-view="dashboard"] .mobile-tabs a[data-tab="dashboard"],body[data-view="workout"] .mobile-tabs a[data-tab="workout"],body[data-view="plan"] .mobile-tabs a[data-tab="plan"],body[data-view="progress"] .mobile-tabs a[data-tab="progress"]{background:#30472f;color:var(--accent)}
 .mobile-more{min-width:0}.mobile-more>summary{height:100%;list-style:none;cursor:pointer}.mobile-more>summary::-webkit-details-marker{display:none}.mobile-more[open]>summary{color:var(--accent)}.mobile-more-menu{position:absolute;bottom:calc(100% + 7px);right:7px;width:min(235px,calc(100vw - 15px));display:grid;padding:9px;background:var(--theme-raised);border:1px solid #4c6b52;border-radius:13px;box-shadow:0 15px 40px #0009}.mobile-more-menu a{padding:12px;border-radius:8px;font-size:.9rem}.mobile-more-menu a:hover{background:#354b35}
 .mobile-insights{display:none}.owner-insights .mobile-insights{display:block}
 .exercise-list.focus-on .exercise{padding:15px}.workout-mode{margin:0 16px 15px;align-items:start}.workout-mode .btn{min-height:42px}.recap-stats strong{font-size:1.28rem}.recap-stats>div{padding:11px}.resume-banner{flex-wrap:wrap}.resume-banner b{font-size:.8rem}
 .pr-toast{bottom:calc(80px + env(safe-area-inset-bottom))}
}
@media(max-width:390px){.workout-mode .btn{padding:9px}.recap-stats{gap:6px}.recap-stats small{font-size:.68rem}}
.set-actions{display:flex;gap:7px;width:100%;margin-top:9px}.exercise .set .set-actions button{flex:1;min-height:40px;border-radius:8px;font-size:.82rem;font-weight:800}.exercise .set .set-done{width:auto;margin:0}.exercise .set .set-failed{background:#3a3026;color:#f8d0ad;border:1px solid #866041}.exercise .set.marked-failed{background:#3a3026;border-color:#ce9962}.exercise .set.marked-failed .set-failed{background:#f5b576;color:#251f1a}

/* v17.5: phone layout across compact and touch-based app windows. */
@media(max-width:900px),(pointer:coarse){
 .nav-wrap{display:none}
 .mobile-tabs{position:fixed;bottom:0;left:0;right:0;z-index:80;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;min-height:64px;padding:5px 4px calc(5px + env(safe-area-inset-bottom));background:var(--theme-inset);border-top:1px solid var(--theme-border);box-shadow:0 -9px 25px #0006}
 .mobile-tabs>a,.mobile-more>summary{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;color:var(--theme-muted);border-radius:10px;font-size:.68rem;font-weight:750;text-align:center;padding:6px 1px;line-height:1.2}
 .mobile-tabs span{font-size:1.26rem;line-height:1.3}.mobile-more{min-width:0}.mobile-more>summary{height:100%;list-style:none;cursor:pointer}.mobile-more>summary::-webkit-details-marker{display:none}
 .mobile-more-menu{position:absolute;bottom:calc(100% + 7px);right:7px;width:min(235px,calc(100vw - 15px));display:grid;padding:9px;background:var(--theme-raised);border:1px solid #4c6b52;border-radius:13px;box-shadow:0 15px 40px #0009}.mobile-more-menu a{padding:12px;border-radius:8px;font-size:.9rem}.mobile-insights{display:none}.owner-insights .mobile-insights{display:block}
 body[data-view="dashboard"] .mobile-tabs a[data-tab="dashboard"],body[data-view="workout"] .mobile-tabs a[data-tab="workout"],body[data-view="plan"] .mobile-tabs a[data-tab="plan"],body[data-view="progress"] .mobile-tabs a[data-tab="progress"]{background:#30472f;color:var(--accent)}
 .container{width:100%;max-width:720px;min-width:0;padding:20px 16px calc(108px + env(safe-area-inset-bottom))}.foot{padding-bottom:calc(98px + env(safe-area-inset-bottom))}
 .head-inner{min-width:0;padding:11px 16px}.head-inner .brand{min-width:0;overflow:hidden;text-overflow:ellipsis}.head-inner .head-actions{flex:none;gap:5px}.head-inner .who{display:none}
 .layout,.grid.two,.grid.three,.compare{grid-template-columns:minmax(0,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}
 .stats{grid-template-columns:repeat(2,minmax(0,1fr))}.pagehead{align-items:start;flex-direction:column}.card{min-width:0}.exercise,.set,.save-panel{min-width:0}.exercise .set-inputs{min-width:0}
 .pr-toast{bottom:calc(80px + env(safe-area-inset-bottom))}
}
@media(max-width:650px){.exercise-list.focus-on .exercise:not(.focus-current){display:none}}
@media(max-width:900px),(pointer:coarse){.exercise-list.focus-on .exercise:not(.focus-current){display:none}}
@media(max-width:390px){.brand-icon{display:none}.head-install span{display:none}.head-inner .brand{font-size:.88rem}.head-actions .version-chip{min-width:40px}}
/* v17.6 private body metrics studio */
.activity-tracker{overflow:hidden}
.activity-tracker h2{margin:8px 0 6px}
.activity-start-row,.activity-controls{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:16px 0}
.activity-start-row label{display:grid;gap:7px;min-width:145px;color:var(--muted,#adbeae)}
.activity-start-row select{min-width:145px}
.activity-manual[hidden],#activityLive[hidden],#activitySetup[hidden],#activityManual[hidden]{display:none!important}
.activity-live-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:18px 0 10px;flex-wrap:wrap}
.activity-live-heading span{font-size:.9rem;color:var(--muted,#adbeae)}
.activity-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:14px}
.activity-stats>div{background:rgba(139,190,120,.10);border:1px solid rgba(183,225,174,.14);border-radius:16px;padding:15px 12px;display:grid;gap:5px;min-width:0}
.activity-stats strong{font-size:clamp(1.25rem,5vw,1.85rem);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.activity-stats span{font-size:.85rem;color:var(--muted,#adbeae)}
.activity-map{position:relative;width:100%;height:260px;overflow:hidden;border-radius:16px;background:#21352e;margin:12px 0}
.activity-map-tiles img{position:absolute;width:256px;height:256px;max-width:none;pointer-events:none}
.activity-route-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.activity-map-credit{position:absolute;bottom:5px;right:6px;z-index:1;background:#14251fe0;border-radius:4px;padding:3px 6px;color:#fff;font-size:12px}
.activity-map-empty{height:100%;display:grid;place-items:center;text-align:center;padding:24px;color:#cee3ca}
.activity-history{border-top:1px solid rgba(183,225,174,.18);padding-top:16px;margin-top:22px}
.activity-entry{border-top:1px solid rgba(183,225,174,.16);padding:12px 0}
.activity-entry summary{cursor:pointer;display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
.activity-entry summary span{color:var(--muted,#adbeae);font-size:.88rem}
.activity-entry .activity-map{margin-top:16px}
@media(max-width:400px){.activity-controls .btn{flex:1 1 42%;text-align:center}.activity-stats>div{padding:12px 8px}}
.metric-intro{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:4px 0 20px}.metric-intro h2{font-size:clamp(1.65rem,4vw,2.4rem);letter-spacing:-.055em;margin:3px 0 7px;line-height:1.1}.metric-intro p{color:#afc1b3;line-height:1.5;max-width:57ch;margin:0}.metric-intro .pill{align-self:start}
.metric-overview{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,.85fr);gap:15px;align-items:stretch}.metric-trend{padding:24px;min-width:0}.metric-trend-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.metric-trend h3,.metric-goal-card h3,.metric-entry-card h3{margin:2px 0 0;font-size:1.4rem;letter-spacing:-.04em}.metric-trend-header .btn{padding:9px 12px;font-size:.8rem}
.metric-picker{display:flex;overflow-x:auto;scrollbar-width:thin;gap:6px;padding:18px 0 9px}.metric-picker button,.metric-range button{border:1px solid #435a49;background:#20332a;color:#c7d7c9;border-radius:10px;padding:9px 12px;white-space:nowrap;font-size:.82rem;font-weight:780}.metric-picker button.active{background:var(--accent);color:#16231b;border-color:var(--accent)}.metric-picker button:hover:not(.active),.metric-range button:hover:not(.active){background:#344b38}
.metric-range{display:flex;gap:7px;margin:9px 0 12px}.metric-range button{background:transparent;padding:7px 12px;border-radius:999px}.metric-range button.active{background:#375038;color:#ddf8b0;border-color:#6b9256}
.metric-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:15px 0}.metric-stat{border:1px solid #3d5946;border-radius:12px;background:#20342a;padding:12px;min-width:0}.metric-stat span{display:block;color:#abbfac;text-transform:uppercase;font-size:.65rem;font-weight:830;letter-spacing:.07em}.metric-stat strong{display:block;color:#ecf7e6;font-size:clamp(1.03rem,2vw,1.42rem);letter-spacing:-.035em;margin-top:6px;white-space:nowrap}.metric-stat small{display:block;color:#93af9a;font-size:.69rem;margin-top:3px;line-height:1.3}
.metric-chart-wrap{overflow-x:auto;border:1px solid #334b3a;background:linear-gradient(160deg,#1b3025,#13231f);border-radius:13px;padding:9px}.metric-chart-wrap svg{display:block;width:100%;height:auto;min-height:160px}.metric-grid-line{stroke:#39513f;stroke-width:1}.metric-axis{fill:#afc2b0;font-size:12px}.metric-chart-line{fill:none;stroke:var(--accent);stroke-width:3.4;stroke-linecap:round;stroke-linejoin:round}.metric-average-line{fill:none;stroke:#7ab2a0;stroke-width:2;stroke-dasharray:7 6;opacity:.95}.metric-goal-line{stroke:#f1bc7b;stroke-width:1.8;stroke-dasharray:6 5}.metric-goal-label{fill:#f1bc7b;font-size:11px;font-weight:800}.metric-chart-dot{fill:var(--accent);stroke:var(--theme-raised);stroke-width:2;cursor:pointer}.metric-chart-dot:focus{stroke:#fff;stroke-width:4;outline:none}.metric-chart-foot{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;color:#a8bda9;font-size:.72rem;margin-top:10px}.metric-chart-foot strong{color:#dff3c5}.metric-empty{min-height:205px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;border:1px dashed #456348;border-radius:12px;color:#ddebd5;padding:20px}.metric-empty span{font-size:2rem;color:var(--accent)}.metric-empty strong{font-size:1rem}.metric-empty p{color:#a7b9a8;margin:6px 0 0;font-size:.85rem}
.metric-side{display:grid;gap:15px;align-content:start;min-width:0}.metric-goal-card{border:1px solid #708f5d;border-radius:17px;background:radial-gradient(circle at 90% 0%,#395635,transparent 60%),#263a2d;padding:22px;min-width:0}.metric-goal-head{display:flex;justify-content:space-between;align-items:start;gap:12px}.metric-goal-head>span{font-size:1.7rem;color:#d2f595}.metric-goal-main{margin:19px 0 11px}.metric-goal-main>strong{display:block;font-size:clamp(1.7rem,3vw,2.4rem);color:#eaffc7;letter-spacing:-.05em;white-space:nowrap}.metric-goal-main strong small{font-size:.83rem;color:#adcf9d;letter-spacing:0}.metric-goal-main p,.metric-waist-goal{color:#c0d5b8;font-size:.85rem;line-height:1.45}.metric-goal-track{height:9px;background:#1d3125;border-radius:20px;overflow:hidden;border:1px solid #506d46;margin-top:14px}.metric-goal-track span{height:100%;display:block;background:var(--accent);border-radius:20px}.metric-goal-edit{border-top:1px solid #506950;padding-top:15px;margin-top:18px}.metric-goal-edit summary{cursor:pointer;list-style:none;color:#e5f6c2;font-weight:800}.metric-goal-edit summary::-webkit-details-marker{display:none}.metric-goal-form{display:grid;gap:11px;margin-top:16px}.metric-goal-form label,.metric-form label{display:grid;gap:7px;font-size:.8rem;font-weight:750;color:#c9d8c8}.metric-goal-form input,.metric-form input{width:100%;max-width:100%;min-width:0;min-height:44px;border:1px solid #55715a;border-radius:9px;background:#10221c;color:#f2f8ed;padding:10px 12px;font:inherit;color-scheme:dark}.metric-goal-form input::placeholder,.metric-form input::placeholder{color:#849f88}.metric-goal-form input:focus,.metric-form input:focus{outline:2px solid var(--accent);outline-offset:1px}.metric-goal-form .btn{width:100%}
.metric-note{border:1px solid #3f604c;border-radius:15px;background:#1e322a;padding:16px;display:flex;gap:11px}.metric-note>span{color:var(--accent);font-size:1.25rem}.metric-note strong{color:#e8f5e0}.metric-note p{margin:4px 0 0;color:#a7bba9;font-size:.83rem;line-height:1.5}
.metric-entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:18px 0}.metric-entry-card{min-width:0}.metric-entry-card>p{margin:10px 0 20px}.metric-form{display:grid;gap:12px}.metric-form .btn{justify-self:start;min-height:44px}.metric-fields{display:grid;grid-template-columns:1fr 1fr;gap:11px}.metric-entry-card .status{margin-top:10px;min-height:1em}
.metric-history{border:1px solid #3d5743;border-radius:15px;background:#192b24;padding:17px 20px;margin-bottom:18px}.metric-history>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;color:#e8f5df;font-weight:850;list-style:none}.metric-history>summary::-webkit-details-marker{display:none}.metric-history>summary span{border-radius:999px;background:#2c4332;color:#d2f0b5;padding:4px 9px;font-size:.78rem}.metric-history-row{display:flex;align-items:center;gap:10px;border-top:1px solid #354a3c;padding:12px 0}.metric-history-row:first-child{margin-top:15px}.metric-history-row>div{flex:1;min-width:0}.metric-history-row strong,.metric-history-row small{display:block}.metric-history-row small{font-size:.79rem;color:#b5cbb5;line-height:1.35;overflow-wrap:anywhere;margin-top:3px}.metric-history-row .btn{padding:7px 10px;font-size:.75rem}
@media(max-width:900px),(pointer:coarse){.metric-overview{grid-template-columns:minmax(0,1fr)}.metric-side{grid-template-columns:1fr 1fr}.metric-entry-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:650px){.metric-intro{align-items:start}.metric-intro .pill{font-size:.7rem}.metric-trend{padding:16px}.metric-side{grid-template-columns:minmax(0,1fr)}.metric-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-stat:last-child{grid-column:1/-1}.metric-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-goal-card{padding:19px}}
@media(max-width:390px){.metric-intro{flex-direction:column}.metric-stats{gap:6px}.metric-fields{gap:8px}.metric-chart-wrap{padding:4px}.metric-chart-foot{font-size:.67rem}}
@media(pointer:coarse){.metric-side{grid-template-columns:minmax(0,1fr)}.metric-picker button,.metric-range button{min-height:42px}.metric-chart-dot{stroke-width:4}}
/* v17.7: native swipe navigation with every page directly reachable. */
@media(max-width:900px),(pointer:coarse){
 .mobile-tabs{display:flex;align-items:stretch;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scroll-padding-inline:12px;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;gap:4px;padding:5px max(9px,env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) max(9px,env(safe-area-inset-left));touch-action:pan-x}
 .mobile-tabs::-webkit-scrollbar{display:none}
 .mobile-tabs>a{display:flex;flex:0 0 auto;min-width:86px;max-width:112px;scroll-snap-align:center;min-height:53px;padding:6px 12px;font-size:.69rem;border:1px solid transparent}
 .mobile-tabs>a span{font-size:1.22rem}
 .mobile-tabs>a[aria-current="page"]{background:#30472f;color:var(--accent);border-color:#4c6f42}
 .mobile-tabs>a:not([aria-current="page"]):hover{background:#20342a;color:#e2f4d5}
 .mobile-tabs .mobile-insights{display:none}.owner-insights .mobile-tabs .mobile-insights{display:flex}
}
/* v17.7 resting energy calculator */
.bmr-card{margin:18px 0;border-color:#526b4d;background:linear-gradient(126deg,#1c3026,#172622 70%);padding:26px;overflow:hidden}
.bmr-intro{display:flex;align-items:start;justify-content:space-between;gap:14px}.bmr-intro h3{font-size:1.55rem;letter-spacing:-.045em;margin:2px 0 8px}.bmr-intro p{margin:0;line-height:1.5;color:#b7cbb9;max-width:65ch;font-size:.9rem}.bmr-mark{display:grid;place-items:center;width:48px;height:48px;flex:none;border-radius:15px;background:#354e34;color:var(--accent);font-size:1.8rem}
.bmr-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0 0}.bmr-form label{display:grid;align-content:start;gap:7px;font-size:.82rem;font-weight:780;color:#d6e7d1;min-width:0}.bmr-form input,.bmr-form select{width:100%;min-width:0;min-height:46px;border:1px solid #58705a;border-radius:10px;background:#0e201a;color:#f2f9ed;padding:10px 11px;font:inherit;color-scheme:dark}.bmr-form input::placeholder{color:#8da68f}.bmr-form input:focus,.bmr-form select:focus{outline:2px solid var(--accent);outline-offset:1px}.bmr-formula-option{grid-column:span 2}.bmr-calculate{grid-column:span 2;align-self:end;min-height:46px}.bmr-use-weight{background:transparent;border:0;color:var(--accent);text-align:left;padding:2px 0;font-size:.72rem;text-decoration:underline;text-underline-offset:2px}.bmr-use-weight:hover{color:#e8ffbd}
.bmr-result{margin-top:18px;border:1px solid #7fa463;border-radius:13px;background:#304830;padding:18px 20px}.bmr-result>span{font-size:.7rem;letter-spacing:.12em;color:#d0edae;font-weight:850}.bmr-result>strong{display:block;color:#efffca;font-size:clamp(1.8rem,4vw,2.55rem);letter-spacing:-.05em;margin:6px 0}.bmr-result strong small{font-size:.92rem;letter-spacing:0;color:#c5dfad}.bmr-result p{font-size:.83rem;color:#d2e0ce;line-height:1.5;margin:5px 0 0}.bmr-result .bmr-error{color:#ffc3ad}.bmr-footnote{color:#a5bba9;font-size:.75rem;line-height:1.55;margin:18px 0 0}.bmr-footnote a{color:#d6f59d;text-decoration:underline;text-underline-offset:2px}
@media(max-width:900px),(pointer:coarse){.bmr-form{grid-template-columns:repeat(2,minmax(0,1fr))}.bmr-formula-option,.bmr-calculate{grid-column:span 2}}
@media(max-width:650px){.bmr-card{padding:18px}.bmr-mark{width:40px;height:40px;font-size:1.4rem}.bmr-form{gap:12px}.bmr-formula-option,.bmr-calculate{grid-column:span 2}}
@media(max-width:390px){.bmr-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px}.bmr-form input,.bmr-form select{padding:9px}.bmr-use-weight{font-size:.69rem}}

.metric-import{margin:18px 0;padding:23px}.metric-import h3{margin:5px 0 12px}.metric-import label{display:block;margin:18px 0 8px;font-weight:750}.metric-import input[type=file]{display:block;width:100%;padding:14px;margin-bottom:16px;border:1px dashed #75916e;border-radius:12px;background:#12231d;color:#e6f4df}.metric-import input[type=file]::file-selector-button{background:#d0f784;color:#18251b;border:0;border-radius:9px;padding:9px 13px;margin-right:12px;font:inherit;font-weight:750}.metric-import-review{margin-top:14px;padding:17px;border:1px solid #536e58;border-radius:12px;background:#22362d}.metric-import-review ul{padding-left:20px;max-height:190px;overflow:auto}.metric-import-review li{margin:8px 0;overflow-wrap:anywhere}.metric-import-review p{color:var(--theme-muted)}

/* Prevent iOS date controls from forcing the metric form wider than its card. */
.metric-entry-card,.metric-form,.metric-fields,.metric-form label,.metric-fields label{min-width:0;max-width:100%}
.metric-form{grid-template-columns:minmax(0,1fr)}
.metric-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
.metric-form input[type="date"]{display:block;width:100%;min-width:0;max-width:100%;box-sizing:border-box}
@media(max-width:440px){.metric-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Mobile Safari gives native date controls an extra intrinsic width. Match the text fields visually. */
@media(max-width:900px),(pointer:coarse){
 .metric-entry-card .metric-form input[type="date"]{width:calc(100% - 24px);max-width:calc(100% - 24px);min-width:0}
}
/* Feedback lives in the header; only the owner retains the dedicated inbox tab. */
.main-nav .owner-ideas-link,.mobile-tabs .owner-ideas-link{display:none!important}
.owner-insights .main-nav .owner-ideas-link{display:inline-flex!important}
.owner-insights .mobile-tabs .owner-ideas-link{display:flex!important}
.feedback-chip{height:40px;border:1px solid var(--accent-border);border-radius:11px;padding:0 12px;background:#2b4234;color:var(--accent-soft);font-size:.83rem;font-weight:850;white-space:nowrap;cursor:pointer}
.feedback-chip:hover{background:#3e5942;color:#fff}
.feedback-dialog{width:min(520px,calc(100vw - 28px));max-height:min(90dvh,760px);overflow:auto;box-sizing:border-box}
.feedback-dialog h2{margin:8px 0}.feedback-types{display:flex;gap:8px;border:0;padding:0;margin:22px 0 20px;min-width:0;flex-wrap:wrap}.feedback-types legend,.feedback-label{display:block;font-weight:800;margin-bottom:10px;color:#e9f3e8}.feedback-types label{position:relative;cursor:pointer;flex:1 1 110px}.feedback-types input{position:absolute;opacity:0;width:1px;height:1px}.feedback-types span{display:block;text-align:center;border:1px solid #536c52;border-radius:12px;padding:12px 8px;background:#23362b;color:#e7f2dc;font-weight:750}.feedback-types input:checked+span{background:var(--accent);border-color:var(--accent);color:#18261b}.feedback-types input:focus-visible+span{outline:3px solid #fff;outline-offset:2px}.feedback-dialog textarea{box-sizing:border-box;width:100%;min-height:130px;resize:vertical;background:#12251f;border:1px solid #657b65;color:#f4fbef;padding:14px;border-radius:12px;font:inherit}.feedback-dialog textarea:focus{outline:2px solid var(--accent);outline-offset:2px}.feedback-dialog textarea::placeholder{color:#9db19f}.feedback-privacy{line-height:1.5;margin:12px 0 20px}.feedback-submit{width:100%;justify-content:center}
@media(max-width:650px){.feedback-chip{height:38px;padding:0 8px;font-size:.76rem}}
@media(max-width:390px){.feedback-chip{padding:0 6px;font-size:.72rem}.head-actions{gap:4px}}
.feedback-dialog #feedbackForm{display:block}
.push-card{border-color:#627d50;background:linear-gradient(145deg,#203729,#152720)}.push-card .kicker{margin-bottom:8px}.push-card .body{line-height:1.5}.push-actions{margin-top:20px}.push-actions .btn{min-height:43px}.push-card .status{margin-top:12px}
/* First-open notification offer */
.push-dialog{width:min(440px,calc(100vw - 28px));box-sizing:border-box;padding:24px;border-color:#647e50;background:#192c22;color:#f1f8ee}.push-dialog-head{display:flex;align-items:start;justify-content:space-between;margin-bottom:16px}.push-dialog-head img{border-radius:13px}.push-dialog h2{font-size:1.7rem;margin:6px 0 9px}.push-dialog p{color:#bed0bf;line-height:1.55;margin:0 0 19px}.push-dialog-actions{display:flex;gap:10px;flex-wrap:wrap}.push-dialog-actions .btn{min-height:48px;flex:1 1 auto;justify-content:center}.push-dialog .status{margin:13px 0 0;color:#d1eda5;min-height:0}
/* Member-controlled reminder times. */
.push-options{border-top:1px solid var(--line,#385747);margin-top:22px;padding-top:18px;display:grid;gap:12px}
.push-options[hidden]{display:none}
.push-options input[type=time],.workout-time input[type=time]{width:100%;max-width:220px;min-width:0;box-sizing:border-box;background:#0d231d;color:#eff9eb;border:1px solid #5a8169;border-radius:12px;padding:10px 12px;font:inherit;color-scheme:dark}
.push-check{display:flex;align-items:center;gap:10px}.push-check input{width:20px;height:20px;accent-color:var(--accent)}
.workout-time{border-top:1px solid #385747;margin-top:22px;padding-top:18px;min-width:0}.workout-time label{display:block;margin-bottom:8px;font-weight:700}.workout-time-controls{display:flex;flex-wrap:wrap;align-items:center;gap:9px;min-width:0}.workout-time .small{margin:10px 0}
.skip-today{margin-top:10px;max-width:100%;white-space:normal;text-align:center}.workout-time .status{min-height:1.2em}
/* Room choices belong with the partner workflow, including on narrow phones. */
.room-switcher{margin:0 0 18px}.room-switcher .room-list{margin-top:16px}.room-switcher .room-option{min-width:0;gap:12px}.room-switcher .room-option>span:first-child{min-width:0;overflow-wrap:anywhere}.room-switcher .room-option>span:last-child{flex:none}.join-success{margin-bottom:18px;border-color:#91b364}.join-success p{margin:8px 0 14px}

/* v19.5: the page scrolls independently; navigation occupies its own viewport row. */
@media(max-width:900px),(pointer:coarse){
 html,body{height:100%;overflow:hidden}
 body{height:100vh;height:100dvh;display:flex;flex-direction:column;min-height:0}
 .page-scroll{display:block;flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}
 .mobile-tabs{position:relative;bottom:auto;left:auto;right:auto;flex:0 0 auto;width:100%;min-height:64px}
 .page-scroll .container{padding-bottom:24px}
 .page-scroll .foot{padding-bottom:18px}
}
@media(min-width:901px) and (pointer:fine){.page-scroll{display:contents}}

/* Account privacy actions and public explanation. */
.privacy-page{max-width:850px;padding-bottom:42px}.privacy-page .card{line-height:1.65}.privacy-page h2{font-size:1.22rem;margin:26px 0 8px}.privacy-page h2:first-child{margin-top:0}.privacy-page p{color:var(--theme-muted);font-size:1rem;overflow-wrap:anywhere}.privacy-page a,.foot a{color:var(--accent)}
#privacyAccountCard .page-actions{margin:16px 0;gap:10px;flex-wrap:wrap}#privacyAccountCard .page-actions>*{max-width:100%}#privacyAccountCard h3{margin:20px 0 8px}#privacyAccountCard select{max-width:100%}#privacyAccountCard .field{margin:12px 0}
.privacy-request{padding:14px 0;border-top:1px solid #3a5548;overflow-wrap:anywhere}.privacy-request strong{text-transform:capitalize}.privacy-request small{display:block;color:#afc0ad;margin-top:3px}.privacy-request p{margin:8px 0}.privacy-request textarea{width:100%;min-width:0;box-sizing:border-box;min-height:76px;margin:10px 0;background:#10241e;color:#eef9e9;border:1px solid #54765f;border-radius:12px;padding:10px;font:inherit}.privacy-request label{display:block;margin-top:10px}.privacy-request .page-actions{display:flex;flex-wrap:wrap;gap:8px}.privacy-request .btn{min-height:42px}
@media(max-width:480px){.privacy-page .card{padding:18px}#privacyAccountCard .page-actions>*{width:100%;justify-content:center}.privacy-request .page-actions .btn{width:100%}}

/* Keep the installed app logo beside the name at every phone width. */
.head-inner .brand-icon{display:block;object-fit:contain;flex:none;background:transparent;border-radius:10px}
@media(max-width:390px){.head-inner .brand-icon{display:block;width:30px;height:30px}.head-inner .brand{gap:5px}}
@media(max-width:350px){.head-inner{flex-wrap:wrap}.head-inner .head-actions{margin-left:auto}}
.auth-form .age-confirm[hidden]{display:none}
.auth-form .age-confirm label{display:flex;align-items:flex-start;gap:9px;line-height:1.35}
.auth-form .age-confirm input[type="checkbox"]{width:20px;height:20px;min-height:20px;margin:0;flex:none;accent-color:var(--accent)}
.auth-form .age-confirm p{margin:7px 0 0}

/* A consistent, one-color navigation icon set in place of platform emojis. */
.main-nav .nav-icon{display:block;width:19px;height:19px;flex:none}
.main-nav .nav-logo{display:block;width:21px;height:21px;object-fit:contain;flex:none;border-radius:5px}
.mobile-tabs>a .nav-icon{display:block;width:25px;height:25px;flex:none}
.mobile-tabs>a .nav-logo{display:block;width:26px;height:26px;object-fit:contain;flex:none;border-radius:6px}

/* The account screen owns the viewport until a signed-in room loads. */
body:not(.authenticated) .mobile-tabs,body:not(.authenticated) .nav-wrap{display:none!important}
body.auth-screen .app-header,body.auth-screen .foot{display:none}
body.auth-screen .page-scroll{background:radial-gradient(ellipse 90% 58% at 50% 7%,var(--theme-glow) 0%,transparent 72%),var(--theme-bg)}
body.auth-screen .page-scroll .container{min-height:100%;width:100%;max-width:none;display:flex;align-items:center;justify-content:center;padding:30px 18px calc(30px + env(safe-area-inset-bottom));box-sizing:border-box}
.sign-in-screen{width:min(100%,470px);margin:auto}.sign-in-intro{text-align:center;margin-bottom:21px}.sign-in-logo{display:block;width:68px;height:68px;object-fit:contain;margin:0 auto 18px;border-radius:16px}.sign-in-intro h1{font-size:clamp(1.8rem,5vw,2.35rem);letter-spacing:-.04em;margin:10px 0}.sign-in-intro p{color:var(--theme-muted);line-height:1.5;margin:0}
.sign-in-card{padding:25px}.sign-in-card .auth-form{max-width:none;margin:0;gap:17px}.sign-in-card .segmented{display:flex;width:100%;background:#0e1e1a;border-radius:11px;padding:4px;gap:4px}.sign-in-card .segmented button{flex:1;min-width:0}.sign-in-card .field label{font-size:.95rem}.sign-in-card .field input{min-height:51px}.sign-in-card .text-link{font-size:.91rem}.sign-in-card a,.legacy-signin a{color:var(--accent-soft)}.sign-in-submit{width:100%;min-height:49px;justify-content:center}.legacy-signin{margin:20px 0 0;line-height:1.5;border-top:1px solid #355045;padding-top:15px}
.remember-row{display:grid;gap:5px}.remember-row label{display:flex;align-items:center;gap:10px;cursor:pointer;color:var(--theme-text);font-weight:650}.remember-row input[type=checkbox]{width:21px;height:21px;min-height:21px;flex:none;margin:0;accent-color:var(--accent)}.remember-row small{color:var(--theme-muted);font-size:.83rem;line-height:1.4;padding-left:31px}
.auth-error{max-width:470px;margin:auto}
@media(max-width:480px){.sign-in-card{padding:19px}.sign-in-screen{padding:10px 0}.sign-in-intro{margin-bottom:15px}}
.head-signout{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:40px;padding:0 11px;border-radius:11px;border:1px solid var(--theme-border);background:var(--theme-control);color:var(--accent-soft);font-size:.84rem;font-weight:750;white-space:nowrap}.head-signout:hover{background:var(--theme-control-hover)}.head-signout svg{width:19px;height:19px;flex:none}body:not(.authenticated) .head-signout{display:none}
@media(max-width:650px){.head-signout{width:38px;height:38px;padding:0}.head-signout span{display:none}.head-inner{flex-wrap:wrap}.head-inner .head-actions{flex-wrap:wrap;justify-content:flex-end}}
@media(max-width:420px){.head-inner .head-actions{flex:1 1 100%;justify-content:space-between;gap:5px}}
.today-session>.session-icon{width:34px;height:34px;flex:none;color:var(--accent)}

.sign-in-card .auth-form[hidden]{display:none}.sign-in-card #resetForm h2{margin:0;font-size:1.35rem}.sign-in-card #resetForm p{margin:0;line-height:1.5}

/* Pull down to refresh; keep the hidden controller for existing refresh logic. */
@media(max-width:650px),(pointer:coarse){.head-refresh,.manual-refresh-control{display:none!important}}
.mobile-refresh-hint{display:none}
@media(max-width:650px),(pointer:coarse){.mobile-refresh-hint{display:block}}
@media(max-width:650px){
  .head-inner{gap:7px 10px;padding:10px 16px;align-content:center}
  .head-inner .head-actions{flex:0 0 100%;width:100%;min-width:0;flex-wrap:nowrap;justify-content:flex-end;gap:7px}
  .head-inner .brand-icon{display:block}
}
@media(max-width:420px){
  .head-inner .head-actions{flex:0 0 100%;justify-content:flex-end;gap:6px}
}

/* A small, readable set of personal accent themes. */
html[data-theme]:not([data-theme="lime"]) .mobile-tabs a[aria-current="page"],html[data-theme]:not([data-theme="lime"]) .mobile-tabs a.active,html[data-theme]:not([data-theme="lime"]) .mobile-more[open]>summary{background:var(--accent-wash);color:var(--accent)}
html[data-theme]:not([data-theme="lime"]) .version-chip,html[data-theme]:not([data-theme="lime"]) .feedback-chip,html[data-theme]:not([data-theme="lime"]) .head-signout{border-color:var(--accent-border);color:var(--accent-soft)}
html[data-theme]:not([data-theme="lime"]) .split-choice:has(input:checked),html[data-theme]:not([data-theme="lime"]) .room-option.active,html[data-theme]:not([data-theme="lime"]) .exercise .set.marked-done{border-color:var(--accent-border);background:var(--accent-wash)}
.theme-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.theme-choice{position:relative;display:block;min-width:0;cursor:pointer}.theme-choice input{position:absolute;opacity:0;width:1px;height:1px}.theme-choice-body{display:flex;align-items:center;gap:10px;min-height:58px;padding:11px 12px;background:var(--theme-raised);border:1px solid #486251;border-radius:12px;font-weight:750;color:var(--theme-text)}.theme-choice input:checked+.theme-choice-body{border:2px solid var(--accent);background:var(--accent-wash);padding:10px 11px}.theme-choice input:focus-visible+.theme-choice-body{outline:3px solid var(--accent);outline-offset:3px}.theme-swatch{width:23px;height:23px;flex:none;border-radius:50%;background:var(--swatch);border:2px solid #dcebd4}.theme-choice input:checked+.theme-choice-body:after{content:'✓';margin-left:auto;color:var(--accent)}
@media(max-width:370px){.theme-choices{grid-template-columns:1fr}}

/* Full colorways include navigation, tracking panels and app icon, with neutral readable text. */
html[data-theme]:not([data-theme="lime"]) .app-header,html[data-theme]:not([data-theme="lime"]) .mobile-tabs{background:var(--theme-header);border-color:var(--theme-border)}
html[data-theme]:not([data-theme="lime"]) .page-scroll{background:radial-gradient(ellipse 70% 35% at 75% -10%,var(--theme-glow),transparent 70%),var(--theme-bg)}
html[data-theme]:not([data-theme="lime"]) .save-panel{background:var(--theme-bg)}
html[data-theme]:not([data-theme="lime"]) .card,html[data-theme]:not([data-theme="lime"]) .modal{background:var(--theme-card);border-color:var(--theme-border-soft)}
html[data-theme]:not([data-theme="lime"]) .metric-goal-card,html[data-theme]:not([data-theme="lime"]) .push-card,html[data-theme]:not([data-theme="lime"]) .bmr-card,html[data-theme]:not([data-theme="lime"]) .today-session{background:linear-gradient(145deg,var(--theme-selected),var(--theme-card));border-color:var(--accent-border)}
html[data-theme]:not([data-theme="lime"]) .metric-chart-wrap{background:linear-gradient(160deg,var(--theme-raised),var(--theme-inset));border-color:var(--theme-border)}
html[data-theme]:not([data-theme="lime"]) .metric-stat,html[data-theme]:not([data-theme="lime"]) .metric-history,html[data-theme]:not([data-theme="lime"]) .metric-note,html[data-theme]:not([data-theme="lime"]) .bmr-result,html[data-theme]:not([data-theme="lime"]) .idea-entry{background:var(--theme-raised);border-color:var(--theme-border)}
html[data-theme]:not([data-theme="lime"]) .set,html[data-theme]:not([data-theme="lime"]) .room-option,html[data-theme]:not([data-theme="lime"]) .theme-choice-body{background:var(--theme-raised);border-color:var(--theme-border)}
html[data-theme]:not([data-theme="lime"]) .room-option.active,html[data-theme]:not([data-theme="lime"]) .theme-choice input:checked+.theme-choice-body{background:var(--theme-selected);border-color:var(--accent)}
html[data-theme]:not([data-theme="lime"]) .pull-refresh-area{background:linear-gradient(180deg,var(--theme-glow),var(--theme-bg))}
html[data-theme]:not([data-theme="lime"]) .brand-icon,html[data-theme]:not([data-theme="lime"]) .nav-logo,html[data-theme]:not([data-theme="lime"]) .sign-in-logo{filter:var(--logo-filter)}
html[data-theme]:not([data-theme="lime"]) input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),html[data-theme]:not([data-theme="lime"]) textarea,html[data-theme]:not([data-theme="lime"]) select{background-color:var(--theme-inset);color:var(--theme-text);border-color:var(--theme-border-strong)}
html[data-theme]:not([data-theme="lime"]) .pill.green,html[data-theme]:not([data-theme="lime"]) .set.complete,html[data-theme]:not([data-theme="lime"]) .exercise .set.marked-done{background:var(--theme-selected);border-color:var(--accent-border);color:var(--accent-soft)}
html[data-theme]:not([data-theme="lime"]) .push-dialog,html[data-theme]:not([data-theme="lime"]) .bmr-result,html[data-theme]:not([data-theme="lime"]) .prompt{background:var(--theme-raised);border-color:var(--accent-border);color:var(--theme-text)}
/* Small controls use the same palette as their page, including dialogs. */
html[data-theme]:not([data-theme="lime"]) .version-chip,html[data-theme]:not([data-theme="lime"]) .feedback-chip,html[data-theme]:not([data-theme="lime"]) .head-signout,html[data-theme]:not([data-theme="lime"]) .pill,html[data-theme]:not([data-theme="lime"]) .exercise .title .pill,html[data-theme]:not([data-theme="lime"]) .metric-history>summary span{background:var(--theme-control);border-color:var(--accent-border);color:var(--accent-soft)}
html[data-theme]:not([data-theme="lime"]) .version-chip:hover,html[data-theme]:not([data-theme="lime"]) .feedback-chip:hover,html[data-theme]:not([data-theme="lime"]) .head-signout:hover{background:var(--theme-control-hover)}
html[data-theme]:not([data-theme="lime"]) .modal .close,html[data-theme]:not([data-theme="lime"]) .feedback-types span,html[data-theme]:not([data-theme="lime"]) .rest-timer button,html[data-theme]:not([data-theme="lime"]) .metric-picker button:not(.active){background:var(--theme-control);border-color:var(--theme-border);color:var(--theme-text)}
html[data-theme]:not([data-theme="lime"]) .feedback-types input:checked+span,html[data-theme]:not([data-theme="lime"]) .metric-range button.active{background:var(--accent);border-color:var(--accent);color:#142219}
html[data-theme]:not([data-theme="lime"]) .import-card input[type=file]::file-selector-button,html[data-theme]:not([data-theme="lime"]) .metric-import input[type=file]::file-selector-button{background:var(--accent);color:#142219}
html[data-theme]:not([data-theme="lime"]) .release-entry,html[data-theme]:not([data-theme="lime"]) .release-dialog .release-list{border-color:var(--theme-border)}
.feedback-types svg{width:19px;height:19px;vertical-align:-3px;margin-right:3px;color:inherit}
html[data-theme]:not([data-theme="lime"]) .feedback-dialog,html[data-theme]:not([data-theme="lime"]) .release-dialog,html[data-theme]:not([data-theme="lime"]) .member-guide{background:var(--theme-card);border-color:var(--theme-border);color:var(--theme-text)}
html[data-theme]:not([data-theme="lime"]) .feedback-types legend,html[data-theme]:not([data-theme="lime"]) .feedback-label,html[data-theme]:not([data-theme="lime"]) .release-entry ul{color:var(--theme-text)}
html[data-theme]:not([data-theme="lime"]) .week-day,html[data-theme]:not([data-theme="lime"]) .insight,html[data-theme]:not([data-theme="lime"]) .insight.green,html[data-theme]:not([data-theme="lime"]) .mini-value,html[data-theme]:not([data-theme="lime"]) .bodyweight-stats>div,html[data-theme]:not([data-theme="lime"]) .plan-build-option,html[data-theme]:not([data-theme="lime"]) .import-day,html[data-theme]:not([data-theme="lime"]) .editor-exercise{background:var(--theme-raised);border-color:var(--theme-border)}
html[data-theme]:not([data-theme="lime"]) .editor-day-settings,html[data-theme]:not([data-theme="lime"]) .insight-privacy,html[data-theme]:not([data-theme="lime"]) .metric-range button:not(.active),html[data-theme]:not([data-theme="lime"]) .metric-picker button:not(.active){background:var(--theme-control);border-color:var(--theme-border);color:var(--theme-text)}
html[data-theme]:not([data-theme="lime"]) .metric-range button.active,html[data-theme]:not([data-theme="lime"]) .mobile-tabs>a[aria-current="page"]{background:var(--theme-selected);border-color:var(--accent-border);color:var(--accent-soft)}
html[data-theme]:not([data-theme="lime"]) .metric-picker button.active{background:var(--accent);border-color:var(--accent);color:#142219}
html[data-theme]:not([data-theme="lime"]) .refresh-status,html[data-theme]:not([data-theme="lime"]) .pull-refresh,html[data-theme]:not([data-theme="lime"]) .segmented{background:var(--theme-control);border-color:var(--accent-border);color:var(--accent-soft)}
html[data-theme]:not([data-theme="lime"]) .feedback-dialog textarea,html[data-theme]:not([data-theme="lime"]) .feedback-types span{background:var(--theme-inset);border-color:var(--theme-border-strong);color:var(--theme-text)}
html[data-theme]:not([data-theme="lime"]) .feedback-types input:checked+span{background:var(--accent);border-color:var(--accent);color:#142219}

/* Keep the primary tasks visible while giving optional detail a place to live. */
.week-empty{min-height:116px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;padding:17px 2px}.week-empty-icon{font-size:1.4rem;color:var(--accent)}.week-empty p{margin:0;color:var(--theme-text);font-weight:700}.week-empty a{display:inline-block;margin-top:4px}
.plan-exercises{margin:14px 0 16px;border-top:1px solid var(--theme-border-soft);border-bottom:1px solid var(--theme-border-soft)}.plan-exercises>summary{list-style:none;min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;color:var(--accent-soft);font-weight:750}.plan-exercises>summary::-webkit-details-marker{display:none}.plan-exercises>summary:after{content:'⌄';font-size:1.2rem;line-height:1;color:var(--accent);transition:transform .18s ease}.plan-exercises[open]>summary:after{transform:rotate(180deg)}.plan-exercises ul{margin:0 0 14px;padding-left:19px}.plan-exercises li{padding:4px 0;line-height:1.45}.plan-exercises li span{display:block;font-size:.82rem}
.workout-help{padding:0;overflow:hidden}.workout-help>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;min-height:66px;padding:17px 20px;cursor:pointer;font-size:1.06rem;font-weight:800;color:var(--theme-text)}.workout-help>summary::-webkit-details-marker{display:none}.workout-help>summary:after{content:'⌄';font-size:1.4rem;color:var(--accent);transition:transform .18s ease}.workout-help[open]>summary:after{transform:rotate(180deg)}.workout-help-content{border-top:1px solid var(--theme-border-soft);padding:15px 20px 20px}.workout-help-content>p:first-child{margin-top:0}
.progress-tool{min-width:0;margin:12px 0;background:var(--theme-card);border:1px solid var(--theme-border-soft);border-radius:17px;overflow:hidden}.progress-tool>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:74px;padding:15px 20px;cursor:pointer;color:var(--theme-text)}.progress-tool>summary::-webkit-details-marker{display:none}.progress-tool>summary strong,.progress-tool>summary small{display:block}.progress-tool>summary strong{font-size:1.08rem}.progress-tool>summary small{margin-top:3px;color:var(--theme-muted);font-size:.81rem;line-height:1.35}.progress-tool[open]>summary{border-bottom:1px solid var(--theme-border-soft)}.progress-tool[open] .settings-chevron{transform:rotate(225deg)}.progress-tool>.card{margin:0;border:0;border-radius:0;box-shadow:none;background:transparent}.progress-tool .bmr-card,.progress-tool .metric-import{padding:18px 20px 22px}
.plan-exercises>summary:focus-visible,.workout-help>summary:focus-visible,.progress-tool>summary:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}
@media(max-width:650px){.progress-tool>summary{padding:14px 16px}.progress-tool .bmr-card,.progress-tool .metric-import{padding:16px}.workout-help>summary{padding:15px 18px}.workout-help-content{padding:14px 18px 18px}}
.room-item{min-width:0}.room-manage{margin:3px 0 9px}.room-manage>summary{list-style:none;display:inline-flex;align-items:center;min-height:36px;padding:3px 8px;color:var(--accent-soft);font-size:.83rem;font-weight:750;cursor:pointer}.room-manage>summary::-webkit-details-marker{display:none}.room-manage>summary:after{content:'⌄';margin-left:8px;color:var(--accent)}.room-manage[open]>summary:after{transform:rotate(180deg)}.room-manage>summary:focus-visible{outline:2px solid var(--accent);border-radius:7px}.room-manage-body{padding:12px 14px 15px;background:var(--theme-raised);border:1px solid var(--theme-border);border-radius:11px}.room-rename label{display:block;margin-bottom:7px;color:var(--theme-muted);font-weight:700;font-size:.82rem}.room-rename>div{display:flex;flex-wrap:wrap;gap:8px}.room-rename input{flex:1 1 180px;min-width:0;min-height:42px;padding:9px 11px;background:var(--theme-inset);border:1px solid var(--theme-border-strong);border-radius:9px;color:var(--theme-text);font:inherit}.room-rename input:focus-visible{outline:2px solid var(--accent)}.room-manage .btn{min-height:42px}.room-leave,.room-delete{margin-top:13px}.room-manage-body>p{margin:6px 0 0}.room-manage .btn.danger{color:#f8c7bc}

/* Plan overview: equal actions and compact, optional schedule controls. */
.pagehead .plan-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:9px;width:min(100%,360px);flex:none}.plan-actions .btn{width:100%;min-width:0;min-height:52px;padding:10px 12px;text-align:center;line-height:1.25;font-size:.9rem}.plan-more{min-width:0}.plan-more>summary{list-style:none;display:flex;align-items:center;justify-content:center;min-height:52px;padding:10px 12px;border:1px solid var(--theme-border);border-radius:10px;background:var(--theme-card);color:var(--theme-text);font-size:.9rem;font-weight:760;cursor:pointer}.plan-more>summary::-webkit-details-marker{display:none}.plan-more>summary:after{content:'⌄';margin-left:9px;color:var(--accent)}.plan-more[open]>summary:after{transform:rotate(180deg)}.plan-more-menu{display:grid;gap:8px;padding-top:9px}.plan-day-list .day-card{min-width:0}.plan-day-list .dayname{line-height:1.2}.plan-day-list .day-card>.btn{min-height:44px}
.plan-day-list .workout-time{margin-top:17px;padding-top:0;border-top:1px solid var(--theme-border-soft)}.plan-day-list .workout-time>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:62px;padding:11px 0;cursor:pointer;font-weight:760;color:var(--theme-text)}.plan-day-list .workout-time>summary::-webkit-details-marker{display:none}.plan-day-list .workout-time>summary small{display:block;margin-top:2px;font-size:.78rem;color:var(--theme-muted);font-weight:500}.plan-day-list .workout-time[open] .settings-chevron{transform:rotate(225deg)}.plan-day-list .workout-time-body{padding:10px 0 4px;border-top:1px solid var(--theme-border-soft)}.plan-day-list .workout-time-controls input{flex:1 1 135px;max-width:none}.plan-day-list .workout-time-controls .btn{min-height:43px}.plan-day-list .workout-time .status:empty{display:none}
@media(max-width:650px){.pagehead .plan-actions{width:100%;gap:7px}.plan-actions .btn{min-height:54px;padding:8px 5px;font-size:.79rem}.plan-day-list .day-card>.btn{width:100%}}
.metric-quick-entry{margin:0 0 18px;border-color:var(--accent-border);background:var(--theme-selected)}.metric-quick-entry .metric-form{display:grid;grid-template-columns:minmax(120px,1fr) minmax(120px,1fr) auto;align-items:end;gap:12px}.metric-quick-entry .metric-form .btn{min-height:44px;white-space:nowrap}.metric-entry-grid:has(> .metric-entry-card:only-child){grid-template-columns:minmax(0,1fr)}@media(max-width:650px){.metric-quick-entry .metric-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.metric-quick-entry .metric-form .btn{grid-column:1/-1;width:100%}.plan-more>summary{min-height:54px;font-size:.79rem}}
.bodyweight-panel.metrics-loading .metric-overview{grid-template-columns:minmax(0,1fr)}.bodyweight-panel.metrics-loading .metric-side,.bodyweight-panel.metrics-loading .metric-entry-grid,.bodyweight-panel.metrics-loading .progress-tool,.bodyweight-panel.metrics-loading .metric-history,.bodyweight-panel.metrics-loading .metric-picker,.bodyweight-panel.metrics-loading .metric-range,.bodyweight-panel.metrics-loading #exportMetrics{display:none}
/* iOS retains :hover after a tap; tint both that state and the selected destination. */
html[data-theme]:not([data-theme="lime"]) .mobile-tabs>a:hover,html[data-theme]:not([data-theme="lime"]) .mobile-tabs>a:active,html[data-theme]:not([data-theme="lime"]) .mobile-tabs>a:focus-visible,html[data-theme]:not([data-theme="lime"]) body[data-view] .mobile-tabs a[data-tab]:hover,html[data-theme]:not([data-theme="lime"]) body[data-view] .mobile-tabs a[data-tab][aria-current="page"]{background:var(--theme-selected);border-color:var(--accent-border);color:var(--accent-soft)}
html[data-theme]:not([data-theme="lime"]) .mobile-tabs>a:not([aria-current="page"]):hover{background:var(--theme-control-hover);color:var(--accent-soft)}
html[data-theme]:not([data-theme="lime"]) .mobile-more-menu a:hover{background:var(--theme-control-hover)}
html[data-theme]:not([data-theme="lime"]) .recap-stats>div,html[data-theme]:not([data-theme="lime"]) .bmr-mark,html[data-theme]:not([data-theme="lime"]) .metric-import-review,html[data-theme]:not([data-theme="lime"]) .resume-banner{background:var(--theme-raised);border-color:var(--theme-border);color:var(--theme-text)}
html[data-theme]:not([data-theme="lime"]) .week-day.active .dow,html[data-theme]:not([data-theme="lime"]) .week-day.active .label,html[data-theme]:not([data-theme="lime"]) .recap summary,html[data-theme]:not([data-theme="lime"]) .bmr-footnote a{color:var(--accent-soft)}
/* Ruby Rush uses deep red surfaces; Rose Glow keeps its separate pink palette. */
html[data-theme="ruby"]:not([data-theme="lime"]){--theme-bg:#1b171b;--theme-glow:#3c1a22;--theme-header:#2c1d22;--theme-card:#3b282e;--theme-panel:#332329;--theme-raised:#493039;--theme-control:#54353e;--theme-control-hover:#694049;--theme-selected:#704047;--theme-inset:#231b20;--theme-border:#825057;--theme-border-soft:#654149;--theme-border-strong:#a3646b}
html[data-theme="orange"]:not([data-theme="lime"]){--theme-bg:#1b1815;--theme-glow:#392618;--theme-header:#292019;--theme-card:#382b22;--theme-panel:#30261f;--theme-raised:#473428;--theme-control:#513a2b;--theme-control-hover:#644531;--theme-selected:#704b30;--theme-inset:#221c17;--theme-border:#7d5b43;--theme-border-soft:#634a39;--theme-border-strong:#a37a54}
html[data-theme="yellow"]:not([data-theme="lime"]){--theme-bg:#1a1b16;--theme-glow:#393519;--theme-header:#29291c;--theme-card:#373628;--theme-panel:#302f23;--theme-raised:#46442e;--theme-control:#514d33;--theme-control-hover:#635d3b;--theme-selected:#70683d;--theme-inset:#21221b;--theme-border:#7c7350;--theme-border-soft:#625c42;--theme-border-strong:#9f915d}
html[data-theme="blue"]:not([data-theme="lime"]){--theme-bg:#111722;--theme-glow:#1d3064;--theme-header:#18233d;--theme-card:#202d4a;--theme-panel:#1b2945;--theme-raised:#293a60;--theme-control:#30436b;--theme-control-hover:#3a5282;--theme-selected:#3c5591;--theme-inset:#151e32;--theme-border:#516a9e;--theme-border-soft:#415781;--theme-border-strong:#6c85bb}
html[data-theme="orchid"]:not([data-theme="lime"]){--theme-bg:#191520;--theme-glow:#382257;--theme-header:#261d37;--theme-card:#352847;--theme-panel:#2e2340;--theme-raised:#433154;--theme-control:#4d3961;--theme-control-hover:#614476;--theme-selected:#704b90;--theme-inset:#201a2e;--theme-border:#76598e;--theme-border-soft:#5f486f;--theme-border-strong:#9573b3}
/* Finish the secondary surfaces used by Plan, Workout, Progress and Settings. */
html[data-theme]:not([data-theme="lime"]) .workout-mode,html[data-theme]:not([data-theme="lime"]) .rest-timer,html[data-theme]:not([data-theme="lime"]) .partner-live,html[data-theme]:not([data-theme="lime"]) .exercise-list .exercise,html[data-theme]:not([data-theme="lime"]) .exercise .prev .mini-value,html[data-theme]:not([data-theme="lime"]) .exercise .set,html[data-theme]:not([data-theme="lime"]) .exercise-number,html[data-theme]:not([data-theme="lime"]) .exercise-summary-target{background:var(--theme-raised);border-color:var(--theme-border);color:var(--theme-text)}
html[data-theme]:not([data-theme="lime"]) .exercise .set input,html[data-theme]:not([data-theme="lime"]) .sign-in-card .segmented{background:var(--theme-inset);border-color:var(--theme-border-strong);color:var(--theme-text)}
html[data-theme]:not([data-theme="lime"]) .exercise .set .set-done,html[data-theme]:not([data-theme="lime"]) .exercise .set.marked-done{background:var(--theme-selected);border-color:var(--accent-border);color:var(--accent-soft)}
html[data-theme]:not([data-theme="lime"]) .exercise .exercise-tip summary,html[data-theme]:not([data-theme="lime"]) .exercise .copy,html[data-theme]:not([data-theme="lime"]) .editor-day-settings summary,html[data-theme]:not([data-theme="lime"]) .metric-chart-foot strong,html[data-theme]:not([data-theme="lime"]) .bmr-result>span{color:var(--accent-soft)}
html[data-theme]:not([data-theme="lime"]) .metric-grid-line{stroke:var(--theme-border)}
html[data-theme]:not([data-theme="lime"]) .metric-empty,html[data-theme]:not([data-theme="lime"]) .metric-import input[type=file]{background:var(--theme-inset);border-color:var(--theme-border);color:var(--theme-text)}
html[data-theme]:not([data-theme="lime"]) .push-options,html[data-theme]:not([data-theme="lime"]) .workout-time,html[data-theme]:not([data-theme="lime"]) .privacy-request{border-color:var(--theme-border)}
html[data-theme]:not([data-theme="lime"]) .join-success{border-color:var(--accent-border)}
.name-dialog{width:min(440px,calc(100vw - 28px));max-width:100%;padding:26px}.name-dialog h2{margin:6px 0 8px}.name-dialog p{line-height:1.5}.name-dialog .field{margin:18px 0}.name-dialog .field input{width:100%}.name-dialog .page-actions{justify-content:flex-end}.name-dialog .page-actions .btn{min-height:44px}.name-dialog .status{margin-top:8px}
.name-dialog form{display:block}.name-dialog .page-actions{display:flex;flex-wrap:wrap;gap:10px}
.settings-panel.grid.two{grid-template-columns:minmax(0,1fr);max-width:860px;gap:12px}.settings-accordion{min-width:0;background:var(--theme-card);border:1px solid var(--theme-border);border-radius:18px;overflow:hidden;box-shadow:0 8px 28px #00000013}.settings-accordion>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:76px;padding:18px 22px;color:var(--theme-text);font-size:1.14rem;font-weight:780;cursor:pointer}.settings-accordion>summary::-webkit-details-marker{display:none}.settings-accordion[open]>summary{border-bottom:1px solid var(--theme-border)}.settings-chevron{width:11px;height:11px;flex:none;border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(45deg);transition:transform .18s ease}.settings-accordion[open] .settings-chevron{transform:rotate(225deg)}.settings-panel .settings-accordion>.card{margin:0;padding:18px 22px 24px;border:0;border-radius:0;box-shadow:none;background:transparent}.settings-panel .settings-inner-title{display:none}@media(max-width:480px){.settings-accordion>summary{min-height:68px;padding:15px 18px}.settings-panel .settings-accordion>.card{padding:16px 18px 22px}}
html[data-theme]:not([data-theme="lime"]) .theme-choices .theme-choice-body{background:var(--theme-control);border-color:var(--theme-border)}
html[data-theme]:not([data-theme="lime"]) .theme-choices input:checked+.theme-choice-body{background:var(--theme-selected);border-color:var(--accent)}
html[data-theme]:not([data-theme="lime"]) .stat.amber strong{color:var(--accent)}
html[data-theme]:not([data-theme="lime"]) .metric-chart-wrap stop{stop-color:var(--accent)}
html[data-theme]:not([data-theme="lime"]).repverna-launch,html[data-theme]:not([data-theme="lime"]).repverna-launch .repverna-splash{background:radial-gradient(circle at 50% 38%,var(--theme-glow),var(--theme-header) 46%,var(--theme-bg) 100%);color:var(--theme-text)}
html[data-theme]:not([data-theme="lime"]) .repverna-splash-name span{color:var(--accent)}
html[data-theme]:not([data-theme="lime"]) .repverna-splash-line{background:var(--accent)}
html[data-theme]:not([data-theme="lime"]) .repverna-splash-icon{filter:var(--logo-filter)}
/* A workout starts from a quiet overview, then keeps the active exercise in view. */
#workoutSession .workout-launch{margin:0 16px 18px;padding:20px;background:var(--theme-selected);border-color:var(--accent-border)}
#workoutSession .workout-launch h3{font-size:1.35rem;margin:6px 0 7px}
#workoutSession .workout-launch p{max-width:55ch;line-height:1.5;margin-bottom:17px}
#workoutSession .workout-launch .btn{min-height:50px}
#workoutSession:not(.session-idle) .workout-launch{display:none}
#workoutSession.session-idle .workout-mode,#workoutSession.session-idle .partner-live,#workoutSession.session-idle .exercise-list,#workoutSession.session-idle .focus-controls,#workoutSession.session-idle .save-panel{display:none}
#workoutSession .workout-mode{align-items:flex-start;background:var(--theme-raised);border-color:var(--theme-border)}
#workoutSession .workout-mode-heading{flex:1 1 220px;min-width:0}
#workoutSession .workout-mode-heading strong{font-size:1.15rem;line-height:1.25;color:var(--theme-text)}
#workoutSession .workout-mode-heading small{display:block;color:var(--accent-soft);margin-top:5px;font-weight:750}
#workoutSession .workout-mode-actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center}
#workoutSession .workout-mode-actions .text-link{border:0;background:none;padding:10px;color:var(--accent-soft);cursor:pointer}
#workoutSession .focus-controls{padding:0 16px 20px;box-sizing:border-box}
#workoutSession .focus-controls .btn{min-height:48px}
#workoutSession .exercise{scroll-margin-top:18px}
@media(max-width:650px){body[data-view="workout"] .week-day{flex-basis:123px;min-height:82px;padding:10px;gap:4px}body[data-view="workout"] .week-day .done{font-size:.73rem}#workoutSession .workout-mode-actions{width:100%}#workoutSession .workout-mode-actions .btn{flex:1}#workoutSession .focus-controls .btn{padding:10px 6px;font-size:.82rem}#workoutSession .workout-launch .btn{width:100%}}
/* Set by set entry uses the available width and keeps actions away from the inputs. */
#workoutSession .exercise-list.focus-on .exercise.focus-current .sets{grid-template-columns:minmax(0,1fr)}
#workoutSession .exercise-list.focus-on .exercise.focus-current .sets .set:not(.set-current){display:none}
#workoutSession .exercise-list.focus-on .exercise.focus-current .set-current{display:block;padding:18px;background:var(--theme-raised);border:1px solid var(--theme-border);border-radius:16px}
#workoutSession .exercise-list.focus-on .set-current>label{font-size:.81rem;letter-spacing:.11em;color:var(--accent-soft);margin:0 0 14px}
#workoutSession .exercise-list.focus-on .set-current .set-inputs{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px}
#workoutSession .exercise-list.focus-on .set-current .set-inputs:has(input[type="hidden"]){grid-template-columns:minmax(0,1fr)}
#workoutSession .exercise-list.focus-on .set-current input:not([type="hidden"]){min-height:64px;padding:10px 12px;font-size:1.35rem;border-radius:12px;text-align:center;touch-action:manipulation}
#workoutSession .exercise-list.focus-on .set-current .times{font-size:1.3rem;color:var(--theme-muted)}
#workoutSession .exercise-list.focus-on .set-current .set-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}
#workoutSession .exercise-list.focus-on .set-current .set-actions button{min-height:56px;padding:10px 8px;font-size:1rem;line-height:1.2}
#workoutSession .exercise-list.focus-on .set-current.marked-done{background:var(--theme-selected);border-color:var(--accent-border)}
#workoutSession .exercise-list.focus-on .set-current.marked-failed{border-color:#ce9962}
#workoutSession .set-stepper{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:14px 0 4px}
#workoutSession .set-stepper .btn{min-height:44px;padding:8px 10px;font-size:.85rem}
#workoutSession .set-step-label{color:var(--accent-soft);font-weight:780;text-align:center;white-space:nowrap}
#workoutSession .exercise-list:not(.focus-on) .set-stepper{display:none}
@media(max-width:480px){#workoutSession .exercise-list.focus-on .set-current{padding:16px}#workoutSession .exercise-list.focus-on .set-current .set-inputs{gap:8px}#workoutSession .set-stepper .btn{font-size:.75rem;padding:8px 5px}#workoutSession .set-step-label{font-size:.78rem}}
.workout-sync{margin:0 18px 17px;padding:11px 14px;border-radius:10px;background:var(--theme-raised);color:var(--accent-soft);border:1px solid var(--theme-border);font-size:.85rem;font-weight:750;line-height:1.4}
.workout-sync.error{color:#ffd2b8;border-color:#a47864}
.workout-receipt{display:grid;gap:5px;margin:0 18px 18px;padding:16px;border:1px solid var(--accent-border);border-radius:12px;background:var(--theme-selected);color:var(--theme-text)}.workout-receipt strong{font-size:1rem}.workout-receipt span{color:var(--theme-muted);font-size:.88rem}.workout-receipt a{color:var(--accent-soft);font-weight:800;text-decoration:underline;text-underline-offset:3px;margin-top:5px}
.offline-banner{padding:12px 16px;margin-bottom:18px;border:1px solid var(--accent-border);border-radius:12px;background:var(--theme-selected);color:var(--theme-text);font-size:.88rem;line-height:1.4}
.idea-queue-filters{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.idea-queue-filters .btn{min-height:40px;padding:8px 12px;font-size:.84rem}.idea-queue-filters .btn:not(.secondary){background:var(--theme-selected);border-color:var(--accent-border);color:var(--accent-soft)}.idea-queue-filters .btn:not(.secondary):hover{background:var(--theme-control-hover)}
.workout-review{width:min(570px,calc(100vw - 24px));max-width:100%;max-height:min(80dvh,800px);padding:22px;border:1px solid var(--theme-border);border-radius:18px;background:var(--theme-card);color:var(--theme-text);box-shadow:0 25px 75px #000a}
.workout-review::backdrop{background:#050d0cbd}
.review-head{display:flex;justify-content:space-between;align-items:start;gap:12px}.review-head h2{font-size:1.45rem;margin:4px 0 8px}.review-close{flex:none;border:1px solid var(--theme-border);background:var(--theme-control);color:var(--theme-text);border-radius:9px;width:42px;height:42px;font-size:1.5rem}
.review-list{display:grid;gap:15px;max-height:45dvh;overflow:auto;overscroll-behavior:contain}.review-exercise{padding:12px;background:var(--theme-raised);border:1px solid var(--theme-border);border-radius:12px}.review-exercise h3{font-size:1rem;margin:0 0 9px}.review-set{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:42px;padding:8px 5px;border:0;border-top:1px solid var(--theme-border);background:transparent;color:var(--theme-text);text-align:left}.review-set>span{flex:none;color:var(--theme-muted)}.review-set strong{text-align:right;font-size:.83rem}.review-set.needs-attention strong,.review-warning{color:#ffd2b8}.review-warning{font-size:.84rem;line-height:1.45;margin:14px 0 8px}.review-actions{display:flex;gap:9px;margin-top:16px}.review-actions .btn{flex:1;min-height:47px}.review-actions .btn:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:480px){.workout-review{padding:18px}.review-actions .btn{font-size:.85rem;padding:9px 7px}.review-set strong{font-size:.77rem}}
/* Keep every shared screen's interactive and selected states in its chosen colorway. */
html[data-theme]:not([data-theme="lime"]) .main-nav a.active,html[data-theme]:not([data-theme="lime"]) .segmented button.active,html[data-theme]:not([data-theme="lime"]) .week-day.active,html[data-theme]:not([data-theme="lime"]) .split-choice:has(input:checked){background:var(--theme-selected);border-color:var(--accent-border);color:var(--accent-soft)}
html[data-theme]:not([data-theme="lime"]) .week-day:hover,html[data-theme]:not([data-theme="lime"]) .main-nav a:hover,html[data-theme]:not([data-theme="lime"]) .modal .close:hover,html[data-theme]:not([data-theme="lime"]) .feedback-types label:hover span{border-color:var(--accent-border);background:var(--theme-control-hover)}
html[data-theme]:not([data-theme="lime"]) .main-nav a,html[data-theme]:not([data-theme="lime"]) .head-install,html[data-theme]:not([data-theme="lime"]) .segmented button{background:var(--theme-control);border-color:var(--theme-border);color:var(--theme-text)}
html[data-theme]:not([data-theme="lime"]) .main-nav a.active,html[data-theme]:not([data-theme="lime"]) .segmented button.active{background:var(--theme-selected);border-color:var(--accent-border);color:var(--accent-soft)}
html[data-theme]:not([data-theme="lime"]) .progress-track,html[data-theme]:not([data-theme="lime"]) .bar{background:var(--theme-control)}
html[data-theme]:not([data-theme="lime"]) .progress-track span,html[data-theme]:not([data-theme="lime"]) .bar.today{background:var(--accent)}
html[data-theme]:not([data-theme="lime"]) .stat.green strong,html[data-theme]:not([data-theme="lime"]) .stat.blue strong,html[data-theme]:not([data-theme="lime"]) .status:not(.error),html[data-theme]:not([data-theme="lime"]) .week-day .done,html[data-theme]:not([data-theme="lime"]) .copy{color:var(--accent)}
html[data-theme]:not([data-theme="lime"]) .insight.green{background:var(--theme-selected);border-color:var(--accent)}
html[data-theme]:not([data-theme="lime"]) .insight a,html[data-theme]:not([data-theme="lime"]) .chart-point{color:var(--accent);stroke:var(--accent)}
html[data-theme]:not([data-theme="lime"]) .chart-line{stroke:var(--accent)}
html[data-theme]:not([data-theme="lime"]) .pill.amber,html[data-theme]:not([data-theme="lime"]) .insight.amber{background:var(--theme-raised);color:var(--theme-text)}
html[data-theme]:not([data-theme="lime"]) .feedback-types input:checked+span{background:var(--accent);border-color:var(--accent);color:#142219}

.workout-sync-row{display:flex;align-items:center;gap:10px;margin:0 18px 17px}.workout-sync-row .workout-sync{flex:1;margin:0}.workout-sync-retry{flex:none;font-size:.85rem;padding:10px 13px;min-height:42px}.workout-sync-retry[hidden]{display:none}
@media(max-width:380px){.workout-sync-row{align-items:stretch;flex-direction:column}.workout-sync-retry{align-self:flex-start}}
/* Compact navigation keeps the daily pages in sight; secondary pages stay one tap away. */
@media(max-width:900px),(pointer:coarse){
 .mobile-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;overflow:visible;touch-action:auto;padding:5px max(5px,env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) max(5px,env(safe-area-inset-left))}
 .mobile-tabs>a,.mobile-tabs>.mobile-more{min-width:0;max-width:none;width:100%;min-height:53px;flex:auto}
 .mobile-tabs>a,.mobile-tabs>.mobile-more>summary{font-size:clamp(.54rem,1.7vw,.72rem);padding:6px 0;gap:3px;line-height:1.15}
 .mobile-tabs>.mobile-more>summary{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;border:1px solid transparent;border-radius:10px;color:var(--theme-muted);font-weight:750;list-style:none}
 .mobile-tabs>.mobile-more>summary::-webkit-details-marker{display:none}
 .mobile-tabs>.mobile-more .nav-icon{display:block;width:25px;height:25px;flex:none}
 .mobile-more.has-current>summary,.mobile-more[open]>summary{background:var(--theme-selected);border-color:var(--accent-border);color:var(--accent-soft)}
 .mobile-more-menu{position:absolute;right:8px;bottom:calc(100% + 7px);width:min(245px,calc(100vw - 16px));z-index:2;display:grid;gap:2px;background:var(--theme-raised);border:1px solid var(--theme-border);box-shadow:0 16px 40px #0009}
 .mobile-more-menu>a,.owner-insights .mobile-more-menu>.owner-ideas-link,.owner-insights .mobile-more-menu>.mobile-insights{display:flex!important;align-items:center;justify-content:flex-start;gap:12px;width:100%;max-width:none;min-height:44px;padding:12px 14px;text-align:left;font-size:.92rem;color:var(--theme-text)}
 .mobile-more-menu>a .nav-icon,.mobile-more-menu>a .nav-logo{width:22px;height:22px;flex:none}.mobile-more-menu>a[aria-current="page"]{background:var(--theme-selected);border-radius:8px;color:var(--accent-soft)}
 .mobile-more-menu>.owner-ideas-link,.mobile-more-menu>.mobile-insights{display:none!important}
}
/* Clear sections without hiding the weigh-in action deep in the Progress page. */
.progress-switch{display:flex;gap:8px;margin:0 0 19px;padding:5px;border:1px solid var(--theme-border);border-radius:13px;background:var(--theme-raised)}
.progress-switch button{flex:1;min-height:44px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--theme-muted);font:inherit;font-weight:800;cursor:pointer}
.progress-switch button[aria-pressed="true"]{background:var(--theme-selected);border-color:var(--accent-border);color:var(--accent-soft)}
.progress-pane[hidden]{display:none!important}
.progress-pane>.bodyweight-panel{margin-top:0}
.settings-summary-copy{display:grid;gap:4px;min-width:0}.settings-summary-title{font-size:1.12rem}.settings-summary-detail{font-size:.82rem;font-weight:500;line-height:1.35;color:var(--theme-muted)}
.partner-cta{margin:12px 0 22px}.partner-cta .btn{min-height:44px}
.history-summary-main{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.history-summary-main strong{font-size:1rem}.history-summary-main span{color:var(--theme-muted);font-size:.85rem;white-space:nowrap}
@media(max-width:420px){.history-summary-main{flex-direction:column;gap:2px}.mobile-tabs>a,.mobile-tabs>.mobile-more>summary{font-size:.59rem}.mobile-tabs .nav-icon{width:23px;height:23px}.mobile-tabs .nav-logo{width:24px;height:24px}}

/* Give the narrow phone bar legible labels without taking away a destination. */
@media(max-width:420px){
 .mobile-tabs>a,.mobile-tabs>.mobile-more>summary{font-size:.72rem;line-height:1.1;letter-spacing:-.015em;min-height:62px}
 .mobile-tabs .nav-icon,.mobile-tabs>.mobile-more .nav-icon{width:22px;height:22px}
 .mobile-tabs .nav-logo{width:23px;height:23px}
}
.rest-day-banner{background:var(--theme-card);border-color:var(--theme-border);color:var(--theme-text)}
.rest-day-mark{font-size:1.7rem;line-height:1;color:var(--accent)}

.quick-load-status{margin:0 0 12px;color:var(--theme-muted);font-size:.78rem;line-height:1.4;text-align:right}

/* Tab taps respond immediately; page transitions stay brief and respect reduced motion. */
@media(max-width:900px),(pointer:coarse){
 .mobile-tabs.is-navigating>a[aria-current="page"]:not(.tab-opening){background:transparent!important;border-color:transparent!important;color:var(--theme-muted)!important}
 .mobile-tabs>a.tab-opening{background:var(--theme-selected)!important;border-color:var(--accent-border)!important;color:var(--accent-soft)!important}
}
@media(prefers-reduced-motion:no-preference){
 ::view-transition-old(root){animation:90ms ease-in both repverna-page-out}
 ::view-transition-new(root){animation:150ms ease-out both repverna-page-in}
 @keyframes repverna-page-out{to{opacity:.7}}
 @keyframes repverna-page-in{from{opacity:.45}to{opacity:1}}
}
/* Keep the same Repverna layout while respecting each phone's familiar tab feedback. */
@media(max-width:900px),(pointer:coarse){
 html[data-platform="ios"] .mobile-tabs>a[aria-current="page"],html[data-platform="ios"] .mobile-more.has-current>summary{background:transparent;border-color:transparent;color:var(--accent-soft)}
 html[data-platform="ios"] .mobile-tabs{box-shadow:none}
 html[data-platform="ios"] .mobile-tabs>a,html[data-platform="ios"] .mobile-more>summary{font-family:-apple-system,BlinkMacSystemFont,system-ui,sans-serif;-webkit-tap-highlight-color:transparent}
 html[data-platform="android"] .mobile-tabs>a[aria-current="page"],html[data-platform="android"] .mobile-more.has-current>summary{background:var(--theme-selected);border-color:var(--accent-border);color:var(--accent-soft)}
}
@media(max-width:900px) and (prefers-reduced-motion:no-preference),(pointer:coarse) and (prefers-reduced-motion:no-preference){
 .mobile-tabs>a:active,.mobile-more>summary:active{transform:scale(.97)}
}
/* Tools keeps activity and setup readable on compact phones. */
@media(max-width:900px),(pointer:coarse){.mobile-tabs{grid-template-columns:repeat(7,minmax(0,1fr))}.mobile-tabs>a,.mobile-tabs>.mobile-more>summary{font-size:clamp(.51rem,1.5vw,.67rem)}}
.tools-stack{max-width:850px}.tools-stack>.card{min-width:0}.tools-stack>.card>h2{margin:7px 0 10px}.tools-stack .progress-tool{display:block;margin-top:16px;padding:16px;border:1px solid var(--theme-border);border-radius:13px;background:var(--theme-raised)}.tools-stack .progress-tool>summary{cursor:pointer;font-weight:800;color:var(--accent-soft)}.tools-stack .progress-tool[open]>summary{margin-bottom:14px}.tools-stack .metric-form{margin-top:13px}.health-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:16px 0}.health-summary>div{padding:16px;border:1px solid var(--theme-border);border-radius:13px;background:var(--theme-selected)}.health-summary strong{display:block;font-size:clamp(1.4rem,5vw,2rem);color:var(--theme-text)}.health-summary span{display:block;color:var(--theme-muted);font-size:.9rem}.health-recent{margin:0 0 16px}.health-recent summary{cursor:pointer;color:var(--accent-soft)}.health-recent p{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--theme-border);padding:8px 0}.health-secret{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.health-secret code{display:block;max-width:100%;overflow-wrap:anywhere;padding:10px;background:var(--theme-inset);border-radius:8px}.shortcut-instructions{margin-top:16px;line-height:1.55}.shortcut-instructions li{margin:10px 0;overflow-wrap:anywhere}.shortcut-instructions code{overflow-wrap:anywhere}.tools-intro{max-width:440px;line-height:1.5}
.tools-stack .progress-tool[hidden]{display:none}
.shortcut-sync{margin:16px 0;padding:16px;border:1px solid var(--theme-border);border-radius:13px;background:var(--theme-raised)}.shortcut-sync>p{margin:0 0 12px}.shortcut-sync>p:last-child{margin:12px 0 0}.shortcut-sync-actions{display:flex;gap:10px;flex-wrap:wrap}.shortcut-sync-actions .btn{min-height:44px}.shortcut-sync-actions [aria-disabled="true"]{opacity:.6;pointer-events:none}
.health-help{border-top:1px solid var(--theme-border);margin-top:16px;padding-top:12px;line-height:1.5}.health-help summary{cursor:pointer;color:var(--accent-soft);font-weight:700}.health-help ol{padding-left:1.5em;margin:10px 0 16px}.health-help li{margin:10px 0}.health-help .btn{display:inline-flex;align-items:center;min-height:44px}.health-key-reveal{margin-top:14px;padding:14px;border:1px solid var(--theme-border);border-radius:10px;max-width:100%}.health-key-reveal[hidden]{display:none}.health-key-reveal label{display:block;font-weight:700}.health-key-reveal input{display:block;max-width:100%;width:100%;margin:8px 0 12px;overflow-wrap:anywhere;font-size:1rem}.health-sync-stale{color:var(--accent-soft)!important;font-weight:700}
.tools-stack .progress-tool[hidden],.shortcut-sync[hidden]{display:none}

.activity-music{margin:1rem 0 1.25rem;padding:1rem;border:1px solid var(--line,#365348);border-radius:16px;background:var(--surface-soft,#1d3028)}.activity-music p{margin:0 0 .75rem}.activity-music .btn{display:inline-flex}
/* Meal planner */
.meal-planner{scroll-margin-top:100px}.meal-planner h3{margin:20px 0 12px}.meal-progress{display:flex;gap:6px;margin:20px 0}.meal-progress span{height:5px;flex:1;border-radius:9px;background:var(--theme-border)}.meal-progress span.done{background:var(--accent)}.meal-form{display:grid;gap:15px}.meal-form>label{display:grid;gap:7px;font-size:.9rem;font-weight:700}.meal-form input:not([type=checkbox]),.meal-form select{width:100%;min-height:46px;padding:10px 12px;background:var(--theme-inset);border:1px solid var(--theme-border);border-radius:10px;color:var(--theme-text);font:inherit;color-scheme:dark}.meal-form input:focus-visible,.meal-form select:focus-visible{outline:2px solid var(--accent)}.meal-form fieldset{border:1px solid var(--theme-border);border-radius:13px;padding:14px}.meal-form legend{padding:0 5px;font-weight:700}.meal-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.meal-checks label{display:flex;align-items:center;gap:9px;min-height:38px;font-size:.9rem}.meal-checks input{accent-color:var(--accent);width:19px;height:19px;flex:none}.meal-actions{display:flex;flex-wrap:wrap;gap:10px;margin:17px 0}.meal-error{color:#ff9999;font-weight:700}.meal-review{padding:15px;border-radius:12px;background:var(--theme-selected)}.meal-review p{margin:7px 0;overflow-wrap:anywhere}.meal-result-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.meal-result-head h3{margin:0}.meal-day-list{display:grid;gap:10px;margin:20px 0}.meal-day,.meal-grocery{border:1px solid var(--theme-border);border-radius:13px;background:var(--theme-raised);overflow:hidden}.meal-day>summary,.meal-grocery>summary{cursor:pointer;display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 14px;padding:15px;font-weight:700}.meal-day>summary span{color:var(--theme-muted);font-size:.84rem}.meal-day-body{padding:0 15px 15px}.meal-recipe{border-top:1px solid var(--theme-border-soft);padding:14px 0}.meal-recipe h4{margin:5px 0;font-size:1.05rem}.meal-recipe p{margin:5px 0;line-height:1.5}.meal-recipe details summary{color:var(--accent-soft);cursor:pointer;font-weight:700}.meal-recipe details{margin-top:9px}.meal-grocery{padding-bottom:10px}.meal-grocery>p,.meal-grocery>ul{margin:5px 15px 10px}.meal-grocery ul{columns:2;padding-left:22px;line-height:1.7}.meal-grocery li{break-inside:avoid}
@media(max-width:600px){.meal-checks{grid-template-columns:1fr}.meal-grocery ul{columns:1}.meal-result-head .btn{width:100%}}
#mealLossPace[hidden],#mealGainPace[hidden]{display:none},#mealMacroFocus[hidden]{display:none}.meal-form #mealLossPace>label,.meal-form #mealGainPace>label,.meal-form #mealMacroFocus>label{display:grid;gap:7px;font-size:.9rem;font-weight:700}
.meal-ingredient-groups{display:grid;gap:8px}.meal-ingredient-group{border:1px solid var(--theme-border);border-radius:10px;padding:0 12px}.meal-ingredient-group>summary{cursor:pointer;padding:12px 0;font-weight:700}.meal-ingredient-group .meal-checks{padding:4px 0 14px}.meal-ingredient-group[hidden],.meal-ingredient-group label[hidden]{display:none!important}.meal-search-label{display:grid;gap:7px;font-weight:700}.meal-ingredients{margin:10px 0;padding-left:20px;line-height:1.6;columns:2}.meal-ingredients li{break-inside:avoid}@media(max-width:600px){.meal-ingredients{columns:1}}
.tool-jump{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tool-jump a{padding:16px;border:1px solid var(--theme-border);border-radius:13px;background:var(--theme-raised);font-weight:700;color:var(--accent-soft);text-decoration:none;scroll-margin-top:100px}.tool-jump a:focus-visible,.tool-section>summary:focus-visible{outline:2px solid var(--accent)}.tool-section{border:1px solid var(--theme-border);border-radius:16px;background:var(--theme-raised);overflow:hidden;scroll-margin-top:90px}.tool-section>summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:18px;font-weight:800;font-size:1.1rem}.tool-section>summary::-webkit-details-marker{display:none}.tool-section>summary span{font-size:.84rem;font-weight:400;color:var(--theme-muted)}.tool-section[open]>summary{border-bottom:1px solid var(--theme-border)}.tool-section>.card{margin:0;border:0;border-radius:0;box-shadow:none}.meal-ingredient-group .meal-checks{grid-template-columns:repeat(2,minmax(0,1fr))}.meal-basket-total{margin:16px;font-size:1.15rem}.meal-basket-total small{color:var(--theme-muted);font-size:.8rem}.meal-grocery ul{columns:1;list-style:none;padding:0!important}.meal-grocery li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--theme-border-soft);padding:6px 0}.meal-grocery li strong{font-weight:700}.meal-grocery li>span:last-child{white-space:nowrap;color:var(--accent-soft)}@media(max-width:600px){.tool-jump a{padding:12px}.meal-ingredient-group .meal-checks{grid-template-columns:1fr}}
#mealPrintSheet{display:none}
.meal-weight-trend{margin:20px 0;padding:20px;border:1px solid var(--theme-border);border-left:4px solid var(--accent);border-radius:13px;background:var(--theme-selected)}.meal-weight-trend h3{font-size:1.25rem;margin:5px 0 10px}.meal-weight-trend p{line-height:1.5;margin:0 0 9px}.meal-weight-trend p:last-child{margin-bottom:0}.meal-weight-trend a{color:var(--accent-soft);font-weight:700;text-decoration:underline}
.meal-guide-button{margin-top:12px;min-height:42px}.meal-guide{width:min(620px,calc(100vw - 28px));max-height:min(88dvh,760px);padding:0;border:1px solid var(--theme-border);border-radius:18px;background:var(--theme-raised);color:var(--theme-text);box-shadow:0 24px 80px #0009}.meal-guide::backdrop{background:#06110dc9}.meal-guide-head{display:flex;align-items:start;justify-content:space-between;gap:14px;padding:20px 20px 15px;border-bottom:1px solid var(--theme-border)}.meal-guide-head h2{font-size:1.34rem;line-height:1.2;margin:5px 0 0}.meal-guide-close{flex:none;display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--theme-border);border-radius:50%;background:var(--theme-inset);color:var(--theme-text);font-size:1.7rem;line-height:1}.meal-guide-scroll{overflow-y:auto;max-height:calc(88dvh - 96px);padding:16px 20px 24px}.meal-guide-scroll>p:first-child{margin:0 0 16px}.meal-guide-ingredients{border:1px solid var(--theme-border);border-radius:12px;padding:12px 15px}.meal-guide-ingredients summary{cursor:pointer;font-weight:800;color:var(--accent-soft)}.meal-guide-ingredients ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 16px;margin:12px 0 0;padding-left:20px;line-height:1.4}.meal-guide-ingredients li{overflow-wrap:anywhere}.meal-guide-step{margin:18px 0;padding:20px;border:1px solid var(--theme-border);border-radius:14px;background:var(--theme-selected);min-height:150px}.meal-guide-count{color:var(--accent-soft);font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.meal-guide-step p{font-size:1.08rem;line-height:1.5;margin:12px 0 0}.meal-guide-controls{display:flex;gap:10px}.meal-guide-controls .btn{flex:1;min-height:46px}.meal-guide-controls .btn:disabled{opacity:.45;cursor:default}.meal-guide-safety{margin:16px 0 0}.meal-guide-safety a{text-decoration:underline;color:var(--accent-soft)}@media(max-width:600px){.meal-guide{width:calc(100vw - 20px);max-height:88dvh}.meal-guide-head{padding:17px}.meal-guide-scroll{padding:15px 17px 24px}.meal-guide-ingredients ul{grid-template-columns:1fr}}
@media print{
  @page{size:letter portrait;margin:6mm}
  html,body{width:auto!important;height:auto!important;overflow:visible!important;background:#fff!important;color:#172c24!important}
  body>*:not(#mealPrintSheet){display:none!important}
  #mealPrintSheet{display:block!important;width:100%!important;max-width:none!important;min-height:0!important;height:auto!important;margin:0!important;padding:0!important;background:#fff!important;color:#172c24!important;font:9.5pt/1.25 Arial,Helvetica,sans-serif}
  #mealPrintSheet *{box-sizing:border-box;box-shadow:none!important;text-shadow:none!important}
  .print-plan-head{padding:0 0 2mm;border-bottom:1.5px solid #274936;margin-bottom:2.5mm}
  .print-brand{font-size:8pt;font-weight:800;letter-spacing:.14em;color:#326347}
  .print-plan-head h1{font-size:18pt;line-height:1.1;margin:.5mm 0 1mm}
  .print-plan-head p{font-size:9pt;color:#455c50;margin:0}
  .print-overview{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);gap:4mm;align-items:start}
  .print-groceries-only .print-overview{display:block}
  .print-groceries-only .print-days{display:none}
  .print-groceries-only .print-shopping{width:100%;max-width:none}
  .print-days{display:grid;grid-template-rows:repeat(7,auto);gap:1.5mm}
  .print-day{min-width:0;break-inside:avoid-page;page-break-inside:avoid;display:flex;flex-direction:column;border:1px solid #d4e0d7;border-radius:2mm;padding:1.5mm 2mm}
  .print-day-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:1mm 2mm;margin-bottom:1mm}
  .print-day-heading h2{font-size:11pt;margin:0;color:#183b29}
  .print-day-heading span{font-size:8pt;color:#4b5d54}
  .print-meal{display:grid;grid-template-columns:18mm minmax(0,1fr);gap:1mm;padding:.8mm 0;border-top:1px solid #e5ebe6;line-height:1.15}
  .print-meal span{font-size:8pt;color:#326347;overflow-wrap:anywhere}
  .print-meal strong{font-size:8pt;font-weight:650;overflow-wrap:anywhere}
  .print-shopping{display:block;min-width:0}
  .print-shopping h2{font-size:12pt;margin:0 0 1mm;color:#183b29}
  .print-shopping-total{font-size:9pt;margin:0 0 2mm}
  .print-shopping-total span{color:#455c50}
  .print-shopping table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:9pt;line-height:1.2}
  .print-shopping thead{display:table-header-group}
  .print-shopping th{text-align:left;border-bottom:1.5px solid #274936;padding:1mm 1mm 1mm 0;color:#274936}
  .print-shopping th:first-child{width:30%}.print-shopping th:last-child{width:11%;text-align:right}
  .print-shopping td{border-bottom:1px solid #e0e9e2;padding:.75mm 1mm .75mm 0;vertical-align:top;overflow-wrap:anywhere;word-break:normal}
  .print-shopping td:last-child{text-align:right;white-space:nowrap}
  .print-shopping tr{break-inside:avoid;page-break-inside:avoid}
  .print-plan-foot{font-size:8pt;line-height:1.25;color:#53685b;border-top:1px solid #ccd9d1;padding-top:1.5mm;margin-top:2mm;break-inside:avoid}
  .print-long .print-overview{display:block}
  .print-long .print-days{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;margin-bottom:4mm}
  .print-long:not(.print-groceries-only) .print-shopping{break-before:page;page-break-before:always}
  .print-long .print-shopping tr{break-inside:avoid;page-break-inside:avoid}
}

/* Steady first paint and readable cards on small iPhones. */
@media screen and (max-width:900px),screen and (pointer:coarse){
 #app>.loading{min-height:260px;display:flex;align-items:center;justify-content:center;border:1px solid var(--theme-border);border-radius:16px;background:var(--theme-raised);color:var(--theme-muted);padding:24px;margin-top:4px}
 .stats>*{min-width:0}.stats .stat strong{overflow-wrap:anywhere}
 .meal-day>summary>span{min-width:0;overflow-wrap:anywhere;line-height:1.45}
 .meal-grocery li>span:first-child{min-width:0;overflow-wrap:anywhere;line-height:1.45}
 .meal-grocery li>span:last-child{flex:none;align-self:start}
 .workout-launch .btn{min-height:50px}
}
@media screen and (max-width:390px){
 .meal-grocery li{gap:8px}
 .tool-jump{grid-template-columns:minmax(0,1fr)}
 .tool-jump a{min-height:44px;display:flex;align-items:center}
}
/* Home keeps the next action first and shows only short, record-backed summaries. */
.home-dashboard{display:grid;gap:14px;max-width:1050px;margin:0 auto}
.home-dashboard .card{min-width:0}
.home-today{padding:22px 24px;border-color:color-mix(in srgb,var(--accent) 55%,transparent);background:linear-gradient(135deg,var(--theme-card,#17271f),var(--theme-card,#17271f) 72%,color-mix(in srgb,var(--accent) 12%,var(--theme-card,#17271f)))}
.home-today h2{font-size:clamp(1.55rem,5vw,2.2rem);line-height:1.15;margin:7px 0}
.home-today p{margin:0 0 14px;overflow-wrap:anywhere}
.home-workout-state{display:flex;gap:5px;flex-wrap:wrap;flex-direction:column;margin:0 0 15px;min-height:22px}
.home-workout-state span{color:var(--theme-muted);font-size:.91rem}
.home-today .btn{min-height:45px}
.home-secondary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.home-secondary .card{padding:18px 20px}
.home-secondary .section-title{margin:0}
.home-secondary p{margin:10px 0 0;line-height:1.5;overflow-wrap:anywhere}
.home-secondary .home-label{color:var(--accent);font-size:.82rem;font-weight:750;letter-spacing:.02em}
.home-health{grid-column:1/-1}
.home-async{min-height:46px}
@media(max-width:680px){.home-dashboard{gap:12px}.home-secondary{grid-template-columns:minmax(0,1fr);gap:12px}.home-health{grid-column:auto}.home-today{padding:20px}.home-secondary .card{padding:18px}.home-today .btn{display:flex;justify-content:center;width:100%}}
/* iOS may retain :hover on the previously tapped link after page restoration. */
@media(hover:none){
 .mobile-tabs>a:not([aria-current="page"]):not(.tab-opening):hover,
 html[data-theme]:not([data-theme="lime"]) body[data-view] .mobile-tabs a[data-tab]:not([aria-current="page"]):not(.tab-opening):hover{background:transparent!important;border-color:transparent!important;color:var(--theme-muted)!important}
}
/* Full-screen workout mode keeps entry and its action inside the visible viewport. */
.set-field{min-width:0;flex:1}.set-field>span{display:block;margin-bottom:6px;color:var(--accent-soft);font-size:.9rem;font-weight:750}
.set-progress{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0 14px}
.set-progress button{min-width:42px;min-height:42px;border:1px solid var(--theme-border);border-radius:11px;background:var(--theme-raised);color:var(--theme-muted);font-weight:800}
.set-progress button[data-status="current"]{border-color:var(--accent-border);color:var(--accent-soft);box-shadow:0 0 0 2px var(--theme-selected)}
.set-progress button[data-status="completed"]{background:var(--theme-selected);border-color:var(--accent-border);color:var(--accent-soft)}
.set-progress button[data-status="failed"]{border-color:#ce9962;color:#ffd2b8}
.set-progress button[data-status="completed"]::after{content:' ✓';font-size:.7rem}
.workout-fullscreen{inset:var(--workout-viewport-top,0px) 0 auto;width:100%;max-width:none;height:var(--workout-visible-height,100dvh);max-height:none;margin:0;padding:0;border:0;background:var(--theme-bg);color:var(--theme-text);box-sizing:border-box;overflow:hidden;overscroll-behavior:contain}
.workout-fullscreen[open]{display:flex;flex-direction:column}
.workout-fullscreen::backdrop{background:#050d0cf0}
.workout-fullscreen-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none;padding:calc(12px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left));border-bottom:1px solid var(--theme-border)}
.workout-fullscreen-head button{min-height:44px;border:0;background:none;color:var(--accent-soft);font-size:1rem;font-weight:750}
.workout-fullscreen-head .kicker{font-size:.72rem;text-align:right}
.workout-fullscreen-head #keyboardDone{min-width:62px;border:1px solid var(--accent-border);border-radius:9px;background:var(--theme-selected);color:var(--accent-soft)}
.workout-fullscreen-head #keyboardDone[hidden]{display:none}
.workout-set-position{color:var(--theme-muted);font-size:.9rem;font-weight:750}
.workout-rep-target{display:inline-block;margin:9px 0 5px;padding:8px 11px;border:1px solid var(--accent-border);border-radius:9px;background:var(--theme-selected);color:var(--accent-soft);font-size:.94rem;font-weight:850;letter-spacing:.02em}
.workout-last-performance{margin:4px 0 13px;color:var(--theme-muted);font-size:.85rem;line-height:1.4}
.workout-last-performance #focusPrevious{color:var(--theme-text);font-weight:700}
.workout-last-performance #focusRecommendation{margin-top:4px}
.workout-last-performance button{margin-top:5px;padding:4px 0;border:0;background:none;color:var(--accent-soft);font:inherit;font-weight:750;text-decoration:underline}
.workout-last-performance button[hidden],.workout-last-performance #focusPreviousAll[hidden]{display:none}
.workout-last-performance details{margin-top:4px}.workout-last-performance summary{cursor:pointer;color:var(--accent-soft)}.workout-last-performance details p{margin:4px 0 0}
.workout-fullscreen-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:18px max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left))}
.workout-fullscreen-title h2{margin:5px 0 10px;font-size:clamp(1.65rem,6vw,2.3rem);line-height:1.15}
.workout-fullscreen .exercise-list{padding:0!important}
.workout-fullscreen .exercise-list.focus-on .exercise.focus-current{display:block;margin:0;padding:0;border:0;background:transparent;box-shadow:none}
.workout-fullscreen .exercise-list.focus-on .exercise .title,.workout-fullscreen .exercise .prev,.workout-fullscreen .exercise .prompt,.workout-fullscreen .exercise .exercise-tip,.workout-fullscreen .exercise .copy,.workout-fullscreen .set-stepper,.workout-fullscreen .set-current .set-actions{display:none!important}
.workout-fullscreen .exercise-list.focus-on .set-current{padding:0;border:0;background:transparent}
.workout-fullscreen .exercise-list.focus-on .set-current>label{display:block;color:var(--theme-muted);font-size:.88rem;margin:4px 0 15px}
.workout-fullscreen .exercise-list.focus-on .set-current .set-inputs{gap:9px}
.workout-fullscreen .set-current input:not([type="hidden"]){min-width:0;min-height:62px;font-size:1.4rem;text-align:center;border-radius:13px}
.workout-fullscreen .rest-timer:not([hidden]){display:grid;place-items:center;gap:4px;margin:20px 0;padding:24px;background:var(--theme-raised);border:1px solid var(--theme-border);border-radius:16px}
.workout-fullscreen .rest-timer span{margin:0;text-align:center;font-size:1rem;text-transform:uppercase;letter-spacing:.08em}
.workout-fullscreen .rest-timer strong{display:block;font-size:clamp(2.5rem,12vw,4rem);line-height:1.2}
.workout-fullscreen.is-resting #workoutFullscreenMain{display:none}
.workout-fullscreen-feedback{min-height:1.5em;margin:15px 0;color:var(--accent-soft);font-size:.92rem;font-weight:750}
.workout-fullscreen .workout-action-dock{flex:none;margin:0;padding:10px max(16px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));border:0;border-top:1px solid var(--theme-border);border-radius:0;background:var(--theme-card)}
.workout-fullscreen .dock-heading{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px;font-size:.85rem}
.workout-fullscreen .dock-heading span{color:var(--accent-soft)}
.workout-fullscreen #mobileCompleteSet{width:100%;min-height:56px;font-size:1.05rem}
.workout-fullscreen .workout-secondary{margin-top:7px;color:var(--accent-soft)}
.workout-fullscreen .workout-secondary summary{min-height:38px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-weight:750}
.workout-secondary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:26dvh;overflow:auto;padding:5px 0}
.workout-secondary-grid button{min-height:40px;border:1px solid var(--theme-border);border-radius:9px;background:var(--theme-raised);color:var(--theme-text);font-size:.84rem}
.workout-secondary-grid button:disabled{opacity:.45}
.workout-fullscreen .dock-backup{font-size:.72rem;text-align:center;color:var(--theme-muted)}
.workout-fullscreen .dock-backup.error{color:#ffd2b8}
body.logging-keyboard .workout-fullscreen-head .kicker,body.logging-keyboard .workout-fullscreen .workout-secondary,body.logging-keyboard .workout-fullscreen .dock-backup,body.logging-keyboard .workout-fullscreen .dock-heading,body.logging-keyboard .workout-last-performance{display:none}
body.logging-keyboard .workout-fullscreen .workout-action-dock{padding-top:7px;padding-bottom:calc(7px + env(safe-area-inset-bottom))}
body.logging-keyboard .workout-fullscreen .workout-fullscreen-scroll{scroll-padding-bottom:16px}
@media(max-height:570px){.workout-fullscreen-head{padding-top:max(6px,env(safe-area-inset-top));padding-bottom:6px}.workout-fullscreen-scroll{padding-top:9px}.workout-fullscreen-title h2{font-size:1.45rem}.workout-fullscreen .set-current input:not([type="hidden"]){min-height:50px}}
@media(prefers-reduced-motion:reduce){.workout-fullscreen *{scroll-behavior:auto!important;transition-duration:0s!important;animation-duration:0s!important}}
.meal-replace-button{margin-left:8px}.meal-replacement{margin:18px 0;padding:16px;border:1px solid var(--accent);border-radius:14px;background:var(--theme-raised);scroll-margin-top:90px}.meal-replacement h3{margin-top:0}.meal-replacement ul{columns:2;line-height:1.7}.meal-replacement li{break-inside:avoid}.meal-replacement .meal-actions{margin-bottom:0}@media(max-width:600px){.meal-replacement ul{columns:1}.meal-replace-button{margin:8px 0 0}}

@media print{.home-support{display:none!important}}
