/* ============================================================
   VISUAL REBUILD 2. One product: the shared primitives every screen
   uses (slab sheets, carved inputs, ceramic keys, sculpted nav icons),
   Home and Workout finished below their heroes, and the live room.
   ============================================================ */

:root:not([data-theme="dark"]){
  --vr-slab:linear-gradient(180deg,#FBFCFD 0%,#F3F2EF 100%);
  --vr-key:linear-gradient(180deg,#FFFFFF 0%,#F2F1EE 100%);
  --vr-key-edge:0 1px 0 #fff inset,0 -1px 0 rgba(30,31,33,.08) inset,0 1px 2px rgba(30,31,33,.08),0 6px 14px -10px rgba(30,31,33,.45);
  --vr-graphite:linear-gradient(180deg,#363738 0%,#1A1B1C 100%);
  --vr-graphite-edge:0 1px 0 rgba(255,255,255,.14) inset,0 -2px 0 rgba(0,0,0,.35) inset,0 10px 20px -12px rgba(30,31,33,.7);
  --vr-steelfill:linear-gradient(180deg,rgba(255,255,255,0.23) 0%,rgba(28,29,30,0.04) 100%),linear-gradient(#A7CFF2,#A7CFF2);
}/* ---------- SHEETS: one heavy ceramic slab, the room recedes behind it ---------- */

:root:not([data-theme="dark"]) body.pm-premium .sheet,
:root:not([data-theme="dark"]) body.pm-premium .pfs-card,
:root:not([data-theme="dark"]) body.pm-premium .phr-sheet-card,
:root:not([data-theme="dark"]) body.pm-premium .rf-sheet-card{
  background:var(--vr-slab)!important;border:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;
  border-radius:30px 30px 0 0!important;padding-top:26px!important;
  box-shadow:0 1px 0 #fff inset,0 -2px 0 rgba(255,255,255,.9) inset,0 -26px 60px -24px rgba(30,31,33,.55)!important}
:root:not([data-theme="dark"]) body.pm-premium .sheet::before,
:root:not([data-theme="dark"]) body.pm-premium .pfs-card::before{content:"";position:absolute;left:50%;top:10px;width:44px;height:5px;margin-left:-22px;border-radius:5px;
  background:rgba(34,35,36,.16);box-shadow:inset 0 1px 1px rgba(30,31,33,.2)}
:root:not([data-theme="dark"]) body.pm-premium .sheet-bg,
:root:not([data-theme="dark"]) body.pm-premium .pfs-bg,
:root:not([data-theme="dark"]) body.pm-premium .fdlg-bg,
:root:not([data-theme="dark"]) body.pm-premium .rf-sheet-bg,
:root:not([data-theme="dark"]) body.pm-premium .phr-sheet-bg{background:rgba(22,23,24,.38)!important;-webkit-backdrop-filter:blur(3px) saturate(.8)!important;backdrop-filter:blur(3px) saturate(.8)!important}
:root:not([data-theme="dark"]) body.pm-premium .fdlg-card{background:var(--vr-slab)!important;border:none!important;border-radius:26px!important;
  box-shadow:0 1px 0 #fff inset,0 30px 60px -24px rgba(30,31,33,.6)!important}
body.pm-premium .sheet-h h3,body.pm-premium .pfs-h h3,body.pm-premium .fdlg-t{font-size:22px!important;font-weight:800!important;letter-spacing:-.025em!important;color:var(--ink)!important}
:root:not([data-theme="dark"]) body.pm-premium .sheet-x{width:38px;height:38px;border-radius:12px;border:none!important;background:var(--vr-key)!important;box-shadow:var(--vr-key-edge)!important;color:var(--ink-2)!important;font-size:22px}
@media (min-width:900px){
  :root:not([data-theme="dark"]) body.pm-premium .sheet,:root:not([data-theme="dark"]) body.pm-premium .pfs-card{border-radius:30px!important;margin-bottom:4vh}
}/* ---------- INPUTS: carved into the surface, never a blue outline ---------- */

:root:not([data-theme="dark"]) body.pm-premium input[type=text]:not(.we-input),:root:not([data-theme="dark"]) body.pm-premium input[type=number]:not(.we-input),
:root:not([data-theme="dark"]) body.pm-premium input[type=search]:not(.we-input),:root:not([data-theme="dark"]) body.pm-premium input[type=email]:not(.we-input),
:root:not([data-theme="dark"]) body.pm-premium input[type=password]:not(.we-input),:root:not([data-theme="dark"]) body.pm-premium textarea,
:root:not([data-theme="dark"]) body.pm-premium select{
  background:linear-gradient(180deg,#EAE9E6 0%,#F3F2EF 100%)!important;border:none!important;border-radius:14px!important;
  box-shadow:inset 0 2px 5px rgba(30,31,33,.14),inset 0 -1px 0 rgba(255,255,255,.9)!important;color:var(--ink)!important;outline:none!important}
:root:not([data-theme="dark"]) body.pm-premium input:not(.we-input):focus,:root:not([data-theme="dark"]) body.pm-premium textarea:focus,:root:not([data-theme="dark"]) body.pm-premium select:focus{
  box-shadow:inset 0 2px 5px rgba(30,31,33,.14),0 0 0 2px rgba(135,146,162,.45)!important}
body.pm-premium input::placeholder,body.pm-premium textarea::placeholder{color:var(--t-ink4,#7C8693)!important}/* ---------- KEYS: ceramic when idle, graphite when chosen ---------- */

:root:not([data-theme="dark"]) body.pm-premium .opt,:root:not([data-theme="dark"]) body.pm-premium .chip,
:root:not([data-theme="dark"]) body.pm-premium .mini,:root:not([data-theme="dark"]) body.pm-premium .srchips button,
:root:not([data-theme="dark"]) body.pm-premium .onb-chip,:root:not([data-theme="dark"]) body.pm-premium .qstep,
:root:not([data-theme="dark"]) body.pm-premium .gpick,:root:not([data-theme="dark"]) body.pm-premium .bex{
  background:var(--vr-key)!important;border:none!important;box-shadow:var(--vr-key-edge)!important;color:var(--ink)!important}
:root:not([data-theme="dark"]) body.pm-premium .opt.sel,:root:not([data-theme="dark"]) body.pm-premium .opt.on,
:root:not([data-theme="dark"]) body.pm-premium .chip.on,:root:not([data-theme="dark"]) body.pm-premium .srchips button.on{
  background:var(--vr-graphite)!important;color:var(--on-key,#fff)!important;box-shadow:var(--vr-graphite-edge)!important}/* the old round plus and minus become carved steppers */

:root:not([data-theme="dark"]) body.pm-premium .qstep{border-radius:12px!important;width:48px!important;height:44px!important;font-size:22px!important;font-weight:700!important}
:root:not([data-theme="dark"]) body.pm-premium #ctl-food .qrow button,:root:not([data-theme="dark"]) body.pm-premium .budrow button{
  border-radius:12px!important;background:var(--vr-key)!important;color:var(--ink)!important;box-shadow:var(--vr-key-edge)!important;border:none!important}/* small grey helper text reads, it does not whisper */

body.pm-premium .sheet .m,body.pm-premium .pfs-body .tgtline,body.pm-premium .fsnote,body.pm-premium .fdlg-p{font-size:var(--ui-meta,14px)!important;color:var(--ink-2)!important}/* the add exercise sheet: rows are keys, counts are readings */

body.pm-premium #addSheet .gpick{padding:17px 18px!important;border-radius:18px!important;margin-bottom:10px!important}
body.pm-premium #addSheet .gpick .gn{font-size:18px!important;font-weight:700!important}
body.pm-premium #addSheet .gpick .gc{font-family:var(--vr-num)!important;font-size:15px!important;font-weight:700!important;color:var(--ink-3)!important;
  padding:4px 10px;border-radius:10px;background:linear-gradient(180deg,#E9E8E5,#F2F1EE);box-shadow:var(--vr-well)}
body.pm-premium #addSheet .bex{border-radius:16px!important;margin-bottom:8px!important;padding:12px 12px!important}
body.pm-premium #addSheet .bex .add{border:none!important;background:var(--vr-graphite)!important;color:var(--on-key,#fff)!important;box-shadow:var(--vr-graphite-edge)!important;border-radius:10px!important}
body.pm-premium #addSheet .card{background:none!important;box-shadow:none!important;padding:0!important}
body.pm-premium #addSheet #exDone{background:var(--vr-graphite)!important;color:var(--on-key,#fff)!important}
body.pm-premium #foodSheet .fres>*{border-radius:16px}
body.pm-premium .fdlg .fdlg-opts button{background:var(--vr-key)!important;border:none!important;box-shadow:var(--vr-key-edge)!important;border-radius:16px!important}/* ---------- NAV: sculpted objects, ceramic idle, graphite chosen ---------- */


.tabs .ni,.topnav .ni{width:28px;height:28px;display:block;overflow:visible}
.tabs .ni .nb,.topnav .ni .nb{fill:url(#niCer);stroke:rgba(34,35,36,.42);stroke-width:1.1}
.tabs .ni .nh,.topnav .ni .nh{fill:#fff;opacity:.75}
.tabs .ni .nc,.topnav .ni .nc{fill:rgba(34,35,36,.55)}
.tabs button.on .ni .nb,.topnav .tn-tabs button.on .ni .nb{fill:url(#niGra);stroke:#111213}
.tabs button.on .ni .nh,.topnav .tn-tabs button.on .ni .nh{opacity:.22}
.tabs button.on .ni .nc,.topnav .tn-tabs button.on .ni .nc{fill:#A7CFF2}
:root:not([data-theme="dark"]) body.pm-premium .tabs button svg.ni{width:28px!important;height:28px!important;stroke:none!important;filter:drop-shadow(0 2px 2px rgba(30,31,33,.22))}
:root:not([data-theme="dark"]) body.pm-premium .tabs button.on svg.ni{transform:translateY(-2px) scale(1.06)!important;filter:drop-shadow(0 4px 4px rgba(30,31,33,.35))}
body.pm-premium .topnav .tn-tabs button svg.ni{width:24px!important;height:24px!important;stroke:none!important}/* ============================ HOME, below the hero ============================ */


body.pm-premium #today #todaySub{display:none!important}
body.pm-premium #homeBanner,body.pm-premium #searchPill{display:none!important}
body.pm-premium #today .hero-top{gap:10px}
body.pm-premium #today .hero-top .kicker.wm{margin-right:auto}
.hsearch{flex:none;width:44px;height:44px;border-radius:14px;border:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;
  background:var(--vr-key,#fff);box-shadow:var(--vr-key-edge);color:var(--ink)}
.hsearch svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
@media (min-width:900px){.hsearch{display:none}.hsearch.hgear{display:inline-flex}}/* one Start: the slab's own control *//* the lower half: insight, what is next, water only when it helps, the save row last and quiet */

body.pm-premium #today #homeCoach{margin-top:18px}
body.pm-premium #today #homeWater{margin:18px auto 0;display:flex}
body.pm-premium #today #homeWater.hide{display:none}
body.pm-premium #today #saveCard{margin-top:22px;padding:14px 16px!important;border-radius:18px!important;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
body.pm-premium #today #saveCard .ac-h{font-size:15px;font-weight:800}
body.pm-premium #today #saveCard .ac-sub{font-size:var(--ui-meta,14px);color:var(--ink-2)}
body.pm-premium #today #saveCard.hide{display:none!important}
body.pm-premium #today #homeNextSec{margin-top:26px}
body.pm-premium #today #homeNextSec .sec-head{margin-bottom:4px}/* ============================ WORKOUT, below the hero ============================ */


body.pm-premium #wkSeq,body.pm-premium .wk-fab{display:none!important}
body.pm-premium #progress .hero-sec{margin-top:26px}
body.pm-premium #progress #homeMetric,body.pm-premium #progress #homeCoach,body.pm-premium #progress #lifts .rest{display:none!important}
body.pm-premium #progress #trainHeadRow h2{font-size:21px}/* the one list: alternating visual rows that open to log */

body.pm-premium #progress #lifts{background:none!important;box-shadow:none!important;padding:0!important;border:none!important}
body.pm-premium #progress #lifts .lift{border:none!important;margin:0 0 12px!important;padding:0!important;border-radius:22px;background:var(--vr-ceramic);box-shadow:var(--vr-edge),var(--vr-lift);overflow:hidden}
body.pm-premium #progress #lifts .lift-top{display:grid!important;grid-template-columns:108px minmax(0,1fr) 26px;align-items:center;gap:0 14px;padding:12px 10px 12px 12px!important;min-height:112px}
body.pm-premium #progress #lifts .lglyph{position:relative;width:108px!important;height:92px!important;border-radius:16px!important;display:flex!important;align-items:center;justify-content:center;
  background:radial-gradient(80% 70% at 50% 58%,#FFFFFF 0%,rgba(255,255,255,0) 70%),linear-gradient(180deg,#ECEBE8 0%,#F7F6F3 100%)!important;box-shadow:var(--vr-well)!important;border:none!important;overflow:visible;cursor:grab;touch-action:none}
body.pm-premium #progress #lifts .lglyph img{max-width:118%!important;max-height:86px!important;width:auto!important;height:auto!important;object-fit:contain;filter:drop-shadow(0 10px 10px rgba(30,31,33,.28))}
body.pm-premium #progress #lifts .lglyph .lg-obj{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative}
body.pm-premium #progress #lifts .lglyph::after{content:"";position:absolute;right:6px;top:6px;width:10px;height:14px;opacity:.5;
  background:radial-gradient(circle,#8792A2 1.3px,transparent 1.5px) 0 0/5px 5px}
body.pm-premium #progress #lifts .lglyph>svg{width:40px;height:40px;stroke:var(--ink-3)}
body.pm-premium #progress #lifts .nm{font-size:17px!important;font-weight:700!important;letter-spacing:-.02em;line-height:1.15}
body.pm-premium #progress #lifts .lsub{font-size:var(--ui-meta,14px)!important;color:var(--ink-3)!important;margin-top:2px}
body.pm-premium #progress #lifts .ldots{display:flex;align-items:center;gap:5px;margin-top:6px}
body.pm-premium #progress #lifts .ldots i{width:18px!important;height:6px!important;border-radius:3px!important;background:rgba(34,35,36,.12)!important;box-shadow:inset 0 1px 2px rgba(30,31,33,.18)}
body.pm-premium #progress #lifts .ldots i.on,body.pm-premium #progress #lifts .ldots i.done{background:var(--vr-steelfill)!important}
body.pm-premium #progress #lifts .ldots b{font-size:var(--ui-meta,14px);color:var(--ink-3);margin-left:4px}
body.pm-premium #progress #lifts .ltarget{display:inline-block;margin-top:8px;padding:6px 10px 5px!important;border-radius:10px!important;border:none!important;
  background:linear-gradient(180deg,#E9E8E5 0%,#F2F1EE 100%)!important;box-shadow:var(--vr-well)!important;font-family:var(--vr-num);font-size:15px!important;font-weight:700!important;color:var(--ink)!important;letter-spacing:-.02em}
body.pm-premium #progress #lifts .ltarget.up{color:var(--vr-steel-deep)!important}
body.pm-premium #progress #lifts .lchev{align-self:center;justify-self:center;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--vr-key);box-shadow:var(--vr-key-edge);color:var(--ink-3);font-size:18px}
body.pm-premium #progress #lifts .lswap{display:inline-block;margin-top:8px;margin-left:10px;border:none;background:none;padding:4px 0;font:inherit;font-size:var(--ui-meta,14px);font-weight:800;color:var(--vr-steel);cursor:pointer}
body.pm-premium #progress #lifts .setpad{margin:0 12px 12px}
body.pm-premium #progress #lifts .lift.drag{transform:scale(1.02);box-shadow:var(--vr-edge),var(--vr-lift-2)}/* adding is part of the list, and the day's rarer moves sit quiet under it */

body.pm-premium #progress #addExBtn{margin-top:4px!important;display:flex;align-items:center;justify-content:center;gap:10px;min-height:58px;border-radius:18px!important;
  background:var(--vr-key)!important;color:var(--ink)!important;box-shadow:var(--vr-key-edge)!important;font-size:16px!important;font-weight:800!important}
body.pm-premium #progress #addExBtn::before{content:"+";font-size:22px;font-weight:700;line-height:1;margin-top:-2px}
body.pm-premium #progress #restDayBtn,body.pm-premium #progress #swapBtn{display:inline-flex!important;width:auto!important;margin:12px 8px 0 0!important;padding:10px 14px!important;border-radius:12px!important;
  font-family:var(--sans)!important;font-size:var(--ui-meta,14px)!important;font-weight:700!important;letter-spacing:0!important;text-transform:none!important}
body.pm-premium #progress #restDayBtn.hide,body.pm-premium #progress #swapBtn.hide{display:none!important}
body.pm-premium #progress #homeDone{border-radius:22px!important}/* the week: keys, with the two planning doors as quiet links */

body.pm-premium #progress .wk-week{margin-top:30px}
body.pm-premium #progress .wk-weekbtns{display:flex;gap:18px;margin-top:12px}
body.pm-premium #progress .wk-weekbtns .btn{width:auto!important;padding:6px 0!important;min-height:0!important;background:none!important;box-shadow:none!important;border:none!important;
  color:var(--vr-steel)!important;font-family:var(--sans)!important;font-size:14px!important;font-weight:800!important;letter-spacing:0!important;text-transform:none!important}/* your training: one panel of rows, balance first and secondary */

body.pm-premium #wkRail{margin-top:30px;padding:16px 16px 6px;border-radius:24px;background:var(--vr-ceramic);box-shadow:var(--vr-edge),var(--vr-lift)}
body.pm-premium #wkRail::before{content:"Your training";display:block;font-size:21px;font-weight:700;letter-spacing:-.025em;color:var(--ink);margin:2px 2px 8px}
body.pm-premium #wkRail .sec{margin:0!important}
body.pm-premium #wkRail .reveal-h{background:none!important;border:none!important;box-shadow:none!important;border-radius:0!important;margin:0!important;padding:14px 2px!important;border-top:1px solid rgba(34,35,36,.08)!important}
body.pm-premium #wkRail .reveal-h h2{font-size:16.5px!important;font-weight:700!important}
body.pm-premium #wkRail .reveal-body{padding:4px 0 14px}
body.pm-premium #wkRail #secBalance .reveal-h{border-top:none!important}
body.pm-premium #wkRail #whubEmpty{padding:10px 2px;font-size:14px}
@media (min-width:1140px){body.pm-premium #wkRail{margin-top:0}}/* ============================ LIVE WORKOUT ============================ *//* the stage: the exercise and its loaded object own the top third */



:root:not([data-theme="dark"]) body.pm-premium .sess .sess-head{position:relative;display:block!important;min-height:clamp(176px,24vh,226px);margin:6px 0 10px;padding:18px 18px 16px;border-radius:26px;overflow:hidden;
  background:radial-gradient(120% 90% at 70% 100%,rgba(255,255,255,.95) 0%,rgba(255,255,255,0) 60%),linear-gradient(180deg,#F3F2EF 0%,#E5E4E1 100%);
  box-shadow:var(--vr-edge),var(--vr-lift)}
body.pm-premium .sess .sess-head::after{content:"";position:absolute;left:8%;right:8%;bottom:26px;height:14px;border-radius:50%;background:radial-gradient(closest-side,rgba(34,35,36,.22),rgba(34,35,36,0));pointer-events:none}
body.pm-premium .sess .sess-headtxt{position:static!important;max-width:70%}
body.pm-premium .sess #sessLift,body.pm-premium .sess #sessSet{position:relative;z-index:3}
body.pm-premium .sess #sessLift{font-size:clamp(26px,7.6vw,34px)!important;font-weight:800!important;letter-spacing:-.035em!important;line-height:1.02!important}
body.pm-premium .sess #sessSet{font-size:14.5px!important;font-weight:700!important;color:var(--ink-3)!important;margin-top:4px}
body.pm-premium .sess .sess-video{position:absolute!important;left:14px;bottom:14px;z-index:4;margin:0!important;padding:6px 12px 6px 6px!important;border-radius:14px!important;border:none!important;
  background:var(--vr-key)!important;box-shadow:var(--vr-key-edge)!important;font-size:var(--ui-meta,14px)!important}
body.pm-premium .sess .sess-video .sv-th{width:30px!important;height:30px!important}
body.pm-premium .sess .sess-mini{position:absolute!important;right:10px;top:10px;width:48px!important;height:96px;z-index:3;opacity:.95}
body.pm-premium .sess .sess-mini .body-r,body.pm-premium .sess .sess-mini svg{width:48px!important}
.sess-stage{position:absolute;left:8%;right:4%;bottom:22px;height:62%;z-index:2;display:flex;align-items:flex-end;justify-content:center;pointer-events:none}
.sess-stage .loadvis{position:absolute!important;left:0;right:0;bottom:10%;margin:0 auto!important;width:100%;max-width:330px;height:auto!important;z-index:2}
.sess-stage .lv{width:100%}
.sess-stage .wl-bench{position:absolute;left:50%;bottom:0;width:44%;max-height:78%;object-fit:contain;transform:translateX(-50%);z-index:1;filter:drop-shadow(0 10px 10px rgba(30,31,33,.25))}
.sess-stage.benched .loadvis{bottom:52%}
.sess-stage img{max-height:100%;max-width:62%;object-fit:contain;filter:drop-shadow(0 14px 14px rgba(30,31,33,.28))}
.sess-stage .ob-set{position:relative;display:block;width:70%;height:100%}
.sess-stage .ob-set img{position:absolute}
.sess-stage .stg-obj{max-height:100%}
body.pm-premium .sess #sessWLoad,body.pm-premium .sess #sessRunLoad{display:none!important}
body.pm-premium .sess #sessWStep.has-hero::before{content:none!important}/* rest: the stage steps down to a name plate, nothing competes with the clock */

:root:not([data-theme="dark"]) body.pm-premium .sess.resting .sess-head{min-height:0!important;padding:14px 18px!important}
body.pm-premium .sess.resting .sess-stage,body.pm-premium .sess.resting .sess-video,body.pm-premium .sess.resting .sess-mini,body.pm-premium .sess.resting .sess-head::after{display:none!important}/* sets: one carved channel, segments that fill */

:root:not([data-theme="dark"]) body.pm-premium .sess .setstrip{display:flex!important;gap:4px!important;padding:5px!important;margin:0 0 12px!important;border-radius:16px;
  background:linear-gradient(180deg,#E8E7E4 0%,#F1F0ED 100%);box-shadow:var(--vr-well)}
:root:not([data-theme="dark"]) body.pm-premium .sess .setstrip i{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:7px 2px!important;border-radius:11px!important;
  border:none!important;background:transparent!important;box-shadow:none!important;color:var(--ink-3)!important}
:root:not([data-theme="dark"]) body.pm-premium .sess .setstrip i b{font-size:14px;font-weight:800}
:root:not([data-theme="dark"]) body.pm-premium .sess .setstrip i span{font-size:var(--ui-meta,14px);font-weight:700;font-family:var(--vr-num)}
:root:not([data-theme="dark"]) body.pm-premium .sess .setstrip i.done{background:var(--vr-steelfill)!important;color:#fff!important;box-shadow:0 1px 0 rgba(255,255,255,.35) inset!important}
:root:not([data-theme="dark"]) body.pm-premium .sess .setstrip i.now{background:var(--vr-graphite)!important;color:var(--on-key,#fff)!important;box-shadow:var(--vr-graphite-edge)!important}/* weight: a recessed instrument, the steps carved into its ends */

:root:not([data-theme="dark"]) body.pm-premium .sess .wsrow{display:grid!important;grid-template-columns:62px minmax(0,1fr) 62px;align-items:stretch;gap:0!important;padding:6px;border-radius:22px;margin-top:6px!important;
  background:linear-gradient(180deg,#E4E3E0 0%,#EFEEEB 100%);box-shadow:inset 0 3px 8px rgba(30,31,33,.18),inset 0 -1px 0 rgba(255,255,255,.95)}
:root:not([data-theme="dark"]) body.pm-premium .sess .wbig-step{width:auto!important;height:auto!important;min-height:92px;border-radius:16px!important;border:none!important;
  background:var(--vr-key)!important;box-shadow:var(--vr-key-edge)!important;color:var(--ink)!important;font-size:28px!important;font-weight:600!important}
:root:not([data-theme="dark"]) body.pm-premium .sess .wbig-step:active{box-shadow:inset 0 2px 5px rgba(30,31,33,.2)!important;transform:translateY(1px)}
:root:not([data-theme="dark"]) body.pm-premium .sess .wbig{background:none!important;border:none!important;box-shadow:none!important;padding:6px 4px!important;min-width:0}
:root:not([data-theme="dark"]) body.pm-premium .sess .wbig b{font-family:var(--vr-num);font-size:clamp(44px,13vw,60px);font-weight:700;letter-spacing:-.045em}
:root:not([data-theme="dark"]) body.pm-premium .sess .wbig b.wtxt{font-size:clamp(28px,8.5vw,40px)}
:root:not([data-theme="dark"]) body.pm-premium .sess .wbig small{font-size:var(--ui-meta,14px)!important;color:var(--ink-3)!important}
.wplates{margin-top:10px;text-align:center;font-size:14.5px;font-weight:700;color:var(--ink-2);font-variant-numeric:tabular-nums}
.wplates b{font-family:var(--vr-num,inherit);color:var(--ink)}
.wplates.hide{display:none}
:root:not([data-theme="dark"]) body.pm-premium .sess .wsmall{display:flex;justify-content:center;gap:8px;margin-top:10px!important}
:root:not([data-theme="dark"]) body.pm-premium .sess .wsmall button{min-width:54px;padding:8px 10px!important;border-radius:12px!important;border:none!important;background:var(--vr-key)!important;box-shadow:var(--vr-key-edge)!important;
  font-family:var(--vr-num);font-size:14px!important;font-weight:700!important;color:var(--ink-2)!important}
body.pm-premium .sess .sess-instr{font-size:14px!important;color:var(--ink-2)!important;text-align:center}/* the running set: the clock, the weight as a reading */

:root:not([data-theme="dark"]) body.pm-premium .sess .runw{border:none!important;background:linear-gradient(180deg,#E9E8E5 0%,#F2F1EE 100%)!important;box-shadow:var(--vr-well)!important;border-radius:14px!important;color:var(--ink)!important}
:root:not([data-theme="dark"]) body.pm-premium .sess .runw b{font-family:var(--vr-num)}
:root:not([data-theme="dark"]) body.pm-premium .sess .runw i{color:var(--vr-steel)!important}/* reps: big keys you can hit with a thumb, the target range marked in steel */

:root:not([data-theme="dark"]) body.pm-premium .sess .reprow{display:flex!important;flex-wrap:nowrap!important;gap:8px!important;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;
  padding:10px 6px 14px!important;margin:6px -6px 0!important;scrollbar-width:none;-webkit-overflow-scrolling:touch}
body.pm-premium .sess .reprow::-webkit-scrollbar{display:none}
:root:not([data-theme="dark"]) body.pm-premium .sess .reprow .rep{flex:0 0 66px!important;height:78px!important;scroll-snap-align:center;border-radius:18px!important;border:none!important;
  background:var(--vr-key)!important;box-shadow:var(--vr-key-edge)!important;font-family:var(--vr-num);font-size:30px!important;font-weight:700!important;color:var(--ink-3)!important;position:relative}
:root:not([data-theme="dark"]) body.pm-premium .sess .reprow .rep.tgt{color:var(--ink)!important}
:root:not([data-theme="dark"]) body.pm-premium .sess .reprow .rep.tgt::after{content:"";position:absolute;left:18px;right:18px;bottom:9px;height:4px;border-radius:2px;background:var(--vr-steelfill)}
:root:not([data-theme="dark"]) body.pm-premium .sess .reprow .rep.aim{background:var(--vr-graphite)!important;color:var(--on-key,#fff)!important;box-shadow:var(--vr-graphite-edge)!important}
:root:not([data-theme="dark"]) body.pm-premium .sess .reprow .rep.aim::after{background:#A7CFF2}
:root:not([data-theme="dark"]) body.pm-premium .sess .reprow .rep:active{transform:translateY(2px)}
.rep-key{display:flex;justify-content:center;gap:14px;font-size:var(--ui-meta,14px);font-weight:700;color:var(--ink-3);margin-top:-4px}
.rep-key i{display:inline-block;width:16px;height:4px;border-radius:2px;background:var(--vr-steelfill);margin-right:6px;vertical-align:middle}/* what else can happen to a set: one quiet row, Failed first */

:root:not([data-theme="dark"]) body.pm-premium .sess .trio{display:flex!important;gap:8px!important;margin-top:14px!important;flex-wrap:nowrap}
:root:not([data-theme="dark"]) body.pm-premium .sess .trio button{flex:1 1 0;min-width:0;display:flex!important;flex-direction:row!important;align-items:center;justify-content:center;gap:6px;min-height:46px;padding:8px 6px!important;border-radius:14px!important;border:none!important;
  background:var(--vr-key)!important;box-shadow:var(--vr-key-edge)!important;color:var(--ink)!important;font-size:var(--ui-meta,14px)!important;font-weight:800!important}
:root:not([data-theme="dark"]) body.pm-premium .sess .trio button .fi,:root:not([data-theme="dark"]) body.pm-premium .sess .trio button .fi-ic{width:22px!important;height:22px!important;flex:none;filter:grayscale(1) contrast(1.1);opacity:.85}
:root:not([data-theme="dark"]) body.pm-premium .sess .trio button.on{background:var(--vr-graphite)!important;color:var(--on-key,#fff)!important;box-shadow:var(--vr-graphite-edge)!important}
:root:not([data-theme="dark"]) body.pm-premium .sess .trio button.hide{display:none!important}
body.pm-premium .sess .repmore{font-size:var(--ui-meta,14px)!important;color:var(--ink-2)!important}/* HOLD TO FINISH THE SET: the control charges under the thumb */

:root:not([data-theme="dark"]) body.pm-premium .sess .btn.hold{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:14px;min-height:76px;border-radius:22px!important;
  background:var(--vr-graphite)!important;box-shadow:var(--vr-graphite-edge)!important;color:var(--on-key,#fff)!important;font-size:17px!important;font-weight:800!important;
  -webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none;transition:transform .12s var(--ease),box-shadow .12s var(--ease)}
.btn.hold .hold-fill{position:absolute;left:0;top:0;bottom:0;width:calc(var(--hp,0)*100%);background:linear-gradient(90deg,rgba(28,29,30,0.10) 0%,rgba(255,255,255,0.13) 100%),linear-gradient(#A7CFF2,#A7CFF2);opacity:.95;z-index:0}
.btn.hold.let .hold-fill{transition:width .28s var(--ease)}
.btn.hold .hold-disc{position:relative;z-index:1;flex:none;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:conic-gradient(#fff calc(var(--hp,0)*360deg),rgba(255,255,255,.18) 0);transition:transform .15s var(--ease)}
.btn.hold .hold-disc::before{content:"";position:absolute;inset:4px;border-radius:50%;background:linear-gradient(180deg,#3E3F40,#202122);box-shadow:inset 0 1px 0 rgba(255,255,255,.15)}
.btn.hold .hold-disc svg{position:relative;width:22px;height:22px;fill:none;stroke:#fff;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;opacity:.55;transition:opacity .15s}
.btn.hold .hold-t{position:relative;z-index:1}
.btn.hold.holding{transform:translateY(2px) scale(.992)}
:root:not([data-theme="dark"]) body.pm-premium .sess .btn.hold.holding{box-shadow:0 1px 0 rgba(255,255,255,.1) inset,0 4px 10px -6px rgba(30,31,33,.6)!important}
.btn.hold.holding .hold-disc{transform:scale(1.08)}
.btn.hold.holding .hold-disc svg{opacity:.9}
.btn.hold.held .hold-disc{transform:scale(1.14)}
.btn.hold.held .hold-disc::before{background:linear-gradient(180deg,rgba(255,255,255,0.10),rgba(255,255,255,0.00)),linear-gradient(#A7CFF2,#A7CFF2)}
.btn.hold.held .hold-disc svg{opacity:1}
.btn.hold.held{animation:holdPop .42s var(--ease)}
@keyframes holdPop{0%{transform:scale(.99)}45%{transform:scale(1.025)}100%{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.btn.hold.held{animation:none}}
@media (max-width:370px){
  :root:not([data-theme="dark"]) body.pm-premium .sess .wsrow{grid-template-columns:52px minmax(0,1fr) 52px}
  :root:not([data-theme="dark"]) body.pm-premium .sess .reprow .rep{flex-basis:58px!important;height:70px!important;font-size:26px!important}
  :root:not([data-theme="dark"]) body.pm-premium .sess .trio button{font-size:var(--ui-meta,14px)!important}
}
@media (min-width:900px){
  :root:not([data-theme="dark"]) body.pm-premium .sess .sess-head{min-height:260px}
}/* the workspace grows with what it holds; nothing is clipped under the foot */


:root:not([data-theme="dark"]) body.pm-premium .sess .sess-ws{min-height:0!important;height:auto!important;overflow:visible!important}
body.pm-premium .sess #sessSkip,body.pm-premium .sess #sessCfgNo,body.pm-premium .sess #sessBack,body.pm-premium .sess #sessFailBack{min-height:0!important;padding:10px!important;background:none!important;box-shadow:none!important;border:none!important;
  color:var(--ink-2)!important;font-family:var(--sans)!important;font-size:14px!important;font-weight:700!important;letter-spacing:0!important;text-transform:none!important}
body.pm-premium .sess .sess-foot .foot-gap{display:none}
body.pm-premium .sess #sessRepsBox .sess-eyebrow{margin-top:0}
body.pm-premium .sess .repmore.repbig{margin-top:2px!important;padding:6px!important}
body.pm-premium #progress #lifts .lglyph img{max-height:74px!important;max-width:100%!important}
body.pm-premium #progress #lifts .lglyph .ob-set{transform:scale(.86)}/* a row the code hides stays hidden */


:root:not([data-theme="dark"]) body.pm-premium .sess .trio[style*="none"],:root:not([data-theme="dark"]) body.pm-premium .sess .repmore[style*="none"]{display:none!important}/* the weight moment packs tighter so the context line clears the foot */

:root:not([data-theme="dark"]) body.pm-premium .sess .sess-ws{padding:12px 14px!important}
body.pm-premium .sess #sessWEye{margin:0 0 2px!important}
body.pm-premium .sess .wplates{margin-top:8px}
:root:not([data-theme="dark"]) body.pm-premium .sess .wsmall{margin-top:8px!important}
body.pm-premium .sess .sess-instr{margin-top:6px!important;line-height:1.35}
/* short phones: a lower stage, keys a touch smaller, everything above the foot */
@media (max-height:800px) and (max-width:899px){
  :root:not([data-theme="dark"]) body.pm-premium .sess .sess-head{min-height:140px!important;padding:12px 16px 10px}
  body.pm-premium .sess #sessRepsEyebrow{margin-bottom:0!important}
  body.pm-premium .sess .repmore.repbig{padding:2px!important}
  body.pm-premium .sess #sessMoreT{margin-top:6px!important;padding:4px!important}
  body.pm-premium .sess #sessLift{font-size:clamp(24px,7vw,30px)!important}
  :root:not([data-theme="dark"]) body.pm-premium .sess .setstrip{margin-bottom:8px!important}
  :root:not([data-theme="dark"]) body.pm-premium .sess .reprow .rep{height:62px!important}
  :root:not([data-theme="dark"]) body.pm-premium .sess .reprow{padding:6px 6px 10px!important}
  :root:not([data-theme="dark"]) body.pm-premium .sess .trio{margin-top:8px!important}
  :root:not([data-theme="dark"]) body.pm-premium .sess .wbig-step{min-height:80px}
  body.pm-premium .sess .sess-stage{height:58%}
}/* rest: last time and the target live under Next (tap it), so nothing sits behind Start */

body.pm-premium .sess.resting #sessCtx{display:none!important}/* every other number stepper: the same carved instrument as the live weight */

:root:not([data-theme="dark"]) body.pm-premium .numctl{display:grid!important;grid-template-columns:52px minmax(0,1fr) 52px;align-items:stretch;gap:0!important;padding:5px;border-radius:18px;
  background:linear-gradient(180deg,#E4E3E0 0%,#EFEEEB 100%)!important;box-shadow:inset 0 3px 8px rgba(30,31,33,.18),inset 0 -1px 0 rgba(255,255,255,.95)!important;border:none!important}
:root:not([data-theme="dark"]) body.pm-premium .numctl .nc-b{width:auto!important;height:auto!important;min-height:48px;border-radius:13px!important;border:none!important;
  background:var(--vr-key)!important;box-shadow:var(--vr-key-edge)!important;color:var(--ink)!important;font-size:22px!important}
:root:not([data-theme="dark"]) body.pm-premium .numctl .nc-v{background:none!important;box-shadow:none!important;border:none!important}
:root:not([data-theme="dark"]) body.pm-premium .numctl .nc-in{background:none!important;box-shadow:none!important;font-family:var(--vr-num);font-weight:700;text-align:center}
