/* KOL workout achievements share the compact playing-card carousel used by benchmark cards. */
.workout-sheet-card:before{background-size:var(--mastery-size,500% 400%)}
.challenge-card-scroll>.kol-workout-challenge-card{justify-self:center;width:min(41vw,168px);min-height:0;aspect-ratio:5/7;scroll-snap-align:center}.kol-workout-challenge-card{display:flex;flex-direction:column;overflow:hidden;padding:0;border:1px solid #596373;border-radius:15px;background:#0c0f15;color:#fff;text-align:left;box-shadow:0 9px 19px #0d182333;cursor:pointer;transform:translateY(0);animation:workout-challenge-float 5.4s ease-in-out infinite}.kol-workout-challenge-art{display:block;flex:none;width:100%;aspect-ratio:1.2;background-image:var(--mastery-sheet);background-size:var(--mastery-size,500% 400%);background-position:var(--mastery-x) var(--mastery-y);background-repeat:no-repeat}.kol-workout-challenge-copy{display:flex;flex:1;flex-direction:column;gap:5px;padding:10px 11px;background:linear-gradient(145deg,#131925,#080b10)}.kol-workout-challenge-copy em{color:#cad4e4;font:800 8px/1.1 var(--body);letter-spacing:.08em;font-style:normal}.kol-workout-challenge-copy strong{font:800 15px/1.05 var(--display);letter-spacing:-.25px}.kol-workout-challenge-copy small{margin-top:auto;color:#b8c1ce;font-size:9px;font-weight:700}.kol-workout-challenge-card.tier-rare{border-color:#1dbfff;box-shadow:0 0 0 1px #8ce9ff,0 0 12px #00a8dd73,0 9px 19px #07101d88}.kol-workout-challenge-card.tier-epic{border-color:#dc75ff;box-shadow:0 0 0 1px #efb5ff,0 0 13px #bb43e77b,0 9px 19px #18071f88}.kol-workout-challenge-card.tier-legendary{border-color:#ffd767;box-shadow:0 0 0 1px #fff3bc,0 0 16px #ffbd2d91,0 9px 20px #1d0c0088}.kol-workout-challenge-card.earned .kol-workout-challenge-copy em{color:#9eeeb9}.kol-workout-challenge-card:focus-visible,.kol-workout-challenge-card:hover{outline:none;transform:translateY(-6px) scale(1.025);animation:none}.kol-workout-challenge-library .challenge-group{margin-top:8px}@keyframes workout-challenge-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}@media(min-width:651px){.challenge-card-scroll>.kol-workout-challenge-card{width:180px}}@media(prefers-reduced-motion:reduce){.kol-workout-challenge-card{animation:none}}

/* Final workout confirmation is intentionally large and celebratory. */
.workout-complete-button{min-height:68px;margin-top:18px;font-size:17px;letter-spacing:.04em;box-shadow:0 8px 26px #ff9f1a73}.workout-completion-confirmed{margin:20px auto 0;padding:14px 18px;border:1px solid #68da8a;border-radius:14px;background:#dff8e8;color:#166b37;font-weight:900;text-align:center}.workout-celebrating{overflow:hidden;isolation:isolate}.workout-celebrating:before,.workout-celebrating:after{content:'✦';position:absolute;z-index:0;color:#ffd35c;font-size:28px;animation:kol-completion-spark 1.5s ease-out both}.workout-celebrating:before{left:14%;top:13%}.workout-celebrating:after{right:15%;top:23%;animation-delay:.16s}.workout-celebrating>*{position:relative;z-index:1}.workout-finish-actions{justify-content:center;margin-top:16px}@keyframes kol-completion-spark{0%{opacity:0;transform:translateY(25px) scale(.2) rotate(-35deg)}35%{opacity:1}100%{opacity:0;transform:translateY(-52px) scale(1.35) rotate(35deg)}}@media(prefers-reduced-motion:reduce){.workout-celebrating:before,.workout-celebrating:after{animation:none}}

/* Exercise-specific setup guide shown only during a transition to a new movement. */
.next-movement-guide{position:absolute;top:14px;right:14px;z-index:3;display:grid;grid-template-columns:76px minmax(0,1fr);gap:9px;width:min(88%,332px);padding:9px;border:1px solid #aeb8c8;border-radius:14px;background:#fffffff2;box-shadow:0 10px 24px #0b17264d;text-align:left}.movement-mini-art{display:grid;place-items:center;min-height:72px;border-radius:10px;background:linear-gradient(135deg,#e7f0ff,#f7fbff)}.movement-mini-art svg{width:70px;height:62px;overflow:visible;stroke:#243c62;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;fill:none}.movement-mini-art .movement-person{transform-origin:45px 44px;animation:movement-guide-rep 1.45s ease-in-out infinite}.movement-mini-art .movement-bar{stroke:#dc3b47;stroke-width:4}.movement-mini-art .movement-load{stroke:#385a91;stroke-width:5}.movement-mini-art .movement-floor,.movement-mini-art .movement-bench,.movement-mini-art .movement-machine{stroke:#7b8798;stroke-width:3}.movement-mini-art .movement-arrow{stroke:#ff8a1f;stroke-width:3}.next-movement-copy{min-width:0}.next-movement-copy span{display:block;color:#52647d;font-size:8px;font-weight:900;letter-spacing:.08em}.next-movement-copy strong{display:block;margin:2px 0 3px;color:#17263d;font:800 14px/1.1 var(--display)}.next-movement-copy small{display:block;color:#526073;font-size:10px;line-height:1.2}.next-movement-copy .movement-demo{margin-top:5px;padding:0;border:0;background:transparent;color:#086cd6;font-size:10px;font-weight:800;text-decoration:underline;cursor:pointer}@keyframes movement-guide-rep{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(5px) rotate(-4deg)}}.movement-hinge .movement-person,.movement-row .movement-person{animation-name:movement-guide-hinge}.movement-glute .movement-person,.movement-push .movement-person{animation-name:movement-guide-press}.movement-pull .movement-person,.movement-overhead .movement-person,.movement-raise .movement-person{animation-name:movement-guide-pull}.movement-hold .movement-person{animation:none}@keyframes movement-guide-hinge{0%,100%{transform:rotate(0)}50%{transform:rotate(9deg)}}@keyframes movement-guide-press{0%,100%{transform:translateX(0)}50%{transform:translateX(5px)}}@keyframes movement-guide-pull{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}@media(max-width:650px){.next-movement-guide{grid-template-columns:62px minmax(0,1fr);width:calc(100% - 28px)}.movement-mini-art{min-height:62px}.movement-mini-art svg{width:58px;height:54px}.next-movement-copy strong{font-size:13px}.next-movement-copy small{font-size:9px}}@media(prefers-reduced-motion:reduce){.movement-mini-art .movement-person{animation:none}}

.kol-active-workout{position:relative}

/* Completed KOL milestone cards use the artwork supplied by the deck.
   This ensures an earned card never keeps the dark mystery-card treatment. */
.kol-deck-card.workout-reward-card:before {
    background-image: linear-gradient(180deg, #05060a08 0 26%, #05060cce 62%, #05060cf7 100%), var(--workout-reward-art, var(--deck-art)) !important;
    /* The reward art is portrait artwork inside the wider deck slot. Keep the
       complete card centered rather than cropping one side of it. */
    background-size: cover, auto 100% !important;
    background-position: center, center !important;
    background-repeat: no-repeat, no-repeat !important;
}

/* External-share prompt shown once a guided workout is officially completed. */
.workout-share-achievement{margin:18px auto 0;padding:15px 16px;border:1px solid #8ec7ff;border-radius:16px;background:linear-gradient(135deg,#eaf5ff,#f8fbff);box-shadow:0 8px 22px #1f78c526;text-align:center}.workout-share-achievement span{color:#056bca;font-size:10px;font-weight:900;letter-spacing:.12em}.workout-share-achievement p{margin:7px 0 13px;color:#254463;font-size:13px;line-height:1.35}.workout-share-achievement .btn{min-height:50px;background:linear-gradient(135deg,#057be4,#135fd4);box-shadow:0 7px 18px #086cd65e}

/* Active workout-card goals on My KOL reveal only a drifting corner of the
   artwork, while preserving the complete card art as a reward. */
.achievements-progress .panel-head{align-items:flex-start}.achievement-progress-list{display:grid;gap:10px;margin-top:14px}.achievement-progress-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 82px;gap:10px;align-items:center;width:100%;min-height:116px;padding:13px 11px 13px 14px;overflow:hidden;border:1px solid #d7dce6;border-radius:16px;background:linear-gradient(135deg,#fff,#f2f5fb);color:#17263d;text-align:left;box-shadow:0 7px 18px #172d5017;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.achievement-progress-card:hover,.achievement-progress-card:focus-visible{outline:none;transform:translateY(-2px);box-shadow:0 12px 23px #172d5030}.achievement-progress-copy{display:flex;flex-direction:column;gap:5px;min-width:0}.achievement-progress-copy .eyebrow{color:#687991;font-size:8px}.achievement-progress-copy strong{overflow:hidden;color:#17263d;font:800 17px/1.08 var(--display);text-overflow:ellipsis;white-space:nowrap}.achievement-progress-copy small{color:#637085;font-size:11px;line-height:1.25}.achievement-progress-copy small b{color:#0d68c8;font-size:13px}.achievement-progress-meter{display:block;width:100%;height:6px;overflow:hidden;border-radius:99px;background:#dfe5ee}.achievement-progress-meter b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#087be7,#7657e9 68%,#d678f7)}.achievement-card-peek{position:relative;display:block;align-self:stretch;width:82px;overflow:hidden;border-radius:11px;filter:drop-shadow(0 7px 10px #10264c3d)}.achievement-card-peek-art{position:absolute!important;top:2px;left:19px;width:86px!important;transform:rotate(7deg);transform-origin:center;animation:achievement-card-peek-float 4.8s ease-in-out infinite}.achievement-card-peek-art:after{animation-duration:5.3s}.achievement-progress-open{position:absolute;right:10px;bottom:7px;color:#62738c;font-size:9px;font-weight:900;letter-spacing:.02em}@keyframes achievement-card-peek-float{0%,100%{transform:translateY(1px) rotate(7deg)}50%{transform:translateY(-4px) rotate(4deg)}}@media(prefers-reduced-motion:reduce){.achievement-card-peek-art{animation:none}}@media(max-width:650px){.achievement-progress-card{grid-template-columns:minmax(0,1fr) 74px;min-height:108px}.achievement-card-peek{width:74px}.achievement-card-peek-art{left:17px;width:80px!important}.achievement-progress-copy strong{font-size:16px}}
