/* The reviewed four-screen flow. Existing equipment controls live in their
   own full-screen view; the saved workout model stays in the session engine. */
:root{--wf-bg:#F7F8F6;--wf-ink:#253B4C;--wf-quiet:#526575;--wf-surface:#FDFEFE;--wf-edge:rgba(63,79,88,.10);--wf-shadow:0 10px 22px -13px rgba(54,69,77,.32),inset 0 1px 1px #fff;--wf-blue:#A7CFF2;--wf-button-ink:#294B65}
:root[data-theme="dark"]{--wf-bg:var(--bg);--wf-ink:var(--ink);--wf-quiet:var(--ink-3);--wf-surface:var(--surface);--wf-edge:var(--hair);--wf-shadow:var(--shadow-1),inset 0 1px 0 var(--hairline)}
:root body.pm-premium #sess.focus-workout{background:var(--wf-bg)!important;color:var(--wf-ink)!important;display:none;grid-template-columns:none!important;padding:0!important;overflow:auto!important;overscroll-behavior:contain}
:root body.pm-premium #sess.focus-workout.on{display:block!important}
:root body.pm-premium #sess.focus-workout::before,:root body.pm-premium #sess.focus-workout::after{display:none!important}
:root body.pm-premium #sess.focus-workout .sess-main{display:flex!important;flex-direction:column!important;min-height:100dvh!important;height:auto!important;width:min(100%,560px)!important;max-width:560px!important;padding:0 26px max(26px,env(safe-area-inset-bottom))!important;margin:auto!important;overflow:visible!important;background:none!important;box-shadow:none!important;position:relative!important}
:root body.pm-premium #sess.focus-workout .rr-world,:root body.pm-premium #sess.focus-workout .sess-side,:root body.pm-premium #sess.focus-workout .sess-bar,:root body.pm-premium #sess.focus-workout #sessIx,:root body.pm-premium #sess.focus-workout #sessSets,:root body.pm-premium #sess.focus-workout #sessStage,:root body.pm-premium #sess.focus-workout #sessMini,:root body.pm-premium #sess.focus-workout #sessVideo,:root body.pm-premium #sess.focus-workout #sessCtx,:root body.pm-premium #sess.focus-workout #sessAutoEsc{display:none!important}
:root body.pm-premium #sess.focus-workout .sess-top{display:flex!important;align-items:center;justify-content:space-between;flex:none!important;position:relative!important;min-height:76px;padding:max(12px,env(safe-area-inset-top)) 0 8px!important;gap:0!important;border:0!important;background:none!important}
:root body.pm-premium #sess.focus-workout .sess-top .sess-x{width:auto!important;min-width:44px!important;min-height:44px!important;box-shadow:none!important;background:none!important;border:0!important;border-radius:12px!important;color:var(--wf-quiet)!important;font-size:var(--ui-meta,14px)!important;font-weight:500;z-index:1;margin:0!important;padding:0 5px!important}
:root body.pm-premium #sess.focus-workout #sessX{order:0;font-size:32px!important;text-align:left}
:root body.pm-premium #sess.focus-workout #sessList{order:2}
.wf-brand{position:absolute;left:50%;transform:translateX(-50%);font-size:26px;letter-spacing:-1.5px;font-weight:650;color:var(--wf-blue)}
:root body.pm-premium #sess.focus-workout .sess-body{flex:1!important;display:flex!important;flex-direction:column;overflow:visible!important;padding:0!important;min-height:0!important;max-height:none!important}
:root body.pm-premium #sess.focus-workout #sessWork{display:flex;flex:1;flex-direction:column;min-height:0;gap:0;padding:0!important}
:root body.pm-premium #sess.focus-workout #sessWork.hide{display:none!important}
:root body.pm-premium #sess.focus-workout .sess-head{position:static!important;display:block!important;min-height:0!important;height:auto!important;max-height:none!important;padding:14px 0 0!important;overflow:visible!important;flex:none!important;background:none!important;box-shadow:none!important;border:0!important;text-align:center!important}
:root body.pm-premium #sess.focus-workout .sess-head::before,:root body.pm-premium #sess.focus-workout .sess-head::after{display:none!important}
:root body.pm-premium #sess.focus-workout .sess-headtxt{display:flex!important;flex-direction:column;align-items:center;max-width:none!important;width:100%!important;padding:0!important}
:root body.pm-premium #sess.focus-workout #sessSet{font-size:var(--ui-meta,14px)!important;line-height:1.5!important;font-weight:500!important;letter-spacing:.02em;color:var(--wf-quiet)!important;margin:0 0 15px!important;max-width:100%}
:root body.pm-premium #sess.focus-workout #sessSet{display:block!important;opacity:1!important;visibility:visible!important}
:root body.pm-premium #sess.focus-workout[data-focus="sessRest"] #sessLift{display:none!important}
:root body.pm-premium #sess.focus-workout #wfTitle{font:500 clamp(25px,7vw,31px)/1.22 var(--sans);letter-spacing:-1.1px;color:var(--wf-ink);margin:0;max-width:100%;text-wrap:balance;outline:none}
:root body.pm-premium #sess.focus-workout #sessLift{font:400 14px/1.5 var(--sans)!important;color:var(--wf-quiet)!important;letter-spacing:0!important;margin:12px 0 0!important;max-width:100%!important;white-space:normal!important}
:root body.pm-premium #sess.focus-workout[data-focus="sessRun"] #sessLift{display:none!important}
:root body.pm-premium #sess.focus-workout .sess-ws{position:static!important;display:flex!important;flex-direction:column!important;flex:1!important;min-height:0!important;max-height:none!important;overflow:visible!important;padding:0!important;margin:0!important;background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;transform:none!important;animation:none!important}
:root body.pm-premium #sess.focus-workout .sess-ws::before,:root body.pm-premium #sess.focus-workout .sess-ws::after{display:none!important}
:root body.pm-premium #sess.focus-workout #sessWStep,:root body.pm-premium #sess.focus-workout #sessRun,:root body.pm-premium #sess.focus-workout #sessRepsBox,:root body.pm-premium #sess.focus-workout #sessRest{display:flex!important;flex-direction:column;align-items:stretch;flex:1;position:static!important;padding:0!important;overflow:visible!important;background:none!important;box-shadow:none!important;min-height:0!important;max-height:none!important;margin:0!important}
:root body.pm-premium #sess.focus-workout #sessWStep.hide,:root body.pm-premium #sess.focus-workout #sessRun.hide,:root body.pm-premium #sess.focus-workout #sessRepsBox.hide,:root body.pm-premium #sess.focus-workout #sessRest.hide{display:none!important}
:root body.pm-premium #sess.focus-workout #sessWStep::before,:root body.pm-premium #sess.focus-workout #sessWStep::after{display:none!important}
:root body.pm-premium #sess.focus-workout #sessWEye,:root body.pm-premium #sess.focus-workout #sessWStep>#sessWSel,:root body.pm-premium #sess.focus-workout #sessWLoad,:root body.pm-premium #sess.focus-workout #sessWStep>#sessWPlates,:root body.pm-premium #sess.focus-workout #sessWStep>#sessWSm,:root body.pm-premium #sess.focus-workout #sessWStep>#sessWOther,:root body.pm-premium #sess.focus-workout #sessRunW,:root body.pm-premium #sess.focus-workout #sessRunLoad{display:none!important}
.wf-equipment{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:100%;border:0;background:none;color:var(--wf-quiet);cursor:pointer;font-family:var(--sans);padding:0;margin:18px auto 12px;min-height:190px;flex:1;max-height:280px}
.wf-equipment-art{display:flex;position:relative;align-items:center;justify-content:center;width:100%;height:170px;max-height:23dvh;overflow:hidden}
.wf-equipment-art>.wf-object{height:100%;width:80%;object-fit:contain;filter:drop-shadow(0 14px 11px rgba(40,51,56,.12));mix-blend-mode:multiply}
:root[data-theme="dark"] .wf-equipment-art>.wf-object{mix-blend-mode:normal;filter:drop-shadow(0 14px 11px rgba(0,0,0,.4))}
.wf-equipment-art .loadvis{display:block;width:100%;max-width:360px;position:relative}
.wf-equipment-art .loadvis svg{width:100%;height:auto;max-height:170px}
.wf-equipment-art .loadvis img{max-width:100%;object-fit:contain}
.wf-equipment-label{font-size:var(--ui-meta,14px);line-height:1.5;padding:10px 12px;color:var(--wf-quiet)}
:root body.pm-premium #sess.focus-workout .wsrow{display:grid!important;grid-template-columns:50px minmax(0,1fr) 50px!important;align-items:center!important;gap:12px!important;margin:4px 0 2px!important;padding:0!important;min-height:100px}
:root body.pm-premium #sess.focus-workout .wsrow{background:none!important;box-shadow:none!important;border:0!important}
:root body.pm-premium #sess.focus-workout .wsrow::before,:root body.pm-premium #sess.focus-workout .wsrow::after{display:none!important}
:root body.pm-premium #sess.focus-workout .sess-body,:root body.pm-premium #sess.focus-workout #sessWork{background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important}
:root body.pm-premium #sess.focus-workout .wbig-step{width:48px!important;height:48px!important;min-height:48px!important;border-radius:50%!important;box-shadow:var(--wf-shadow)!important;background:var(--wf-surface)!important;color:var(--wf-ink)!important;border:1px solid var(--wf-edge)!important;font-size:24px!important;font-weight:400!important;display:block!important}
:root body.pm-premium #sess.focus-workout #sessWBig{background:none!important;box-shadow:none!important;border:0!important;border-radius:0!important;margin:0!important;padding:0!important;display:block!important;color:var(--wf-ink)!important;min-height:100px;min-width:0!important;width:100%!important}
:root body.pm-premium #sess.focus-workout #sessWBig b{font-size:64px!important;line-height:1.1!important;letter-spacing:-3px!important;font-weight:400!important;color:var(--wf-ink)!important;display:block}
:root body.pm-premium #sess.focus-workout #sessWBig b.wtxt{font-size:28px!important;letter-spacing:-.8px!important}
:root body.pm-premium #sess.focus-workout #sessWBig small{display:block;font-size:var(--ui-meta,14px)!important;line-height:1.6!important;font-weight:400!important;color:var(--wf-quiet)!important;max-width:100%;margin:8px 0 0!important}
.wf-link{appearance:none;border:0;background:none;box-shadow:none;color:var(--wf-quiet);font:400 14px/1.5 var(--sans);min-height:44px;padding:10px 4px;cursor:pointer;text-align:center}
.wf-link:hover{color:var(--wf-ink)}
:root body.pm-premium #sess.focus-workout #sessInstr{display:flex!important;flex-direction:column;align-items:center;justify-content:flex-end;gap:0!important;flex:1;margin:18px 0 0!important;padding:0!important;min-height:45px;position:static!important;background:none!important;text-align:center!important;border:0!important}
:root body.pm-premium #sess.focus-workout #sessInstr .si-main{font:400 var(--ui-meta,14px)/1.6 var(--sans)!important;color:var(--wf-quiet)!important;max-width:290px}
:root body.pm-premium #sess.focus-workout #sessInstr .si-more{display:block!important;position:static!important;min-height:44px!important;padding:10px 4px!important;margin:0!important;border:0!important;background:none!important;box-shadow:none!important;color:var(--wf-quiet)!important;font:400 var(--ui-meta,14px)/1.5 var(--sans)!important}
:root body.pm-premium #sess.focus-workout #wfWeightHelp{margin-bottom:0}
:root body.pm-premium #sess.focus-workout #wfWeightHelp[hidden]{display:none}
:root body.pm-premium #sess.focus-workout .sess-foot{position:static!important;background:none!important;box-shadow:none!important;border:0!important;display:flex!important;flex-direction:column;gap:7px!important;flex:none!important;width:100%!important;max-width:none!important;margin:18px 0 0!important;padding:0!important}
:root body.pm-premium #sess.focus-workout .sess-foot::before,:root body.pm-premium #sess.focus-workout .sess-foot::after{display:none!important}
:root body.pm-premium #sess.focus-workout .sess-foot .btn.acc,:root body.pm-premium .wf-sheet .btn.acc{width:100%!important;min-height:58px!important;border:1px solid rgba(143,179,204,.4)!important;border-radius:19px!important;background:#A7CFF2!important;box-shadow:0 8px 18px -12px rgba(34,71,97,.4),inset 0 1px 1px rgba(255,255,255,.5)!important;color:var(--wf-button-ink)!important;font-size:16px!important;font-weight:550!important;padding:14px 16px!important;margin:0!important;letter-spacing:0!important}
:root body.pm-premium #sess.focus-workout .sess-foot .btn.ghost{min-height:44px!important;background:none!important;box-shadow:none!important;border:0!important;color:var(--wf-quiet)!important;font-size:var(--ui-meta,14px)!important;margin:0!important;padding:8px!important}
:root body.pm-premium #sess.focus-workout #sessSkip{display:none!important}
:root body.pm-premium #sess.focus-workout .sd-disc{display:none!important}
:root body.pm-premium #sess.focus-workout .hold-t{color:inherit!important;font-size:inherit!important}
.wf-anatomy{position:relative;display:flex;align-items:center;justify-content:center;width:100%;min-height:200px;flex:1;max-height:390px;margin:16px auto 12px;overflow:hidden;isolation:isolate}
.wf-anatomy .body-r,.wf-equipment-art .body-r{display:block!important;position:relative!important;width:100%!important;height:100%!important;min-height:200px!important;max-width:none!important;aspect-ratio:1/1!important;transform:none!important;overflow:visible!important;inset:auto!important;margin:0!important}
.wf-anatomy .body-r img,.wf-equipment-art .body-r img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:contain!important;transform:none!important;mix-blend-mode:multiply!important;filter:none!important}
:root[data-theme="dark"] .wf-anatomy .body-r img,:root[data-theme="dark"] .wf-equipment-art .body-r img{mix-blend-mode:normal!important}
.wf-anatomy svg{height:100%;width:100%;max-height:370px}
.wf-stats{display:flex;align-items:center;justify-content:center;gap:30px;padding:12px 0;margin:0 auto 12px;width:100%;color:var(--wf-ink)}
.wf-stats>div{flex:1;text-align:center;min-width:0}
.wf-stats b{display:block;font-size:30px;line-height:1.25;font-weight:400;letter-spacing:-.8px}
.wf-stats span{display:block;margin-top:7px;font-size:var(--ui-meta,14px);line-height:1.5;color:var(--wf-quiet)}
.wf-stats>i{height:34px;width:1px;background:var(--wf-edge)}
.wf-links{display:flex;align-items:center;justify-content:space-around;gap:16px;margin:8px 0 16px}
:root body.pm-premium #sess.focus-workout #sessRepsBox{justify-content:center;gap:18px;padding-top:28px!important}
:root body.pm-premium #sess.focus-workout #sessRepRow{order:1!important}
:root body.pm-premium #sess.focus-workout #sessRepKey{order:2!important}
:root body.pm-premium #sess.focus-workout #sessAnother{order:3!important}
:root body.pm-premium #sess.focus-workout #wfSetTools{order:4!important}
:root body.pm-premium #sess.focus-workout #sessRepKey,:root body.pm-premium #sess.focus-workout #sessAnother,:root body.pm-premium #sess.focus-workout #wfSetTools{position:static!important;inset:auto!important;transform:none!important;flex:none!important;height:auto!important;width:100%!important;max-height:none!important;opacity:1!important;visibility:visible!important;z-index:auto!important}
:root body.pm-premium #sess.focus-workout #sessRepsBox>#sessRepsEyebrow,:root body.pm-premium #sess.focus-workout #sessRepsBox>#sessTrio,:root body.pm-premium #sess.focus-workout #sessRepsBox>#sessRare,:root body.pm-premium #sess.focus-workout #sessMoreT{display:none!important}
:root body.pm-premium #sess.focus-workout #sessRepRow{display:flex!important;gap:14px!important;align-items:center!important;justify-content:flex-start!important;overflow-x:auto!important;overflow-y:hidden!important;flex:none!important;max-width:100%!important;width:100%!important;min-height:174px!important;padding:24px calc(50% - 48px)!important;margin:0!important;scroll-snap-type:x proximity;scrollbar-width:none;background:none!important;box-shadow:none!important;border:0!important;border-radius:0!important;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
:root body.pm-premium #sess.focus-workout #sessRepRow .rep{flex:0 0 86px!important;min-width:86px!important;width:86px!important;height:116px!important;min-height:116px!important;font-size:48px!important;line-height:1!important;font-weight:400!important;letter-spacing:-2px!important;border-radius:25px!important;border:0!important;background:none!important;box-shadow:none!important;color:var(--wf-quiet)!important;transform:scale(.86)!important;opacity:.6;scroll-snap-align:center;position:relative}
:root body.pm-premium #sess.focus-workout #sessRepRow .rep::before,:root body.pm-premium #sess.focus-workout #sessRepRow .rep::after{display:none!important}
:root body.pm-premium #sess.focus-workout #sessRepRow .rep.selected{background:#A7CFF2!important;border:1px solid rgba(143,179,204,.5)!important;box-shadow:0 8px 18px -12px rgba(34,71,97,.45),inset 0 1px 1px rgba(255,255,255,.5)!important;color:var(--wf-button-ink)!important;transform:none!important;opacity:1}
:root body.pm-premium #sess.focus-workout #sessRepKey{font-size:var(--ui-meta,14px)!important;color:var(--wf-quiet)!important;justify-content:center!important;margin:-16px 0 12px!important}
:root body.pm-premium #sess.focus-workout #sessAnother{min-height:44px!important;font:400 var(--ui-meta,14px)/1.5 var(--sans)!important;padding:10px 0!important;margin:0!important;border:0!important;background:none!important;box-shadow:none!important;color:var(--wf-quiet)!important}
:root body.pm-premium #sess.focus-workout .foot-gap{display:none!important}
:root body.pm-premium #sess.focus-workout.wf-detail-state #wfSetTools{display:none!important}
:root body.pm-premium #sess.focus-workout.wf-detail-state #sessRepRow .rep{background:var(--wf-surface)!important;box-shadow:var(--wf-shadow)!important;opacity:1}
:root body.pm-premium #sess.focus-workout #sessRest .rr-room{display:flex!important;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:0!important;position:static!important;padding:18px 0 0!important;min-height:0!important;max-width:none!important;width:100%!important;background:none!important}
:root body.pm-premium #sess.focus-workout #sessRest .rf-word,:root body.pm-premium #sess.focus-workout #sessRest .rr-restlab,:root body.pm-premium #sess.focus-workout #sessRest #sessReady,:root body.pm-premium #sess.focus-workout #sessRest #sessOver,:root body.pm-premium #sess.focus-workout #sessRest #sessRRSkip,:root body.pm-premium #sess.focus-workout #sessRest #sessWhyBtn,:root body.pm-premium #sess.focus-workout #sessRest #sessSwipeHint,:root body.pm-premium #sess.focus-workout #sessRest .rf-rec,:root body.pm-premium #sess.focus-workout #sessRest .rf-readykeys{display:none!important}
:root body.pm-premium #sess.focus-workout #sessRest #sessTimerBox{position:relative!important;width:min(245px,65vw)!important;height:auto!important;aspect-ratio:1!important;min-height:0!important;max-width:none!important;flex:none!important;margin:18px auto 18px!important;transform:none!important;border-radius:50%!important;background:var(--wf-surface)!important;box-shadow:var(--wf-shadow),inset 0 0 0 12px var(--wf-bg)!important}
:root body.pm-premium #sess.focus-workout #sessRest .rr-body{inset:8px!important;background:none!important;box-shadow:none!important;border:0!important}
:root body.pm-premium #sess.focus-workout #sessRest .rr-hole,:root body.pm-premium #sess.focus-workout #sessRest .rr-ring,:root body.pm-premium #sess.focus-workout #sessRest .rr-sheen,:root body.pm-premium #sess.focus-workout #sessRest .rr-ripples{display:none!important}
:root body.pm-premium #sess.focus-workout #sessRest .rr-arc{inset:0!important;width:100%!important;height:100%!important;transform:rotate(-90deg)!important;filter:none!important}
:root body.pm-premium #sess.focus-workout #sessRest .rr-arc-t{stroke:var(--wf-edge)!important;stroke-width:2!important;fill:none!important}
:root body.pm-premium #sess.focus-workout #sessRest .rr-arc-f{stroke:var(--wf-blue)!important;stroke-width:2.5!important;filter:none!important;fill:none!important}
:root body.pm-premium #sess.focus-workout #sessRest .rr-arc-s,:root body.pm-premium #sess.focus-workout #sessRest .rr-arc-h{display:none!important}
:root body.pm-premium #sess.focus-workout #sessRest #sessClock{position:absolute!important;inset:0!important;display:flex!important;align-items:center;justify-content:center;min-height:0!important;line-height:1!important;font-size:49px!important;font-weight:400!important;letter-spacing:-2.5px!important;color:var(--wf-ink)!important;transform:none!important;margin:0!important;padding:0!important;text-shadow:none!important}
:root body.pm-premium #sess.focus-workout #sessRest .rr-keys{order:1;display:flex!important;justify-content:center!important;gap:16px!important;margin:0 0 28px!important;padding:0!important;width:100%!important}
:root body.pm-premium #sess.focus-workout #sessRest .rr-k{display:block!important;font:400 var(--ui-meta,14px)/1.5 var(--sans)!important;min-height:44px!important;min-width:0!important;width:auto!important;padding:10px 18px!important;background:var(--wf-surface)!important;color:var(--wf-quiet)!important;border:1px solid var(--wf-edge)!important;border-radius:16px!important;box-shadow:var(--wf-shadow)!important}
:root body.pm-premium #sess.focus-workout #sessRest .rr-k::before,:root body.pm-premium #sess.focus-workout #sessRest .rr-k::after{display:none!important}
:root body.pm-premium #sess.focus-workout #sessRest #sessNext{order:2;width:100%;margin:0 0 10px!important;padding:0!important}
:root body.pm-premium #sess.focus-workout #sessRest #sessNextB{display:block!important;width:100%;min-height:94px;padding:12px!important;margin:0!important;background:none!important;box-shadow:none!important;border:0!important;text-align:center!important}
:root body.pm-premium #sess.focus-workout #sessRest .rr-nxo,:root body.pm-premium #sess.focus-workout #sessRest .rr-chev,:root body.pm-premium #sess.focus-workout #sessRest .rf-done{display:none!important}
:root body.pm-premium #sess.focus-workout #sessRest .rr-nxt{display:flex!important;flex-direction:column;align-items:center;gap:10px!important;position:static!important}
:root body.pm-premium #sess.focus-workout #sessRest .rr-nxt em{font:400 var(--ui-meta,14px) var(--sans)!important;color:var(--wf-quiet)!important;letter-spacing:0!important}
:root body.pm-premium #sess.focus-workout #sessRest .rf-nm{font:500 17px var(--sans)!important;color:var(--wf-ink)!important;letter-spacing:-.4px!important}
:root body.pm-premium #sess.focus-workout #sessRest .rr-nxt b,:root body.pm-premium #sess.focus-workout #sessRest .rr-nxt small,:root body.pm-premium #sess.focus-workout #sessRest .rr-nxt i{font:400 var(--ui-meta,14px) var(--sans)!important;color:var(--wf-quiet)!important}
:root body.pm-premium #sess.focus-workout.rest-last #sessTimerBox{display:none!important}
:root body.pm-premium #sess.focus-workout.rest-last #sessNext{font-size:18px;text-align:center;color:var(--wf-quiet)}
:root body.pm-premium #sess.focus-workout .sess-flash{position:fixed!important;top:max(70px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);width:max-content;max-width:88%;z-index:4;pointer-events:none}
:root body.pm-premium #sess.focus-workout .sess-flash{background:var(--wf-surface)!important;color:var(--wf-ink)!important;border:1px solid var(--wf-edge)!important;box-shadow:var(--wf-shadow)!important}
:root body.pm-premium #sess.focus-workout .sess-flash *{color:inherit!important}
.wf-sheet{position:fixed;inset:0;max-width:none;max-height:none;width:100%;height:100dvh;border:0;margin:0;background:var(--wf-bg);color:var(--wf-ink);padding:0;overscroll-behavior:contain;font-family:var(--sans);z-index:9999}
.wf-sheet::backdrop{background:var(--wf-bg)}
.wf-sheet-inner{max-width:560px;padding:max(18px,env(safe-area-inset-top)) 28px max(36px,env(safe-area-inset-bottom));margin:auto;min-height:100%}
.wf-sheet header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}
.wf-sheet header button{min-width:64px;min-height:44px;font:400 14px var(--sans);border:0;background:none;color:var(--wf-quiet);text-align:left}
.wf-sheet header span{color:var(--wf-blue);font-size:24px;font-weight:600;letter-spacing:-1px}
.wf-sheet h2{font-size:28px;font-weight:500;letter-spacing:-1px;line-height:1.25;outline:none;margin:0 0 28px;text-wrap:balance}
#wfSheetBody{display:flex;flex-direction:column;gap:22px;min-width:0}
.wf-copy{font-size:15px;font-weight:400;line-height:1.8;color:var(--wf-quiet);max-width:450px}
.wf-guide-figure{height:230px;min-height:230px;max-height:230px;margin:0 auto 10px}
.wf-steps{display:flex;flex-direction:column;gap:16px;list-style:none;counter-reset:guide;margin:0;padding:0}
.wf-steps li{counter-increment:guide;display:grid;grid-template-columns:24px 1fr;gap:12px;font-size:15px;line-height:1.6;color:var(--wf-ink)}
.wf-steps li::before{content:counter(guide,decimal-leading-zero);color:var(--wf-ink);font-size:var(--ui-meta,14px);padding-top:3px}
.wf-choice{display:flex;flex-direction:column;gap:10px;width:100%;min-height:98px;padding:20px;text-align:left;border:1px solid var(--wf-edge);border-radius:18px;background:var(--wf-surface);box-shadow:var(--wf-shadow);color:var(--wf-ink);font-family:var(--sans)}
.wf-choice b{font-size:17px;font-weight:500}.wf-choice span{font-size:var(--ui-meta,14px);line-height:1.6;color:var(--wf-quiet)}.wf-choice[aria-pressed="true"]{border:2px solid var(--wf-blue);padding:19px}
.wf-pref-door{margin-top:24px;min-height:60px;width:100%;font-family:var(--sans);font-size:15px}
:root body.pm-premium .wf-sheet #sessWSel{display:block!important;width:100%!important;max-height:none!important;overflow:visible!important;margin:0!important}
:root body.pm-premium .wf-sheet #sessTrio,:root body.pm-premium .wf-sheet #sessRare,:root body.pm-premium .wf-sheet #sessAdvBody{display:flex!important;flex-direction:column!important;gap:18px!important;background:none!important}
:root body.pm-premium .wf-sheet #sessTrio button,:root body.pm-premium .wf-sheet #sessRare button,:root body.pm-premium .wf-sheet #sessAdvBody button{display:flex!important;align-items:center;justify-content:flex-start;gap:18px;width:100%;min-height:76px!important;padding:18px!important;text-align:left;background:var(--wf-surface)!important;color:var(--wf-ink)!important;border:1px solid var(--wf-edge)!important;border-radius:18px!important;box-shadow:var(--wf-shadow)!important;font-size:15px!important;line-height:1.5!important}
:root body.pm-premium .wf-sheet #sessTrio .hide,:root body.pm-premium .wf-sheet #sessRare .hide{display:none!important}
.wf-sheet .fi{max-width:38px;max-height:38px}.wf-sheet .dt small{display:block;color:var(--wf-quiet);font-size:var(--ui-meta,14px);margin-top:5px}
.wf-sheet #sessWOther,.wf-sheet #sessWhyBtn{background:none!important;box-shadow:none!important;color:var(--wf-quiet)!important;min-height:44px!important;border:0!important;font-size:14px!important}
.wf-sheet #sessWSm{display:flex;justify-content:space-around;gap:12px}.wf-sheet #sessWSm button{min-height:48px;min-width:50px;border:1px solid var(--wf-edge);background:var(--wf-surface);color:var(--wf-ink);border-radius:14px}
.wf-sheet #sessNextMore{display:flex!important;flex-direction:column;gap:24px;border:0!important;background:none!important;padding:0!important;color:var(--wf-ink)!important}
.wf-sheet #sessNextMore .rr-row{display:flex;justify-content:space-between;align-items:center;gap:16px}.wf-sheet .rr-step{display:flex;align-items:center;gap:14px}.wf-sheet .rr-pm{min-width:44px;min-height:44px;color:var(--wf-ink);background:var(--wf-surface);border:1px solid var(--wf-edge);border-radius:50%;font-size:22px}
.wf-sheet #sessNxSwap{min-height:54px;border:0;border-radius:16px;color:var(--wf-button-ink);background:var(--wf-blue);font:500 14px var(--sans)}
:root body.pm-premium #sess.focus-workout.wf-timed .wf-links{display:none!important}
.focus-workout button:focus-visible,.wf-sheet button:focus-visible{outline:2px solid #5684A8!important;outline-offset:4px}
@media(min-width:900px){:root body.pm-premium #sess.focus-workout .sess-main{max-width:650px!important;width:650px!important;padding-left:60px!important;padding-right:60px!important}.wf-anatomy{max-height:410px}.wf-sheet-inner{max-width:650px;padding-left:60px;padding-right:60px}}
@media(max-height:740px){:root body.pm-premium #sess.focus-workout .sess-top{min-height:64px!important}.wf-equipment{min-height:135px;max-height:180px;margin:6px auto}.wf-equipment-art{height:125px}.wf-anatomy{min-height:180px;max-height:260px;margin:10px auto}.wf-anatomy .body-r{min-height:180px!important}:root body.pm-premium #sess.focus-workout .sess-head{padding-top:6px!important}:root body.pm-premium #sess.focus-workout #sessSet{margin-bottom:8px!important}:root body.pm-premium #sess.focus-workout #sessRest #sessTimerBox{width:195px!important;margin:10px auto 14px!important}:root body.pm-premium #sess.focus-workout #sessInstr{margin-top:8px!important}.wf-stats{padding:6px 0;margin-bottom:4px}.wf-links{margin:0 0 6px}:root body.pm-premium #sess.focus-workout .sess-foot{margin-top:10px!important}}
/* v71: on the shortest phones (SE and smaller) the set's one instruction was pushed under Start set; the bar picture gives up the room */
@media(max-height:700px){.wf-equipment{min-height:96px;max-height:130px;margin:0 auto}.wf-equipment-art{height:88px}.wf-equipment-label{padding:4px 12px}}
@media(prefers-reduced-motion:reduce){.focus-workout *,.wf-sheet *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}/* Short phones scroll the task area, while the primary action stays reachable. */

:root body.pm-premium #sess.focus-workout .sess-main{height:100dvh!important;min-height:0!important;overflow:hidden!important}
:root body.pm-premium #sess.focus-workout .sess-body{overflow-y:auto!important;overflow-x:hidden!important;scrollbar-width:none;overscroll-behavior:contain}
:root body.pm-premium #sess.focus-workout #sessWork{flex:1 0 auto!important;overflow:visible!important;min-height:min-content!important}
.wf-sheet header .wf-feedback{position:static;writing-mode:horizontal-tb;transform:none;min-height:44px;min-width:64px;padding:10px 0;border:0;border-radius:0;background:none;color:var(--wf-ink);font:500 var(--ui-meta,14px) var(--sans);box-shadow:none;cursor:pointer;text-align:right}
:root body.pm-premium #sess.focus-workout.wf-actions #sessRepRow{padding:0!important;mask-image:none;overflow:visible!important;min-height:0!important}
:root body.pm-premium #sess.focus-workout.wf-actions .doors{display:flex!important;flex-direction:column;gap:16px!important;width:100%;padding:0!important}
:root body.pm-premium #sess.focus-workout.wf-actions .door{display:flex!important;align-items:center;gap:18px;min-height:78px!important;width:100%;padding:18px!important;background:var(--wf-surface)!important;color:var(--wf-ink)!important;border:1px solid var(--wf-edge)!important;border-radius:18px!important;box-shadow:var(--wf-shadow)!important;text-align:left}
:root body.pm-premium #sess.focus-workout.wf-actions .door small{display:block;margin-top:6px;color:var(--wf-quiet);font-size:var(--ui-meta,14px)}/* Optional starting-weight guidance: one decision on each full-screen view. */

.wf-weight-context{display:block;border:0;background:none;box-shadow:none;color:var(--wf-quiet);font:400 var(--ui-meta,14px)/1.6 var(--sans);min-height:44px;padding:8px 10px;text-align:center;cursor:pointer}
.wf-weight-context[hidden]{display:none}
.wf-trial-art{height:145px;display:flex;justify-content:center;margin:0 auto}.wf-trial-art .wf-equipment-art{height:145px;max-height:145px}
.wf-trial-name{text-align:center;font:400 14px/1.5 var(--sans);color:var(--wf-quiet);margin:0}
.wf-trial-number{text-align:center;font:400 56px/1.1 var(--sans);letter-spacing:-2px;color:var(--wf-ink);margin:4px 0 0}.wf-trial-number small{font-size:22px;letter-spacing:-.3px}
.wf-trial-sub,.wf-trial-history{margin:-14px 0 0;text-align:center;font:400 var(--ui-meta,14px)/1.7 var(--sans);color:var(--wf-quiet)}
.wf-trial-label{text-align:center;font:500 var(--ui-meta,14px)/1.5 var(--sans);color:var(--wf-ink)}
:root body.pm-premium .wf-sheet .wf-trial-input{width:100%;max-width:250px;min-height:80px;margin:-8px auto 0;padding:10px 16px;border:1px solid var(--wf-edge);border-radius:20px;text-align:center;background:var(--wf-surface);color:var(--wf-ink);font:400 44px/1.2 var(--sans);box-shadow:var(--wf-shadow);appearance:textfield}
.wf-trial-input:focus-visible{outline:2px solid var(--wf-blue);outline-offset:3px}.wf-trial-input::-webkit-inner-spin-button{appearance:none}
.wf-trial-error{font:400 var(--ui-meta,14px)/1.6 var(--sans);color:var(--wf-ink);text-align:center;margin:0}.wf-trial-error:empty{display:none}
.wf-trial-note{font:400 var(--ui-meta,14px)/1.5 var(--sans);text-align:center;color:var(--wf-quiet);margin:0 0 10px}
@media(max-height:740px){.wf-trial-art,.wf-trial-art .wf-equipment-art{height:100px;max-height:100px}}/* v63: the exact-weight key is a real key, not a quiet link (a tester could not find 22.5) */


.wf-key{appearance:none;display:block;width:min(100%,320px);margin:8px auto 0;min-height:50px;padding:12px 22px;border:1.5px solid var(--wf-blue);border-radius:16px;background:var(--wf-surface);box-shadow:var(--wf-shadow);color:var(--wf-button-ink);font:600 15px/1.3 var(--sans);cursor:pointer}
.wf-key:active{transform:scale(.985)}
:root[data-theme="dark"] .wf-key{color:var(--wf-blue)}/* v63: the set in progress breathes: a blue dot beside the set line while the set runs */

:root body.pm-premium #sess.focus-workout #sessSet.wf-live{color:var(--wf-button-ink)!important;font-weight:600!important}
:root body.pm-premium #sess.focus-workout #sessSet.wf-live::before{content:"";display:inline-block;width:9px;height:9px;border-radius:50%;margin:0 8px 1px 0;background:var(--wf-blue);box-shadow:0 0 0 0 rgba(167,207,242,.7);animation:wfLive 1.6s ease-out infinite;vertical-align:middle}
@keyframes wfLive{0%{box-shadow:0 0 0 0 rgba(167,207,242,.75)}70%{box-shadow:0 0 0 9px rgba(167,207,242,0)}100%{box-shadow:0 0 0 0 rgba(167,207,242,0)}}
:root body.pm-premium #sess.focus-workout[data-focus="sessRun"] .wf-anatomy{animation:wfBreathe 3.2s ease-in-out infinite}
@keyframes wfBreathe{0%,100%{transform:scale(1)}50%{transform:scale(1.025)}}/* v63: blue where the eye lands: the big number, the stats, the +/- keys, the sheet pin */

:root body.pm-premium #sess.focus-workout #sessWBig b{color:var(--wf-button-ink)!important}
:root body.pm-premium #sess.focus-workout .wbig-step{border:1px solid rgba(167,207,242,.6)!important;color:var(--wf-button-ink)!important}
.wf-stats b{color:var(--wf-button-ink)}
:root body.pm-premium #sess.focus-workout #sessRepRow .rep.tgt:not(.selected){color:var(--wf-button-ink)!important;border-bottom:2px solid var(--wf-blue)!important}
:root[data-theme="dark"] body.pm-premium #sess.focus-workout #sessWBig b,:root[data-theme="dark"] .wf-stats b,:root[data-theme="dark"] body.pm-premium #sess.focus-workout .wbig-step,:root[data-theme="dark"] body.pm-premium #sess.focus-workout #sessSet.wf-live{color:var(--wf-blue)!important}/* a hold counts up; the number turns auxe ink when the target is met. Bodyweight never clips. */


.wf-stats .wf-hold b{font-variant-numeric:tabular-nums}.wf-stats .wf-hold.met b{color:#163E63;font-weight:600}.wf-stats b.wf-bw{font-size:22px;line-height:1.7;letter-spacing:-.3px;overflow-wrap:anywhere}/* In use: the prominent way out when the machine is taken (20 Oct 2026); one line, so the set screen still fits */


:root body.pm-premium #sess.focus-workout .wf-inuse{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;margin:0 0 8px;padding:9px 16px;min-height:44px;border-radius:14px;border:0;
  background:linear-gradient(180deg,rgba(255,255,255,.25) 0%,rgba(255,255,255,0) 100%),#A7CFF2;color:#10263A;box-shadow:0 10px 22px -14px rgba(41,75,101,.6);font-family:inherit;cursor:pointer}
:root body.pm-premium #sess.focus-workout .wf-inuse[hidden]{display:none}
:root body.pm-premium #sess.focus-workout .wf-inuse b{font-size:17px;font-weight:800}
:root body.pm-premium #sess.focus-workout .wf-inuse span{font-size:14.5px;font-weight:600}/* a beginner's first weight: one line, the number big enough to read across a gym */

:root body.pm-premium #sess.focus-workout .wf-starter{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin:0 0 8px;padding:6px 8px 6px 16px;min-height:48px;border-radius:16px;border:2px solid #A7CFF2;background:var(--wf-surface);color:var(--wf-ink);font-family:inherit;cursor:pointer;box-shadow:var(--wf-shadow)}
:root body.pm-premium #sess.focus-workout .wf-starter[hidden]{display:none}
:root body.pm-premium #sess.focus-workout .wf-starter span{font-size:15px;font-weight:700}
:root body.pm-premium #sess.focus-workout .wf-starter span b{font-size:22px;font-weight:800;letter-spacing:-.01em;font-variant-numeric:tabular-nums;margin-left:4px}
:root body.pm-premium #sess.focus-workout .wf-starter em{font-style:normal;font-size:15px;font-weight:800;padding:9px 16px;border-radius:999px;background:#A7CFF2;color:#10263A}/* with In use or a first weight on screen, the equipment picture gives up the room they take */

:root body.pm-premium #sess.focus-workout.wf-extra-rows .wf-equipment-art{max-height:70px;overflow:hidden}
:root body.pm-premium #sess.focus-workout.wf-extra-rows .wf-equipment-art img,:root body.pm-premium #sess.focus-workout.wf-extra-rows .wf-equipment-art svg{max-height:70px;width:auto}
:root body.pm-premium #sess.focus-workout.wf-extra-rows .wf-equipment{min-height:0;max-height:120px;flex:0 0 auto;margin:6px auto 8px}/* owner, 20 Oct 2026: no glowing dot beside "in progress" */

:root body.pm-premium #sess.focus-workout #sessSet.wf-live::before{content:none!important;display:none!important;animation:none!important}/* the rep choices read as auxe blue buttons, not grey numbers; the selected one stays the strongest */

:root body.pm-premium #sess.focus-workout #sessRepRow .rep:not(.selected){background:rgba(167,207,242,.30)!important;border:1px solid rgba(143,179,204,.45)!important;color:var(--wf-button-ink)!important;opacity:1!important}
:root[data-theme="dark"] body.pm-premium #sess.focus-workout #sessRepRow .rep:not(.selected){background:rgba(167,207,242,.16)!important;color:var(--wf-blue)!important}/* Enter another number and Set options are real buttons */

:root body.pm-premium #sess.focus-workout #sessAnother,:root body.pm-premium #sess.focus-workout #wfSetTools{display:flex!important;align-items:center;justify-content:center;width:min(100%,300px)!important;min-height:50px!important;margin:0 auto!important;padding:12px 18px!important;border-radius:999px!important;border:1.5px solid #A7CFF2!important;background:rgba(167,207,242,.14)!important;box-shadow:none!important;color:var(--wf-button-ink)!important;font:700 15px/1.2 var(--sans)!important}
:root[data-theme="dark"] body.pm-premium #sess.focus-workout #sessAnother,:root[data-theme="dark"] body.pm-premium #sess.focus-workout #wfSetTools{color:var(--wf-blue)!important}/* Learn this exercise: a blue button with a play mark */

:root body.pm-premium #sess.focus-workout #wfGuide,:root body.pm-premium #sess.focus-workout #sessInstr #sessTipsBtn{display:inline-flex!important;align-items:center;justify-content:center;gap:9px;min-height:48px!important;padding:11px 20px!important;border-radius:999px!important;border:0!important;background:#A7CFF2!important;color:#10263A!important;font:800 15px/1.2 var(--sans)!important;box-shadow:0 8px 18px -12px rgba(34,71,97,.45)!important;text-decoration:none!important}
:root body.pm-premium #sess.focus-workout #wfGuide i,:root body.pm-premium #sess.focus-workout #sessInstr #sessTipsBtn i{width:0;height:0;border-style:solid;border-width:6px 0 6px 10px;border-color:transparent transparent transparent #10263A}
:root body.pm-premium #sess.focus-workout #wfGuide,:root body.pm-premium #sess.focus-workout #wfChangeWeight{white-space:nowrap!important;flex:none!important}
@media(max-width:380px){:root body.pm-premium #sess.focus-workout #wfGuide{font-size:14px!important;padding:10px 15px!important;gap:7px}.wf-links{gap:10px}}
/* short phones with In use or a first weight showing: the equipment picture steps aside so every control fits above Start set */
@media(max-height:700px){:root body.pm-premium #sess.focus-workout.wf-extra-rows .wf-equipment-art{display:none!important}:root body.pm-premium #sess.focus-workout.wf-extra-rows .wf-equipment{max-height:52px;margin:2px auto 4px}:root body.pm-premium #sess.focus-workout.wf-extra-rows .wf-inuse,:root body.pm-premium #sess.focus-workout.wf-extra-rows .wf-starter{margin-top:4px!important;margin-bottom:4px!important}}/* the live figure: front and back side by side */

.wf-anatomy .wf-anat2{display:flex;align-items:stretch;justify-content:center;gap:4px;width:100%;height:100%}
.wf-anatomy .wf-anat-side{position:relative;flex:1 1 0;min-width:0;display:flex;align-items:center;justify-content:center}
.wf-anatomy .wf-anat-side .body-r{aspect-ratio:1/2!important;width:auto!important;height:100%!important;max-height:370px;min-height:0!important}/* the muscles that help are lit clearly enough to see, still lighter than the main one */

.wf-anatomy .body-r .br-layer.bm-ok{opacity:.62!important}
