:root{color-scheme:dark;--bg:#000000;--panel:#1d1d1d;--line:#313131;--muted:#a3a3a3;--text:#f1f1f1;--accent:#bababa;--green:#c9c9c9;--amber:#c9c9c9}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit;color:inherit;border:1px solid var(--line);border-radius:10px;background:#262626;padding:11px 13px}button{cursor:pointer;transition:transform .1s,background .15s}button:active{transform:scale(.96)}button:hover{border-color:#787878}button:disabled{opacity:.45;cursor:wait}button.primary{background:var(--accent);border-color:var(--accent);color:#191919;font-weight:650}button.ghost{background:transparent}input,select{min-width:0}input:focus,textarea:focus,select:focus{outline:2px solid var(--accent);outline-offset:2px}input[type=number]{appearance:textfield}a{color:var(--accent);text-decoration:none}h1,h2,h3,p{margin:0}h1{font-size:30px;letter-spacing:-1px}h2{font-size:23px;letter-spacing:-.5px}h3{font-size:17px}.muted,small{color:var(--muted)}small{font-size:12px}.shell{max-width:1120px;margin:auto;padding:30px 32px 110px}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.brand{display:flex;gap:12px;align-items:center;font-weight:650}.brand-icon{width:36px;height:36px;background:var(--accent);color:#191919;border-radius:11px;display:grid;place-items:center;font-size:22px}.brand small{display:block;font-size:10px;letter-spacing:2px;font-weight:500}.top-right{display:flex;gap:16px;align-items:center}.status{font-size:12px;color:var(--green)}.status.error{color:var(--amber)}.nav{display:flex;gap:5px;background:#1f1f1f;padding:5px;border-radius:12px;width:fit-content;margin:22px 0 30px}.nav button{background:transparent;border:0;color:var(--muted);padding:9px 22px}.nav .active{background:#343434;color:#dbdbdb}.heading{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:25px}.eyebrow{color:var(--accent);font-size:11px;font-weight:650;letter-spacing:1.8px;text-transform:uppercase;margin-bottom:7px}.grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px}.card{border:1px solid var(--line);border-radius:16px;background:var(--panel);padding:22px;margin-bottom:16px}.weight-card input{font-size:34px;font-weight:650;width:145px;border:0;border-bottom:1px solid var(--line);background:transparent;border-radius:0;padding:8px 0}.row{display:flex;justify-content:space-between;align-items:center;gap:12px}.row.wrap{flex-wrap:wrap}.stack>*+*{margin-top:12px}.routine-head{margin-bottom:20px}.routine-head h2{font-size:33px}.routine-head select{max-width:170px}.workout-column{min-width:0}.exercise{padding:22px}.workout-header .routine-head{margin-bottom:0}.workout-header .notice{margin:16px 0 0}.workout-hint{margin:0 0 16px}.gym-ratings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.gym-ratings label{min-width:0;display:flex;flex-direction:column;gap:5px;font-size:13px}.gym-ratings select{width:100%;text-align:center;font-size:20px}.workout-notes{display:block;margin-top:20px;font-size:13px;color:var(--muted)}.exercise-title{display:flex;gap:11px;align-items:flex-start}.exercise-number{color:var(--muted);font-size:12px;border:1px solid var(--line);border-radius:7px;padding:3px 8px}.exercise-code{font-size:15px;font-weight:650}.exercise-name{font-size:12px;color:var(--muted);margin-top:2px}.last{background:#242424;border-left:2px solid #686868;padding:8px 10px;margin:12px 0;font-size:12px;color:#c1c1c1}.set-row{display:grid;grid-template-columns:28px 1fr 1fr 42px;gap:8px;align-items:center;margin:7px 0}.set-row input{width:100%;padding:9px 12px;text-align:center;font-size:17px}.set-row small{text-align:center}.set-head{font-size:10px;letter-spacing:1px;color:var(--muted)}.check{height:39px;width:40px;padding:0;border-radius:9px}.check.done{color:#4ade80;border-color:#4ade80;background:#14251a}.link-button{border:0;background:transparent;color:var(--accent);padding:7px 0;font-size:12px}.actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px}.actions button{flex:1}.rotation{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}.rotation span{padding:6px 9px;border-radius:7px;border:1px solid var(--line);font-size:11px;color:var(--muted)}.rotation .current{color:var(--accent);border-color:#696969;background:#2e2e2e}.rest-view{padding:30px 10px;text-align:center}.rest-symbol{font-size:36px;color:var(--accent);margin:10px 0}.rest-view p{max-width:400px;margin:12px auto;color:var(--muted)}.rest-view button{margin-top:14px}.notice{background:#2b2b2b;border:1px solid #595959;padding:13px 16px;border-radius:10px;color:#d4d4d4;margin-bottom:18px;font-size:13px}.notice.warn{background:#2a2a2a;border-color:#656565;color:var(--amber)}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.toolbar input{max-width:170px}.history-item{display:block;width:100%;text-align:left;background:var(--panel);margin-bottom:9px;padding:15px 18px;cursor:pointer}.history-item strong{font-size:16px}.tag{display:inline-block;padding:3px 8px;border-radius:5px;background:#2e2e2e;color:var(--accent);font-size:10px}.metric{font-size:32px;letter-spacing:-1px;font-weight:650}.metric small{font-size:14px;font-weight:400;letter-spacing:0}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.chart{width:100%;height:auto;display:block;overflow:visible;margin-top:16px}.chart text{fill:var(--muted);font-size:11px}.chart .gridline{stroke:#353535;stroke-width:1}.chart .curve{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linejoin:round}.chart .raw{fill:none;stroke:#6d6d6d;stroke-width:1;opacity:.6}.chart .area{fill:#bababa;opacity:.06}textarea{display:block;resize:vertical;width:100%;min-height:100px;margin-top:10px}summary{cursor:pointer;color:var(--muted);font-size:12px;margin:12px 0}.source-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0}.source-stats strong{font-size:24px;display:block}.rank-row{padding:12px 0;border-top:1px solid var(--line)}.empty{padding:45px 20px;text-align:center;color:var(--muted)}.footer{display:flex;justify-content:space-between;margin-top:30px;font-size:11px;color:var(--muted)}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:90vw;background:#dbdbdb;color:#1c1c1c;padding:12px 20px;border-radius:10px;font-size:13px;z-index:20;display:none}.loading{margin:25vh auto;text-align:center;color:var(--muted)}.conflict-buttons{display:flex;gap:8px;margin-top:12px}.source-issue{font-size:12px;padding:8px 0;border-top:1px solid var(--line)}.rest-options{display:flex;gap:8px;margin-top:14px}.rest-options button{flex:1}dialog{width:min(90vw,620px);max-height:85vh;overflow:auto;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:16px;padding:24px}dialog::backdrop{background:#0009}.timer{font-variant-numeric:tabular-nums}.completed-banner{color:var(--green);padding:12px 0}.all-width{width:100%}
@media(max-width:760px){.shell{padding:18px 16px 90px}.top{margin-bottom:25px}.top-right{gap:10px}.top-right>a{font-size:11px}.grid{display:flex;flex-direction:column}.aside{order:-1;display:grid;grid-template-columns:1fr 1fr;gap:10px}.aside>.card{padding:16px;margin:0}.aside>.rotation-card{display:none}.card{padding:17px}.weight-card input{width:110px;font-size:30px}.heading h1{font-size:25px}.heading input{max-width:140px;font-size:12px;padding:10px}.nav{width:100%;margin:18px 0 22px}.nav button{flex:1;padding:9px 12px}.metrics{grid-template-columns:1fr 1fr}.metrics .card:last-child{grid-column:1/-1}.metric{font-size:28px}.metrics .card{margin:0}.footer{gap:15px}.routine-head h2{font-size:29px}.source-stats strong{font-size:23px}.aside .rest-options{flex-direction:column}.aside .rest-options button{font-size:12px;padding:9px}.aside h3{font-size:15px}.aside small{font-size:11px}.set-row{grid-template-columns:23px 1fr 1fr 40px}}

[hidden]{display:none!important}.login-wrap{max-width:420px;margin:12vh auto;padding:20px}.login-wrap>.brand{margin-bottom:28px}.login-wrap h1{margin-bottom:22px}.login-wrap label{display:block;margin:14px 0 7px}.login-wrap input{width:100%}.login-wrap button{margin-top:20px}.login-wrap small{display:block;margin-top:8px}#login-error{color:#ddd;font-size:13px;margin-top:12px}.water-card input{width:100%;font-size:30px;border:0;background:transparent;padding:6px 0}.water-actions{display:flex;gap:6px;margin-top:10px}.water-actions button{font-size:11px;padding:8px;flex:1}.bp-card{grid-column:1/-1}.bp-card summary{font-size:16px;color:var(--text);font-weight:600;margin:0}.bp-card summary small{display:block;margin-top:3px;font-weight:400}.bp-group{margin-top:20px}.bp-labels,.bp-reading{display:grid;grid-template-columns:20px 1fr 1fr;gap:7px;margin:8px 0;align-items:center}.bp-labels{font-size:10px;color:var(--muted)}.bp-reading input{width:100%;padding:9px;text-align:center;font-size:17px}.bp-reading small{text-align:center}.bp-median{font-size:12px;margin:10px 0;color:#ddd}.day-summary{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.day-summary span{font-size:12px;font-weight:400}

.exercise-title{min-width:0;flex:1}.exercise-title>div{min-width:0;flex:1}.exercise-number{flex-shrink:0}.exercise-code{display:flex;align-items:baseline;gap:8px}.exercise-code>span:first-child{min-width:0}.exercise-reps{flex-shrink:0;white-space:nowrap;font-size:12px;font-weight:400;color:var(--muted)}

@media(max-width:760px){.exercise{padding:17px}.gym-ratings{gap:8px}.gym-ratings label{font-size:12px}}

.day-navigation{display:flex;justify-content:space-between;gap:10px;margin-top:24px}.day-navigation button{font-size:13px}.day-navigation button:disabled{cursor:default}@media(max-width:440px){.day-navigation{gap:6px}.day-navigation button{font-size:11px;padding:10px 8px}}

.set-row input::placeholder{color:#949494;opacity:1}

.set-row.pending input{border-color:#dc5555}.set-row.pending .check{color:#dc5555;border-color:#dc5555}

button.rest-selected{border-color:#4ade80}

/* Subtle depth: keep the black canvas and existing status colours. */
.card{background:linear-gradient(150deg,#232323 0%,#1d1d1d 42%,#191919 100%);box-shadow:0 8px 20px #0005,inset 0 1px 0 #ffffff08,inset 0 -1px 0 #0005}
button:not(.link-button){background-image:linear-gradient(180deg,#ffffff0a,#00000012);box-shadow:0 2px 3px #0006,inset 0 1px 0 #ffffff0d,inset 0 -1px 0 #0004;transition:transform .12s,box-shadow .12s,border-color .15s,background .15s}
button:not(.link-button):active{transform:translateY(1px) scale(.98);box-shadow:inset 0 2px 3px #0005}
input,select,textarea{background-color:#202020;box-shadow:inset 0 2px 4px #0005,0 1px 0 #ffffff06}
.weight-card input,.water-card input{background:transparent;box-shadow:none}
.nav{box-shadow:inset 0 1px 3px #0008,0 1px 0 #ffffff08}
.nav button{box-shadow:none;background-image:none}
.nav button.active{background-image:linear-gradient(180deg,#3a3a3a,#303030);box-shadow:0 2px 4px #0006,inset 0 1px 0 #ffffff0a}
.exercise-number{background:linear-gradient(180deg,#2d2d2d,#242424);box-shadow:inset 0 1px 0 #ffffff08,0 1px 2px #0004}
@media(hover:hover){button:not(.link-button):not(:disabled):hover{box-shadow:0 3px 6px #0007,inset 0 1px 0 #ffffff12}}
@media(prefers-reduced-motion:reduce){button{transition:none}}

.garmin-dialog>p{margin-top:16px}.garmin-dialog form{margin-top:20px}.garmin-dialog label{display:block;margin-bottom:8px}.garmin-dialog input{width:100%}#garmin-status{margin-top:14px;font-size:13px}.steps-card .metric{margin:8px 0}.steps-card .row{flex-wrap:wrap}.footer{flex-wrap:wrap}

#garmin-status.error{color:#f09999;border-left:2px solid #dc5555;padding-left:10px}

/* Compact daily overview and touch-friendly scroll wheels. */
.daily-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:14px 18px;margin-bottom:20px}
.daily-stat{min-width:0;display:grid;grid-template-rows:20px 40px 32px;align-items:center;padding:0 16px;border-right:1px solid #ffffff10}
.daily-stat:first-child{padding-left:0}.daily-stat:last-child{padding-right:0;border-right:0}
.stat-label{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted);line-height:20px}
.stat-label svg,.icon-button svg{width:17px;height:17px;flex-shrink:0}
.stat-value,.weight-trigger,.water-total{font-size:30px;line-height:40px;font-weight:650;letter-spacing:-.8px;font-variant-numeric:tabular-nums}
.daily-summary .weight-trigger{display:flex;align-items:baseline;gap:5px;justify-self:start;border:0;padding:0;background:none;box-shadow:none;white-space:nowrap}
.weight-trigger small,.water-total small{font-size:12px;font-weight:400;letter-spacing:0}
.stat-detail{font-size:10px;line-height:13px;max-width:100%;color:var(--muted)}
.stat-tools{display:flex;gap:5px}.icon-button{display:inline-grid;place-items:center;width:32px;height:32px;padding:6px;border-radius:9px}
.water-total{display:flex;align-items:baseline;gap:4px;min-width:0;width:100%;max-width:105px}
.daily-summary .water-total input{width:calc(100% - 15px);min-width:0;font:inherit;padding:0;border:0;background:none;box-shadow:none;border-radius:0;line-height:40px}
.compact-water-actions{display:flex;gap:4px}.compact-water-actions button{padding:5px 7px;min-height:30px;font-size:10px;border-radius:8px;line-height:18px}
.aside .rest-options{margin-top:0}
.wheel-control{min-width:0}.wheel-label{display:block;text-align:center;font-size:12px;color:var(--muted);margin-bottom:8px}
.wheel-frame{height:120px;position:relative;border:1px solid #343434;border-radius:13px;background:#151515;box-shadow:inset 0 3px 8px #0008;overflow:hidden}
.wheel-frame::before{content:"";position:absolute;left:5px;right:5px;top:39px;height:40px;border-top:1px solid #ffffff1c;border-bottom:1px solid #ffffff1c;border-radius:7px;background:linear-gradient(180deg,#ffffff0a,#ffffff03);pointer-events:none}
.wheel-viewport{height:120px;overflow-y:auto;overscroll-behavior:contain;scroll-snap-type:y mandatory;scrollbar-width:none;padding:40px 0;touch-action:pan-y;perspective:350px;-webkit-mask-image:linear-gradient(transparent,#000 34%,#000 66%,transparent);mask-image:linear-gradient(transparent,#000 34%,#000 66%,transparent)}
.wheel-viewport::-webkit-scrollbar{display:none}.wheel-viewport:focus-visible{outline:0;box-shadow:inset 0 0 0 2px #aaa}
.wheel-option{height:40px;line-height:40px;text-align:center;scroll-snap-align:center;cursor:default;font-size:25px;font-weight:500;font-variant-numeric:tabular-nums;color:#858585;transform-origin:center;user-select:none;-webkit-user-select:none}
.wheel-option[aria-selected=true]{color:#f5f5f5;font-weight:650}
.weight-dialog{width:min(94vw,420px);border-radius:22px}.weight-preview{text-align:center;font-size:38px;font-weight:650;margin:20px 0;font-variant-numeric:tabular-nums}.weight-preview small{font-size:15px;font-weight:400}
.weight-wheels{display:grid;grid-template-columns:minmax(90px,1.4fr) 18px minmax(65px,1fr) 25px;gap:5px;align-items:center;max-width:290px;margin:0 auto}
.weight-decimal,.weight-unit{align-self:center;margin-top:22px;font-size:26px}.weight-unit{font-size:14px;color:var(--muted)}
.wheel-help{text-align:center;font-size:12px;color:var(--muted);margin:14px 0}.weight-error{color:#f09999;font-size:12px;margin-top:8px}.weight-dialog input{width:100%}
@media(max-width:760px){.daily-summary{padding:12px;margin-bottom:14px}.daily-stat{padding:0 9px}.stat-label{gap:5px;font-size:11px}.stat-label svg{width:14px;height:14px}.stat-value,.weight-trigger,.water-total{font-size:clamp(20px,6vw,27px)}.stat-tools{gap:4px}.compact-water-actions button{padding:5px;flex:1;min-width:0}.daily-stat .stat-detail{font-size:9px}.gym-ratings{gap:9px}.gym-ratings .wheel-label{font-size:12px}}
@media(max-width:600px){.weight-dialog{position:fixed;inset:auto 0 0;margin:auto auto 14px;padding:22px;max-height:85dvh}}

/* Stock-chart-style inspection of actual recorded body weights. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.weight-chart{margin:20px 0 14px}.weight-chart-readout{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;min-height:60px}
.weight-chart-value{display:block;font-size:31px;font-weight:650;letter-spacing:-.7px;line-height:1.2;font-variant-numeric:tabular-nums}.weight-chart-value small{font-size:14px;font-weight:400}.weight-chart-date{display:block;color:var(--muted);font-size:12px;margin-top:3px}
.weight-chart-controls{display:flex;gap:4px;align-items:center}.weight-chart-controls input{width:139px;font-size:12px;padding:8px;min-width:0}.chart-step{width:31px;height:35px;padding:0;font-size:24px;line-height:1}.chart-step:disabled{cursor:default}
.weight-chart-surface{position:relative;touch-action:pan-y pinch-zoom;cursor:crosshair;user-select:none;-webkit-user-select:none;border-radius:10px;margin-top:12px}
.weight-chart-surface:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.weight-history-chart{height:240px;width:100%;margin:0;overflow:visible}
.chart-crosshair line{stroke:#ddd;stroke-width:1;stroke-dasharray:4 4;opacity:.65}.chart-crosshair circle{fill:#f5f5f5;stroke:#1d1d1d;stroke-width:2}
.weight-chart-hint,.weight-chart-missing{font-size:11px;color:var(--muted);margin-top:8px}.weight-chart-missing:empty{display:none}.weight-chart-missing{color:#ddd}
@media(max-width:760px){.weight-chart{margin-top:18px}.weight-chart-value{font-size:29px}.weight-chart-controls input{width:130px}.weight-chart-readout{gap:10px}.weight-chart-surface{margin-top:16px}}
.muscle-overview{margin-bottom:28px}.muscle-overview>h2{font-size:26px;margin-bottom:8px}.muscle-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.muscle-summary>div{background:#151515;border:1px solid #333;border-radius:14px;padding:16px}.muscle-summary small,.muscle-summary strong{display:block}.muscle-summary small{color:#aaa;margin-bottom:8px}.muscle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.muscle-card{margin:0;padding:18px;align-self:start}.muscle-card>summary{cursor:pointer;list-style:none;position:relative;padding-right:19px}.muscle-card>summary:after{content:'+';position:absolute;right:0;top:0;color:#aaa}.muscle-card[open]>summary:after{content:'−'}.muscle-title{display:flex;justify-content:space-between;gap:12px;align-items:center;font-weight:650}.muscle-trend{font-size:12px;color:#ccc;font-weight:500}.muscle-count{display:block;font-size:12px;color:#999;margin-top:10px;line-height:1.5}.muscle-details{border-top:1px solid #383838;margin-top:16px}.muscle-exercise{padding:14px 0;border-bottom:1px solid #2c2c2c;display:grid;gap:5px}.muscle-exercise strong{font-size:13px}.muscle-exercise small{color:#aaa;font-size:11px}.muscle-exercise>span{font-size:13px}.muscle-method{color:#aaa;font-size:12px;margin:18px 0;line-height:1.65}.muscle-method summary{cursor:pointer}@media(max-width:600px){.muscle-grid{grid-template-columns:1fr}.muscle-summary{gap:8px}.muscle-summary>div{padding:12px}.muscle-summary strong{font-size:13px}.muscle-title{font-size:16px}}
.muscle-card .weight-chart{margin:18px 0}.muscle-card .weight-chart-value{font-size:27px}.muscle-exercise-details>summary{font-size:12px;color:#aaa;cursor:pointer}.weight-chart-detail{font-size:11px;color:#aaa;line-height:1.6;margin-top:8px;max-height:76px;overflow:auto}.weight-chart-detail:empty{display:none}.muscle-curve-empty{font-size:12px;color:#aaa;padding:24px 0;line-height:1.6}.muscle-card .muscle-title{flex-wrap:wrap}.muscle-card .weight-chart-controls input{width:125px}
.muscle-period-row{gap:12px;flex-wrap:wrap}.muscle-period-row h2{font-size:26px;margin:0}.muscle-period-row select{width:auto;min-width:140px}.muscle-period-caption{color:#999;font-size:11px;margin:8px 0 16px}@media(max-width:600px){.muscle-period-row h2{font-size:23px}.muscle-period-row select{min-width:130px}}
.chart-intervals{display:flex;justify-content:space-between;align-items:center;gap:6px;margin:16px 0 4px;padding:4px 0;border-bottom:1px solid #363636}.chart-intervals button{flex:1;min-height:38px;padding:7px 10px;border:0;border-radius:20px;color:#aaa;background:transparent;box-shadow:none;font-size:13px;font-weight:650}.chart-intervals button[aria-pressed=true]{background:#414141;color:#fff;box-shadow:inset 0 1px 0 #ffffff14}.chart-intervals button:hover{color:#fff;background:#303030}.chart-intervals button:focus-visible{outline:2px solid #ddd;outline-offset:2px}
.exercise-group-label,.exercise-variant-label{display:grid;gap:6px;font-size:11px;color:#aaa}.exercise-group-label{min-width:190px}.exercise-group-label select,.exercise-variant-label select{font-size:14px;width:100%}.exercise-variant-label{margin:14px 0}.exercise-chart-metrics{display:flex;gap:5px;margin-top:16px}.exercise-chart-metrics button{font-size:12px;padding:7px 15px;background:#161616;box-shadow:none;border-color:#333;color:#999}.exercise-chart-metrics button[aria-pressed=true]{background:#414141;color:#fff;border-color:#666}.muscle-card h3{font-size:17px;line-height:1.4;margin:6px 0 0}.exercise-chart-metrics+ .weight-chart{margin-top:12px}

/* Chart cards must shrink inside grid tracks on narrow screens. */
.muscle-grid,.muscle-card,.muscle-card .weight-chart,.weight-chart-surface{min-width:0;max-width:100%}.muscle-card{width:100%;overflow-wrap:anywhere}.muscle-card select{width:100%;max-width:100%;min-width:0}.weight-chart-readout>div{min-width:0;max-width:100%}.weight-chart-controls{flex-wrap:wrap;max-width:100%}.weight-history-chart{display:block;max-width:100%;overflow:hidden}.muscle-card .weight-chart-detail,.muscle-card .weight-chart-date{overflow-wrap:anywhere}
[data-exercise-card]{padding:16px}.muscle-overview>.muscle-period-row{margin-bottom:16px}[data-exercise-card] h3{margin:0;font-size:16px}[data-exercise-card] .exercise-chart-metrics{margin-top:10px}[data-exercise-card] .exercise-chart-metrics button{padding:5px 12px}.muscle-card .compact-chart{margin:10px 0 0}.compact-chart .weight-chart-readout{min-height:0;gap:6px}.compact-chart .weight-chart-value{display:inline-block;font-size:26px}.chart-secondary{font-size:13px;color:#aaa;margin-left:10px}.compact-chart .weight-chart-date{margin-top:2px;font-size:10px}.compact-chart .chart-intervals{margin:10px 0 0;padding:2px 0}.compact-chart .chart-intervals button{min-height:30px;padding:4px 8px;font-size:12px}.compact-chart .weight-history-chart{height:180px}.compact-chart .weight-chart-surface{margin-top:8px}.compact-chart .weight-chart-missing:empty{display:none}
.chart-legend{display:flex;justify-content:space-between;font-size:10px;color:#aaa;margin:6px 0 0}.chart .reps-curve{fill:none;stroke:#858585;stroke-width:1.8;stroke-dasharray:4 4;stroke-linejoin:round}.chart-crosshair .reps-dot{fill:#858585;stroke:#1d1d1d;stroke-width:1.5}.compact-chart .chart-secondary{font-size:16px;font-weight:550;color:#ddd}.muscle-card .compact-chart{margin-top:8px}
.compact-chart .weight-chart-readout>div{display:flex;align-items:baseline;flex-wrap:wrap;column-gap:10px}.compact-chart .weight-chart-value,.compact-chart .chart-secondary{font-size:26px;font-weight:650;line-height:1.2;letter-spacing:-.7px;margin-left:0;font-variant-numeric:tabular-nums}.compact-chart .weight-chart-date{flex-basis:100%;letter-spacing:0}.bp-readings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:10px}.bp-wheel-trigger{padding:10px 4px;text-align:center}.bp-wheel-trigger small,.bp-wheel-trigger strong,.bp-wheel-trigger span{display:block}.bp-wheel-trigger strong{font-size:15px;white-space:nowrap}.bp-wheel-trigger span{font-size:10px;color:#999}.bp-wheels{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0}.bp-wheel-preview{font-size:32px;text-align:center;font-weight:650;margin-top:20px}.bp-wheel-preview small{font-size:13px}.program-context{font-size:13px;color:#aaa;line-height:1.7;margin:0 0 20px}.program-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.program-grid>.card{min-width:0;margin:0;align-self:start}.program-exercise{display:grid;grid-template-columns:minmax(0,1fr) 32px 85px;gap:10px;padding:12px 0;border-bottom:1px solid #303030;align-items:start;font-size:12px}.program-exercise strong{font-weight:550}.program-exercise small{display:block;font-size:10px;margin-top:4px}.program-exercise>span{text-align:right}.program-head{font-size:10px;color:#999}.program-primers{margin-top:14px;font-size:12px;color:#aaa}.program-primers summary{cursor:pointer}.program-volume-head,.program-volume-row{display:grid;grid-template-columns:1fr 85px 85px;gap:8px;padding:9px 0;font-size:12px;border-bottom:1px solid #303030}.program-volume-head{font-size:10px;color:#999;margin-top:12px}.program-volume-head>span:not(:first-child),.program-volume-row>span{text-align:right}.program-volume-row strong{font-weight:500}@media(max-width:700px){.program-grid{grid-template-columns:1fr}}@media(max-width:600px){.nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%}.nav button{padding:9px 4px;font-size:12px}.program-exercise{grid-template-columns:minmax(0,1fr) 26px 80px;gap:7px}.program-volume-head,.program-volume-row{grid-template-columns:1fr 75px 75px}}
:root{--accent:#83c9df;--green:#79c69b;--amber:#d9ad6b}.nav .active{color:#a4ddee;background:#17323b;box-shadow:inset 0 0 0 1px #365e6c}.chart-intervals button[aria-pressed=true]{background:#183740;color:#a4ddee;box-shadow:inset 0 0 0 1px #416875}.chart-intervals button:hover{background:#203b43}.chart .curve{stroke:#83c9df}.chart .reps-curve{stroke:#d9ad6b}.chart-crosshair circle{fill:#83c9df}.chart-crosshair .reps-dot{fill:#d9ad6b}.chart-legend span:first-child{color:#83c9df}.chart-legend span:last-child{color:#d9ad6b}.compact-chart .weight-chart-value{color:#a4ddee}.compact-chart .chart-secondary{color:#dfbd88}.compact-chart .chart-secondary small{font-size:14px;font-weight:400;letter-spacing:0}.wheel-option[aria-selected=true]{color:#a4ddee}.wheel-frame::before{border-color:#83c9df40;background:#83c9df0a}.bp-wheel-trigger strong{color:#a4ddee}.bp-median{color:#dfbd88}.program-volume-row>span:nth-child(2){color:#a4ddee}.program-grid h2{color:#a4ddee}.program-exercise>span:nth-child(2){color:#a4ddee}.program-exercise>span:nth-child(3){color:#dfbd88}.status.error{color:#e79797}
.inline-set-wheel{height:60px;min-width:0;position:relative;display:grid;grid-template-rows:13px 28px 13px;align-content:center;justify-items:center;overflow:hidden;border:1px solid #454545;border-radius:10px;background:linear-gradient(180deg,#151515,#252525 45%,#202020 60%,#131313);box-shadow:inset 0 2px 6px #0006;touch-action:none;user-select:none;-webkit-user-select:none;cursor:ns-resize;font-variant-numeric:tabular-nums}.inline-set-wheel strong{font-size:19px;line-height:28px;font-weight:600;color:#b0dfed}.inline-wheel-neighbor{font-size:10px;line-height:13px;color:#777;opacity:.65;pointer-events:none}.inline-set-wheel [data-inline-before]{transform:perspective(120px) rotateX(35deg)}.inline-set-wheel [data-inline-after]{transform:perspective(120px) rotateX(-35deg)}.inline-set-wheel.is-dragging{border-color:#83c9df;box-shadow:inset 0 2px 6px #0006,0 0 0 1px #83c9df40}.inline-set-wheel:focus-visible{outline:2px solid #83c9df;outline-offset:2px}.inline-set-wheel[aria-disabled=true]{cursor:default;opacity:.75}.set-row.pending .inline-set-wheel{border-color:#dc5555}.set-row.pending .inline-set-wheel.is-dragging{border-color:#83c9df}.set-row .inline-set-wheel[data-set-field=reps] strong{color:#dfbd88}
.inline-wheel-preview{position:fixed;width:152px;height:78px;z-index:1000;pointer-events:none;user-select:none;border:1px solid #83c9df;border-radius:14px;background:#11252cf5;box-shadow:0 6px 25px #000b,0 0 0 1px #83c9df20;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;contain:layout paint}.inline-wheel-preview small{font-size:10px;font-weight:600;letter-spacing:1.3px;color:#9ed9eb}.inline-wheel-preview strong{font-size:30px;line-height:1.15;color:#c1edfa;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.inline-wheel-preview[data-field=reps]{border-color:#d9ad6b;background:#2e2517f5}.inline-wheel-preview[data-field=reps] small{color:#d9ad6b}.inline-wheel-preview[data-field=reps] strong{color:#f0d1a2}
.inline-set-control{display:grid;grid-template-columns:25px minmax(0,1fr) 25px;align-items:stretch;min-width:0;height:46px;overflow:hidden;border:1px solid #515151;border-radius:10px;background:#161616;box-shadow:inset 0 2px 5px #0006}.inline-set-control .set-adjust{border:0;border-radius:0;box-shadow:none;background:#282828;color:#a4ddee;padding:0;min-width:0;font-size:21px;font-weight:500;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.inline-set-control .set-adjust:active{transform:none;background:#23454f}.set-row .inline-set-control input{padding:0 1px;width:100%;min-width:0;border:0;border-radius:0;background:transparent;font-size:18px;font-weight:650;box-shadow:none;color:#b0dfed;text-align:center;font-variant-numeric:tabular-nums}.set-row .inline-set-control[data-set-field=reps] input{color:#dfbd88}.set-row.pending .inline-set-control{border-color:#dc5555}.set-row.pending .inline-set-control input{border:0}.inline-set-control:focus-within,.set-row.pending .inline-set-control.is-adjusting{border-color:#83c9df}.inline-set-control input:focus{outline:0;background:#203039}.inline-set-control .set-adjust:focus-visible{outline:2px solid #83c9df;outline-offset:-3px}.inline-set-control:has(input:disabled){opacity:.7}.inline-set-control button:disabled{cursor:default}@media(max-width:400px){.set-row{grid-template-columns:18px minmax(0,1fr) minmax(0,1fr) 32px;gap:5px}.set-row .check{width:32px}.inline-set-control{grid-template-columns:22px minmax(0,1fr) 22px}.set-row .inline-set-control input{font-size:17px}}
.set-row .inline-set-control input{font-size:20px}@media(max-width:400px){.set-row .inline-set-control input{font-size:19px}}@media(max-width:350px){.set-row .inline-set-control input{font-size:17px}}
.input-method-label{display:flex;align-items:center;gap:7px;font-size:11px;color:#a4ddee;margin:10px 0 8px}.input-method-label>span{display:inline-grid;place-items:center;width:20px;height:20px;border:1px solid #436975;border-radius:6px;font-size:10px;background:#183039}.set-row .plain-set-input{height:46px;font-size:19px;color:#b0dfed;padding:6px 3px}.set-row .plain-set-input[data-field=reps]{color:#dfbd88}
/* Keep the outer half available for the finger, with both readings facing inward. */
.inline-set-wheel{padding-left:12px;padding-right:12px}.inline-set-wheel[data-set-field=load]{justify-items:end;text-align:right}.inline-set-wheel[data-set-field=reps]{justify-items:start;text-align:left}.inline-set-wheel strong,.inline-set-wheel .inline-wheel-neighbor{max-width:100%;white-space:nowrap}.set-head>span:nth-child(2){text-align:right;padding-right:12px}.set-head>span:nth-child(3){text-align:left;padding-left:12px}@media(max-width:350px){.inline-set-wheel strong{font-size:17px}.inline-set-wheel{padding-left:10px;padding-right:10px}}
.set-row.set-locked .inline-set-wheel{border-color:#4b9669;background:linear-gradient(180deg,#122017,#19281f,#122017)}.inline-set-wheel[aria-disabled=true]{touch-action:pan-y pinch-zoom}.set-row.set-locked .inline-set-wheel[aria-disabled=true]{opacity:.9}
/* Compact day navigation; overlay avoids the native date field's iOS minimum width. */
.day-navigation{display:grid;grid-template-columns:44px auto 44px;grid-template-areas:"today today today" "previous date next";justify-content:center;align-items:center;gap:2px 8px;width:max-content;max-width:100%;margin:24px auto 0;padding:0;border:0;border-radius:0;background:transparent}
.day-navigation button{height:44px;min-width:44px;padding:6px 10px;font-size:14px;border:0;border-radius:8px;background:transparent;box-shadow:none}
.day-navigation button[data-action=day-previous]{grid-area:previous}.day-navigation button[data-action=day-next]{grid-area:next}.day-navigation button[data-action=day-today]{grid-area:today;justify-self:center;height:36px;color:#a4ddee}.day-navigation button[data-action=day-previous],.day-navigation button[data-action=day-next]{font-size:25px;color:#aaa}
.day-calendar{grid-area:date;position:relative;display:flex;align-items:center;justify-content:center;flex:0 1 auto;min-width:0;height:44px;margin:0;padding:0 10px;font-size:16px;font-weight:500;color:#a4ddee;white-space:nowrap;cursor:pointer}
.day-calendar input{position:absolute;inset:0;width:100%;min-width:0;max-width:100%;height:100%;margin:0;padding:0;border:0;opacity:0;cursor:pointer;box-sizing:border-box}
.day-calendar input::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;cursor:pointer}
.day-calendar:focus-within{outline:1px solid #83c9df;outline-offset:1px;border-radius:6px}
.heading{justify-content:flex-start}

.weight-progress-card{padding:16px;margin-bottom:20px}.weight-progress-card h3{margin:0;font-size:16px}

.heading-content{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-width:0}.heading-content:has(.weather-row:not(:empty)) h1{font-size:clamp(18px,5vw,30px);min-width:0;line-height:1.25}.weather-row{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex:0 0 auto;white-space:nowrap;margin-top:0;font-size:15px;line-height:1.4;color:#aaa}.weather-row:empty{display:none}.weather-row a{color:#aaa;text-decoration:none}.weather-row a:hover{color:#a4ddee}.weather-condition{font-size:24px;line-height:1}.weather-temperature{color:#a4ddee;font-weight:600;font-variant-numeric:tabular-nums}.weather-separator{color:#666}

@media(max-width:360px){.heading-content{gap:8px}.weather-row{font-size:13px;gap:4px}.weather-condition{font-size:21px}}

.daily-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
