/* VR12 · THE GAP-CLOSURE PASS. The recovery room as a real environment,
   desktop finished as desktop, Build my week where it cannot be missed,
   the build moment as six visual stages, the Week Path on Workout, and
   the physical pass on the weight visuals. Everything below the earlier
   layers wins by order and specificity. *//* ================================================================
   1. THE RECOVERY ROOM. Entering rest changes the whole screen: the
   room darkens a step, a floor appears, mist drifts, the dial breathes.
   ================================================================ */



:root:not([data-theme="dark"]) body.pm-premium .sess.resting{
  background:
    radial-gradient(90% 46% at 50% -8%, #FFFFFF 0%, rgba(255,255,255,0) 62%),
    radial-gradient(70% 34% at 50% 86%, rgba(135,146,162,.38) 0%, rgba(135,146,162,0) 70%),
    linear-gradient(180deg,#F7F6F3 0%,#EAE9E6 46%,#D6D5D2 100%)!important;
  transition:background .5s ease}
body.pm-premium .sess.resting>*{position:relative;z-index:1}/* the head goes quiet: name and set count only, no stage, no shadow */

:root:not([data-theme="dark"]) body.pm-premium .sess.resting .sess-head{background:none!important;box-shadow:none!important;border:0!important;min-height:0!important;padding:8px 18px 0!important;margin:0!important}
body.pm-premium .sess.resting .sess-head .sess-lift{font-size:20px!important;color:var(--ink-2)!important}
body.pm-premium .sess.resting .sess-head .sess-set{font-size:var(--ui-meta,14px)!important;color:var(--ink-3)!important}
body.pm-premium .sess.resting .setstrip{display:none!important}
body.pm-premium .sess.resting .sess-body{padding-top:0!important}/* the room itself is the screen now, not a card */

body.pm-premium #sessRest{margin:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;overflow:visible!important}
body.pm-premium #sessRest .rr-room{min-height:0!important;padding:4px 14px 6px!important;justify-content:flex-start!important}/* environment: two slow mists and a floor shade under the dial */

body.pm-premium #sessRest .rr-env{position:absolute;inset:-40px -30px;pointer-events:none;z-index:0;overflow:hidden}
body.pm-premium #sessRest .rr-mist{position:absolute;width:360px;height:220px;border-radius:50%;filter:blur(38px);opacity:.55;background:radial-gradient(closest-side,rgba(255,255,255,.95),rgba(255,255,255,0))}
body.pm-premium #sessRest .rr-mist.a{left:-80px;top:40px}
body.pm-premium #sessRest .rr-mist.b{right:-110px;top:180px;width:420px;height:260px;background:radial-gradient(closest-side,rgba(135,146,162,.5),rgba(171,172,173,0))}
body.pm-premium #sessRest .rr-floor{position:absolute;left:50%;top:calc(var(--rr-dial,300px) + 54px);width:min(84vw,380px);height:34px;margin-left:min(-42vw,-190px);border-radius:50%;background:radial-gradient(closest-side,rgba(34,35,36,.26),rgba(34,35,36,0));filter:blur(4px)}
@media (prefers-reduced-motion:no-preference){
  body.pm-premium #sessRest .rr-mist.a{animation:rrMistA 14s ease-in-out infinite alternate}
  body.pm-premium #sessRest .rr-mist.b{animation:rrMistB 18s ease-in-out infinite alternate}
}
@keyframes rrMistA{from{transform:translate(0,0)}to{transform:translate(60px,30px)}}
@keyframes rrMistB{from{transform:translate(0,0)}to{transform:translate(-70px,-24px)}}/* breathing rings sit around the dial */

body.pm-premium #sessRest .rr-breath{top:calc(var(--rr-dial,300px) / 2 + 30px)!important}
body.pm-premium #sessRest .rr-breath i{border-color:rgba(255,255,255,.9)!important;background:none!important;width:calc(var(--rr-dial,300px) + 56px);height:calc(var(--rr-dial,300px) + 56px);margin:calc((var(--rr-dial,300px) + 56px) / -2) 0 0 calc((var(--rr-dial,300px) + 56px) / -2);box-shadow:0 0 0 1px rgba(135,146,162,.18) inset}
body.pm-premium #sessRest .rr-breath i:nth-child(2){width:calc(var(--rr-dial,300px) + 132px);height:calc(var(--rr-dial,300px) + 132px);margin:calc((var(--rr-dial,300px) + 132px) / -2) 0 0 calc((var(--rr-dial,300px) + 132px) / -2);border-color:rgba(255,255,255,.6)!important}
body.pm-premium #sessRest .rr-breath i:nth-child(3){width:calc(var(--rr-dial,300px) + 220px);height:calc(var(--rr-dial,300px) + 220px);margin:calc((var(--rr-dial,300px) + 220px) / -2) 0 0 calc((var(--rr-dial,300px) + 220px) / -2);border-color:rgba(255,255,255,.35)!important}
body.pm-premium #sessRest .rf-word{margin:2px 0 8px!important;font-size:var(--ui-meta,14px)!important;letter-spacing:.18em!important;color:var(--ink-3)!important}/* THE DIAL: a ceramic disc, the arc drains around it, the number inside */

body.pm-premium #sessRest .rr-dial{--rr-dial:min(76vw,300px);position:relative;width:var(--rr-dial);height:var(--rr-dial);padding:0!important;margin:0 auto;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:radial-gradient(closest-side,#FFFFFF 0%,#FAFBFC 62%,#F3F2EF 100%);
  box-shadow:0 1px 0 #fff inset,0 -2px 10px rgba(30,31,33,.06) inset,0 34px 60px -30px rgba(30,31,33,.5),0 2px 6px rgba(30,31,33,.06)}
@media (prefers-reduced-motion:no-preference){ body.pm-premium #sessRest .rr-dial{animation:rrDial 6s ease-in-out infinite} }
@keyframes rrDial{0%,100%{transform:scale(.985)}50%{transform:scale(1.012)}}
body.pm-premium #sessRest .rr-arc{position:absolute;inset:-7px;width:auto;height:auto;transform:rotate(-90deg);overflow:visible}
body.pm-premium #sessRest .rr-arc-t{fill:none;stroke:rgba(34,35,36,.08);stroke-width:2.6}
body.pm-premium #sessRest .rr-arc-f{fill:none;stroke:var(--accent);stroke-width:2.6;stroke-linecap:round;stroke-dasharray:295.3;stroke-dashoffset:0;transition:stroke-dashoffset 1s linear,stroke .3s}
body.pm-premium .sess.over #sessRest .rr-arc-f,body.pm-premium .sess.rest-ready #sessRest .rr-arc-f{stroke:var(--ink)}
body.pm-premium .sess.rest-last #sessRest .rr-arc-f{stroke:var(--ink-3)}
body.pm-premium #sessRest .rr-dial .sess-clock{font-size:calc(var(--rr-dial) * .4)!important;line-height:1!important;letter-spacing:-.045em!important;font-weight:800;margin:0!important;color:var(--ink);font-variant-numeric:tabular-nums}
body.pm-premium .sess.over #sessRest .rr-dial .sess-clock{font-size:calc(var(--rr-dial) * .3)!important}
body.pm-premium #sessRest .rr-dial .rf-ring{display:none!important}
body.pm-premium #sessRest .rr-dial .rf-fx{position:absolute;right:8%;top:22%}
body.pm-premium #sessRest .sess-over{margin-top:10px!important}
body.pm-premium #sessRest .rf-ready{margin-top:10px!important}/* NEXT floats on the floor, one object */

body.pm-premium #sessRest .sess-next{margin-top:16px!important;width:100%;gap:10px}
body.pm-premium #sessRest .rr-next{background:rgba(255,255,255,.86)!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 1px 0 #fff inset,0 18px 34px -22px rgba(30,31,33,.55)!important}
body.pm-premium #sessRest .rr-adj{background:rgba(255,255,255,.8)!important}/* the quiet keys */

body.pm-premium #sessRest .rr-keys{margin-top:12px!important;gap:8px!important}
body.pm-premium #sessRest .rr-k{background:rgba(255,255,255,.55)!important;box-shadow:0 1px 0 #fff inset,0 1px 2px rgba(30,31,33,.06)!important;color:var(--ink-2)!important}
body.pm-premium #sessRest .rf-hint{display:none!important}/* the foot: a quiet pill while the clock runs, the dark key only once rest is finished or over */

body.pm-premium .sess.resting .sess-foot{min-height:0!important;padding-bottom:4px}
body.pm-premium .sess.resting:not(.over):not(.rest-ready):not(.rest-last) .sess-foot .btn.acc{background:rgba(255,255,255,.72)!important;color:var(--ink)!important;box-shadow:0 1px 0 #fff inset,0 8px 18px -14px rgba(30,31,33,.5)!important;border:0}
/* short phones keep the dial, shrink the rest */
@media (max-height:760px) and (max-width:899px){
  body.pm-premium #sessRest .rr-dial{--rr-dial:min(62vw,236px)}
  body.pm-premium #sessRest .rf-word{margin:0 0 4px!important}
  body.pm-premium #sessRest .sess-next{margin-top:10px!important}
  body.pm-premium #sessRest .rr-keys{margin-top:8px!important}
  body.pm-premium .sess.resting .sess-head{padding-top:4px!important}
}
@media (max-height:660px) and (max-width:899px){
  body.pm-premium #sessRest .rr-dial{--rr-dial:min(54vw,200px)}
  body.pm-premium #sessRest .rr-next{padding:8px 10px 8px 8px!important}
  body.pm-premium #sessRest .rr-nxo{width:52px;height:52px}
}
/* desktop: the dial in the middle column, bigger, the environment across the whole room */
@media (min-width:1140px){
  body.pm-premium #sessRest .rr-dial{--rr-dial:360px}
  body.pm-premium #sessRest .rr-room{padding-top:10px!important}
  :root:not([data-theme="dark"]) body.pm-premium .sess.resting .sess-left .sess-head{background:var(--vr-ceramic)!important;box-shadow:var(--vr-edge),var(--vr-lift)!important;padding:18px 20px!important;min-height:0!important}
}/* ================================================================
   2. THE WEEK PATH ON WORKOUT. The seven boxes are gone everywhere; the
   route from Home is the one week object, and tapping it changes the week.
   ================================================================ */


body.pm-premium #progress #whubWeek{display:block!important;margin:4px 0 0!important;gap:0!important}
body.pm-premium #progress #whubWeek .wk-pathkey{display:block;width:100%;border:0;background:none;padding:0;margin:0;cursor:pointer;font:inherit;text-align:left}
body.pm-premium #progress #whubWeek .wpath{position:relative;height:96px;margin:4px 0 0;background:none;box-shadow:none;border:0}
body.pm-premium #progress #whubWeek .wpath svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
body.pm-premium #progress #whubWeek .wpath .hw-days{display:block!important;position:absolute!important;inset:0!important;width:auto!important;height:auto!important;background:none!important;box-shadow:none!important;padding:0!important;margin:0!important;gap:0!important}
body.pm-premium #progress #whubWeek .wpath .hw-days i{position:absolute!important;width:0!important;height:0!important;padding:0!important;background:none!important;box-shadow:none!important;transform:none!important;display:block!important}
body.pm-premium #progress #whubWeek .wpath .hw-days i b{position:absolute!important;left:50%!important;top:50%!important;width:14px!important;height:14px!important;max-width:none!important;margin:-7px 0 0 -7px!important;border-radius:50%!important;background:#FFFFFF!important;box-shadow:0 0 0 2.5px rgba(30,31,33,.16) inset,0 1px 2px rgba(30,31,33,.12)!important;display:flex;align-items:center;justify-content:center}
body.pm-premium #progress #whubWeek .wpath .hw-days i.rest b{width:8px!important;height:8px!important;margin:-4px 0 0 -4px!important;background:rgba(34,35,36,.16)!important;box-shadow:none!important}
body.pm-premium #progress #whubWeek .wpath .hw-days i.plan b{width:18px!important;height:18px!important;margin:-9px 0 0 -9px!important;box-shadow:0 0 0 2.5px var(--accent) inset,0 1px 2px rgba(30,31,33,.12)!important}
body.pm-premium #progress #whubWeek .wpath .hw-days i.on b{width:24px!important;height:24px!important;margin:-12px 0 0 -12px!important;background:var(--accent)!important;box-shadow:0 1px 0 rgba(255,255,255,.5) inset,0 4px 10px -4px rgba(103,104,105,.8)!important}
body.pm-premium #progress #whubWeek .wpath .hw-days i.on b svg{width:14px;height:14px;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
body.pm-premium #progress #whubWeek .wpath .hw-days i.today b{box-shadow:0 0 0 2.5px var(--ink) inset,0 0 0 5px rgba(135,146,162,.22),0 1px 2px rgba(30,31,33,.12)!important}
body.pm-premium #progress #whubWeek .wpath .hw-days i.today.on b{box-shadow:0 1px 0 rgba(255,255,255,.5) inset,0 0 0 5px rgba(135,146,162,.25)!important}
body.pm-premium #progress #whubWeek .wpath .hw-days i.missed b{background:#F7F6F3!important;box-shadow:0 0 0 2.5px rgba(30,31,33,.18) inset!important}
body.pm-premium #progress #whubWeek .wpath .hw-days i span{position:absolute!important;left:50%!important;top:14px!important;transform:translateX(-50%)!important;width:auto!important;font-size:var(--ui-meta,14px)!important;font-weight:800!important;letter-spacing:.04em;color:var(--ink-3)!important;display:block!important}
body.pm-premium #progress #whubWeek .wpath .hw-days i.today span{top:18px!important;color:var(--ink)!important}
body.pm-premium #progress #whubWeek .wpath .hw-days i.on span{color:var(--ink)!important}/* the two keys under it: Build my week is a real key again */

body.pm-premium #progress .wk-weekbtns{display:flex!important;gap:10px!important;margin-top:14px!important;align-items:center}
body.pm-premium #progress .wk-weekbtns #setupSplitBtn{flex:1;width:auto!important;min-height:52px!important;padding:14px 20px!important;border-radius:16px!important;background:linear-gradient(180deg,#BEDCF3,#A7CFF2)!important;color:#10161F!important;box-shadow:0 1px 0 rgba(255,255,255,.18) inset,0 12px 24px -16px rgba(30,31,33,.7)!important;font-size:15px!important;font-weight:800!important;border:0!important;text-decoration:none!important}
body.pm-premium #progress .wk-weekbtns #setupStarterBtn{width:auto!important;padding:10px 14px!important;background:none!important;box-shadow:none!important;border:0!important;font-size:14px!important;font-weight:700;color:var(--ink-2)!important}/* ================================================================
   3. NO WEEK YET. On Workout and on Home the one key is Build my week.
   ================================================================ */


body.pm-premium #wkHero.noweek .wh-t{position:relative;z-index:2}
body.pm-premium #wkHero.noweek .wh-k{font-size:34px!important}
body.pm-premium #wkHero.noweek .wh-e{display:block;max-width:230px;font-size:14px;color:var(--ink-2);margin-top:4px}
body.pm-premium #wkHero.noweek .wh-build{margin-top:18px!important;width:auto!important;padding:16px 26px!important;border-radius:16px!important;font-size:16px!important;display:inline-flex;align-items:center;gap:10px}
body.pm-premium #wkHero.noweek .wh-build::before{content:"";width:18px;height:12px;border:0;background:none;mask:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 14'><path d='M2 12 C 7 12, 8 2, 12 3 S 17 11, 22 2' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='round'/></svg>");background-repeat:no-repeat;background-size:contain;border-left:0;border-top:0;border-bottom:0}
body.pm-premium #wkHero.noweek .wh-plain{display:block;margin-top:12px;border:0;background:none;padding:6px 0;font:inherit;font-size:14px;font-weight:700;color:var(--ink-2);cursor:pointer;text-align:left}
body.pm-premium #wkHero.noweek .wh-pathpre{position:absolute;left:46%;right:-6%;top:58%;height:70px;z-index:1;opacity:.55;pointer-events:none}
body.pm-premium #wkHero.noweek .wh-pathpre svg{width:100%;height:100%;overflow:visible}
body.pm-premium #wkHero.noweek .wh-pathpre path{fill:none;stroke:var(--accent);stroke-width:5;stroke-linecap:round;stroke-dasharray:6 10;vector-effect:non-scaling-stroke}
body.pm-premium #wkHero.noweek .wh-v{opacity:.5}/* Home: the card carries two keys, the week first */
@media (max-width:370px){ body.pm-premium #wkHero.noweek .wh-k{font-size:30px!important} body.pm-premium #wkHero.noweek .wh-e{max-width:200px} }/* rest: the set strip stays out of the room (beats the vr-level flex rule) */


:root:not([data-theme="dark"]) body.pm-premium .sess.resting .setstrip{display:none!important}/* no week: the lower door repeats the hero key, so it goes */

body.pm-premium #progress:has(#wkHero.noweek) #justToday{display:none!important}/* ================================================================
   4. THE BENCH SCENE. The bar is racked on the upright at the head of the
   bench and fully in view: plates sit on the sleeves, nothing floats.
   ================================================================ */


.ob-bb .ob-bench{left:24%!important;top:30%!important;width:60%!important;height:70%!important;z-index:2}
.ob-bb .ob-bar{left:0!important;top:0!important;width:100%!important;height:30%!important;z-index:3}
.ob-bb .ob-post{position:absolute;left:28%;top:12%;width:5%;height:88%;z-index:1;filter:drop-shadow(0 6px 6px rgba(66,67,68,.18))}
.sess-stage .ob-bb .ob-bench{top:26%!important;height:74%!important}
.sess-stage .ob-bb .ob-bar{height:28%!important}/* ================================================================
   5. THE DUMBBELL RACK. Pairs sized by their weight, each tier facing the
   other way, a slight lean that changes pair to pair, the chosen pair
   standing proud. No two neighbours read as the same render.
   ================================================================ */


body.pm-premium .rack-pair .db{width:calc(var(--sz,56) * 1%)!important}
body.pm-premium .rack-pair .db+.db{margin-left:calc(var(--sz,56) * -0.36%)!important}
body.pm-premium .rack-tier:nth-child(even) .rack-pair .db img{transform:scaleX(-1)}
body.pm-premium .rack-tier:nth-child(even) .rack-pair .db:first-child{z-index:1}
body.pm-premium .rack-pair:nth-child(3n+1) .db{transform:rotate(-2.5deg) translateY(1px)}
body.pm-premium .rack-pair:nth-child(3n+2) .db{transform:rotate(1deg)}
body.pm-premium .rack-pair:nth-child(3n+3) .db{transform:rotate(3deg) translateY(1px)}
body.pm-premium .rack-pair:nth-child(3n+2) .db+.db{transform:rotate(-1.5deg)}
body.pm-premium .rack-pair:nth-child(3n+1) .db+.db{transform:rotate(1.5deg)}
body.pm-premium .rack-pair:nth-child(3n+3) .db+.db{transform:rotate(-2deg)}
body.pm-premium .rack-pair.on .db{transform:none!important}
body.pm-premium .rack-pair.on{transform:translateY(-12px) scale(1.14)!important}
body.pm-premium .rack-tier:nth-child(odd) .rack-pair .db{filter:drop-shadow(0 4px 3px rgba(30,31,33,.35)) brightness(1)}
body.pm-premium .rack-tier:nth-child(even) .rack-pair .db{filter:drop-shadow(0 4px 3px rgba(30,31,33,.35)) brightness(.96)}
body.pm-premium .rack-pair.on .db{filter:drop-shadow(0 16px 10px rgba(30,31,33,.46)) brightness(1.06)!important}

/* ================================================================
   6. DESKTOP. The Coach is a workspace: the conversation is the page, the
   presence, the context and the quick actions keep a rail on the right,
   the composer anchors the foot. Profile and the add-exercise sheet open
   as side panels, never as a phone sheet in the middle of a monitor.
   ================================================================ */
@media (min-width:1140px){
  body.pm-premium #ask:not(.hide){grid-template-columns:minmax(0,1fr) 340px!important;column-gap:44px!important;grid-template-rows:auto auto minmax(0,1fr) auto auto!important;min-height:calc(100vh - 110px)}
  body.pm-premium #ask>*,body.pm-premium #ask .askscroll>*{grid-column:1!important}
  body.pm-premium #ask .askscroll>.kicker{grid-column:1/-1!important;grid-row:1}
  body.pm-premium #ask #askRail{grid-column:2!important;grid-row:2/span 4!important;position:sticky;top:96px;align-self:start;display:flex;flex-direction:column;gap:14px}
  body.pm-premium #ask #askRail .adam-head{flex-direction:row!important;align-items:center!important;text-align:left!important;gap:14px!important;margin:0 0 4px!important}
  body.pm-premium #ask #askRail .adam-stage{width:84px;height:84px;flex:none}
  body.pm-premium #ask #askRail .adam-head h1{font-size:30px!important;margin:0}
  body.pm-premium #ask #askRail #adamNow{margin:0!important}
  body.pm-premium #ask #askRail .an-reads{grid-template-columns:1fr!important}/* the conversation column: a big empty state is six objects, not a blank */
  
  body.pm-premium #ask>#adamEarlier{grid-row:2}
  body.pm-premium #ask>#chatBox{grid-row:3;align-self:end;max-width:860px}
  body.pm-premium #ask>#coachChips{grid-row:4}
  body.pm-premium #ask>#chatDock{grid-row:5;max-width:860px}
  body.pm-premium #ask #coachChips:not(.hide){display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:14px!important;max-width:860px;margin:0 0 10px!important}
  body.pm-premium #ask #coachChips:not(.hide) .chipbtn.ca{min-height:150px;padding:18px 18px 16px}
  body.pm-premium #ask #coachChips:not(.hide) .chipbtn.ca .ca-ob{height:64px}
  body.pm-premium #ask #coachChips:not(.hide) .chipbtn.ca b{font-size:16px}
  body.pm-premium #ask #chatBox:empty{min-height:0!important}
  body.pm-premium #ask #chatBox:empty::before{content:"Ask anything.";display:block;font-family:var(--display);font-weight:600;font-size:44px;letter-spacing:-.02em;line-height:1.05;color:var(--ink);margin:12px 0 22px}
  body.pm-premium #ask #chatBox:empty::after{content:"Your log, your week and your food are already in front of auxe.";display:block;font-size:15px;color:var(--ink-3);margin:-10px 0 24px}
  body.pm-premium #ask .chatdock{position:sticky;bottom:0}/* profile edits: a panel docked to the right edge */
  
  .pfs{align-items:stretch!important;justify-content:flex-end!important}
  .pfs-card{max-width:520px!important;width:520px;max-height:none!important;height:100vh;border-radius:30px 0 0 30px!important;margin:0!important;padding:28px 28px 40px!important;animation:pfsSlide .26s var(--ease) both!important;box-shadow:-30px 0 80px -30px rgba(30,31,33,.45)!important}
  .pfs-card:has(#pfBodyReg){max-width:760px!important;width:760px}
  :root:not([data-theme="dark"]) body.pm-premium .pfs-card{margin:0!important;border-radius:30px 0 0 30px!important}
  :root:not([data-theme="dark"]) body.pm-premium .pfs-card::before{display:none}
  @keyframes pfsSlide{from{transform:translateX(40px);opacity:0}to{transform:none;opacity:1}}/* add exercise, the week builder: the same panel, wider */
  
  .sheet-wrap{align-items:stretch!important;justify-content:flex-end!important}
  body.pm-premium .sheet{max-width:760px!important;width:760px;max-height:none!important;height:100vh;border-radius:30px 0 0 30px!important;margin:0!important;animation:pfsSlide .26s var(--ease) both!important;box-shadow:-30px 0 80px -30px rgba(30,31,33,.45)!important}
  :root:not([data-theme="dark"]) body.pm-premium .sheet{margin:0!important;border-radius:30px 0 0 30px!important}/* home: the lower band is a real row, not a strip of three tiles */
}
@media (min-width:1140px) and (max-width:1399px){
  body.pm-premium #ask:not(.hide){grid-template-columns:minmax(0,1fr) 300px!important;column-gap:32px!important}
  body.pm-premium #ask #coachChips:not(.hide){grid-template-columns:repeat(3,1fr)!important}
  body.pm-premium #ask #coachChips:not(.hide) .chipbtn.ca{min-height:132px}
  body.pm-premium #ask #chatBox:empty::before{font-size:38px}
}

/* desktop coach: the empty conversation still owns its column; the presence stays small in the rail */
@media (min-width:1140px){
  body.pm-premium #ask #chatBox:empty{display:block!important;min-height:0!important}
  body.pm-premium #ask #askRail .acore{width:84px!important;height:84px!important;margin:0!important}
  body.pm-premium #ask #askRail .acore .ac-dot{inset:34px}
  body.pm-premium #ask #askRail .adam-stage{width:84px!important;height:84px!important}
  body.pm-premium #ask #askRail .adam-plinth{display:none}
  body.pm-premium #ask .cmsg{max-width:640px}
}/* ================================================================
   7. THE BUILD MOMENT. One word at a time under the stage, six dots, no
   checklist. The training stage assembles the person's own first lifts
   around the body; a scan line sweeps the figure while it resolves.
   ================================================================ */


body.pm-premium .ob-lines{display:none!important}
body.pm-premium .ob-word{display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px 0 0}
body.pm-premium .ob-word b{font-family:var(--display);font-weight:600;font-size:30px;letter-spacing:-.015em;color:var(--ink);opacity:0;transform:translateY(6px)}
body.pm-premium .ob-word b.in{animation:obWord .32s var(--ease) both}
@keyframes obWord{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
body.pm-premium .ob-dots{display:flex;gap:7px}
body.pm-premium .ob-dots i{width:8px;height:8px;border-radius:50%;background:rgba(34,35,36,.14);transition:background .25s,transform .25s}
body.pm-premium .ob-dots i.on{background:var(--accent);transform:scale(1.15)}
body.pm-premium .ob-scan{position:absolute;left:0;right:0;top:-12%;height:12%;background:linear-gradient(180deg,rgba(135,146,162,0),rgba(135,146,162,.22) 50%,rgba(255,255,255,.7) 52%,rgba(135,146,162,0));opacity:0;pointer-events:none}
@media (prefers-reduced-motion:no-preference){ body.pm-premium .ob-stage[data-stage="body"] .ob-scan{animation:obScan .9s linear 1 both} }
@keyframes obScan{0%{top:-12%;opacity:1}100%{top:100%;opacity:.6}}
body.pm-premium .ob-lifts{position:absolute;inset:0;pointer-events:none}
body.pm-premium .ob-lift{position:absolute;display:flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border-radius:999px;background:rgba(255,255,255,.86);box-shadow:0 1px 0 #fff inset,0 10px 22px -14px rgba(30,31,33,.5);opacity:0;transform:translateY(14px) scale(.9);transition:opacity .35s var(--ease),transform .45s cubic-bezier(.2,1.2,.3,1)}
body.pm-premium .ob-lift.in{opacity:1;transform:none}
body.pm-premium .ob-lift b{font-size:var(--ui-meta,14px);font-weight:800;color:var(--ink);white-space:nowrap}
body.pm-premium .ob-lift .ob-lo{width:34px;height:26px;display:inline-flex;align-items:center;justify-content:center;flex:none}
body.pm-premium .ob-lift .ob-lo img,body.pm-premium .ob-lift .ob-lo svg{max-width:100%;max-height:100%;position:static;width:auto;height:100%}
body.pm-premium .ob-lift .ob-lo.ob-bb{position:relative;width:40px;height:26px}
body.pm-premium .ob-lift:nth-child(1){left:4%;top:16%}
body.pm-premium .ob-lift:nth-child(2){right:3%;top:22%}
body.pm-premium .ob-lift:nth-child(3){left:2%;top:46%}
body.pm-premium .ob-lift:nth-child(4){right:2%;top:52%}
body.pm-premium .ob-lift:nth-child(5){left:8%;top:76%}
body.pm-premium .ob-lift:nth-child(6){right:6%;top:80%}
body.pm-premium .ob-stage[data-stage="training"] .ob-fig{transform:translateX(-50%) scale(.9);opacity:1}
body.pm-premium .ob-stage[data-stage="gear"] .ob-lifts,body.pm-premium .ob-stage[data-stage="week"] .ob-lifts,body.pm-premium .ob-stage[data-stage="nutrition"] .ob-lifts,body.pm-premium .ob-stage[data-stage="ready"] .ob-lifts{opacity:0;transition:opacity .35s}
body.pm-premium .ob-stage[data-stage="nutrition"] .ob-fig{transform:translateX(-50%) scale(.42) translateY(-62%);opacity:.5}
body.pm-premium .ob-stage[data-stage="nutrition"] .ob-week{opacity:1}
body.pm-premium .ob-stage[data-stage="nutrition"] .ob-tg{opacity:1}
body.pm-premium .ob-stage[data-stage="nutrition"] .ob-gear{opacity:.5}
@media (max-width:370px){ body.pm-premium .ob-lift b{font-size:var(--ui-meta,14px)} body.pm-premium .ob-word b{font-size:26px} }/* BR-09: a heading says what this is; the approved single word stays, now with one plain line of what that
   stage works from, and the picture gives them room. Motion, reduced motion and tap-to-skip unchanged. */

body.pm-premium .onb-build{gap:12px}
body.pm-premium .ob-head{text-align:left;padding:0 2px}
body.pm-premium .ob-h{text-wrap:balance;margin:4px 0 0;font-family:var(--display);font-weight:600;font-size:clamp(26px,8vw,32px);line-height:1.08;letter-spacing:-.015em;color:var(--word-lg,#4483BA)}
body.pm-premium .ob-sub{margin:6px 0 0;font-size:15px;font-weight:600;line-height:1.4;color:var(--ink-2)}
body.pm-premium .ob-stage{height:min(40vh,340px)}
body.pm-premium .ob-word{padding:6px 0 0;gap:8px}
body.pm-premium .ob-detail{min-height:2.7em;max-width:30ch;text-align:center;font-size:15.5px;font-weight:700;line-height:1.35;color:var(--ink-2)}
body.pm-premium #onbBuild:focus-visible{outline:2px solid var(--word,#2F6A9A);outline-offset:4px;border-radius:24px}
body.pm-premium .ob-skip{margin:0;text-align:center;font-size:14px;font-weight:700;color:var(--ink-2)}
@media (max-height:640px){ body.pm-premium .ob-stage{height:32vh} body.pm-premium .ob-gear{top:60%;height:34%} body.pm-premium .ob-word b{font-size:24px} body.pm-premium .ob-detail{font-size:14.5px} body.pm-premium .ob-sub{font-size:14px}/* How do you like to work? has five tiles now: on a short phone they sit a little closer so all five show */
  
  body.pm-premium .onb-step:has(.onb-own) .onb-opt{min-height:52px;padding-top:10px;padding-bottom:10px}
  body.pm-premium .onb-step:has(.onb-own) .onb-opts{gap:8px} }
body.pm-premium .ob-lift{max-width:46%}
body.pm-premium .ob-lift b{overflow:hidden;text-overflow:ellipsis}/* BUILD, the Training step (visual review): the lift's picture took the whole chip (a body-crop picture keeps a
   forced full size) and squeezed three of four names to nothing. Inside a chip the picture is a fixed small
   mark and the name wraps to two lines; the chips sit in two side columns that stay clear of the figure, which
   steps down a little on narrow phones while they show. Same pictures, same lifts, same timing. */

body.pm-premium .ob-lift{max-width:32%;gap:5px;padding:4px 9px 4px 4px;z-index:3}
body.pm-premium .ob-lift .ob-lo,body.pm-premium .ob-lift .ob-lo.ob-set,body.pm-premium .ob-lift .ob-lo.ob-set.ob-anat{position:relative!important;flex:none;width:28px!important;height:22px!important;min-height:0!important;overflow:hidden;border-radius:7px;transform:none!important}
body.pm-premium .ob-lift .ob-lo.ob-set.ob-anat .body-r{height:210%!important}
body.pm-premium .ob-lift b{min-width:0;white-space:normal;overflow:visible;text-overflow:clip;line-height:1.15;font-size:var(--ui-meta,14px)}
body.pm-premium .ob-lift:nth-child(odd){left:2%;right:auto}
body.pm-premium .ob-lift:nth-child(even){right:2%;left:auto}
body.pm-premium .ob-lift:nth-child(1),body.pm-premium .ob-lift:nth-child(2){top:10%}
body.pm-premium .ob-lift:nth-child(3),body.pm-premium .ob-lift:nth-child(4){top:40%}
body.pm-premium .ob-lift:nth-child(5),body.pm-premium .ob-lift:nth-child(6){top:70%}
@media (max-width:370px){
  body.pm-premium .ob-lift{max-width:37%}
  body.pm-premium .ob-lift b{font-size:var(--ui-meta,14px)}
  body.pm-premium .ob-stage[data-stage="training"] .ob-fig{transform:translateX(-50%) scale(.7)}
}/* NEXT stays one compact line under the dial */

body.pm-premium #sessRest .rr-next{padding:7px 10px 7px 8px!important;grid-template-columns:54px minmax(0,1fr) 22px!important}
body.pm-premium #sessRest .rr-nxo{width:54px;height:54px;border-radius:14px}
body.pm-premium #sessRest .rr-nxt b{font-size:20px}
