@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap");
:root{font-family:Manrope,Arial,sans-serif;color:#242033;background:#e9e5ec;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-height:100vh}button{font:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.4}
.app-shell{width:min(100%,470px);min-height:100dvh;margin:auto;background:#fcfafb;position:relative;box-shadow:0 12px 60px #3024421c}
.status-header{height:68px;padding:20px 24px 8px;display:flex;justify-content:space-between;align-items:center}.brand{border:0;background:none;display:flex;align-items:center;gap:8px;color:#262033;font-size:22px;font-weight:800;letter-spacing:-.075em;padding:0}.brand-mark{background:#cdb3ef;border-radius:12px;width:34px;height:34px;display:grid;place-items:center;color:#271a3c;font-size:24px}.round-button{width:35px;height:35px;border:0;border-radius:50%;background:#f0eaf5;color:#6f5589;font-weight:800}
main{padding:20px 24px 122px;min-height:calc(100dvh - 68px);outline:0}.eyebrow{display:block;color:#9371b2;font-size:10px;font-weight:800;letter-spacing:.13em}.lead{font-size:13px;line-height:1.7;color:#837d8b;margin:12px 0 22px}h1{font-size:32px;line-height:1.18;letter-spacing:-.065em;margin:10px 0 12px}h2{letter-spacing:-.05em}.intro{display:flex;align-items:start;justify-content:space-between}.intro>span{font-size:36px;color:#aa83cb;line-height:1}.intro h1{font-size:31px;margin-bottom:0}
.art{position:relative;overflow:hidden;background:linear-gradient(135deg,#d4b8ef,#9c7bd0);isolation:isolate}.art.yoga{background:linear-gradient(135deg,#f6cfc4,#dba6bd)}.art>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0}.art::after{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,rgba(25,16,30,.04),rgba(25,16,30,.18));pointer-events:none}.art small{position:absolute;z-index:2;left:18px;top:16px;border-radius:20px;background:#ffffffe8;padding:6px 9px;color:#51385d;font-size:9px;font-weight:800;font-style:normal;box-shadow:0 5px 14px #38233f1c}
.today-card{position:relative;height:270px;border-radius:22px;overflow:hidden;color:white;margin:24px 0}.today-card>.art{position:absolute;inset:0}.today-card:after{content:"";position:absolute;inset:30% 0 0;background:linear-gradient(transparent,#372049d9);pointer-events:none}.today-card>div:last-child{position:absolute;z-index:1;left:22px;right:22px;bottom:20px}.today-card small{font-size:10px;letter-spacing:.13em;font-weight:800}.today-card h2{font-size:26px;margin:8px 0 4px}.today-card p{font-size:11px;opacity:.88;margin:0 0 15px}.today-card button{border:0;border-radius:12px;background:white;color:#493366;font-size:12px;font-weight:800;padding:13px 16px;width:100%;display:flex;justify-content:space-between}
.section-head{display:flex;align-items:end;justify-content:space-between;margin:30px 0 14px}.section-head h2{font-size:18px;margin:0}.section-head button,.section-head small{border:0;background:none;color:#9872bc;font-size:10px;font-weight:800;padding:0}.week{display:flex;justify-content:space-between;gap:5px}.week>div{flex:1;text-align:center;padding:9px 1px;background:#f5f1f8;border-radius:14px;color:#aba0b5}.week>div.today{background:#e9d9f8;color:#653b8c}.week>div.done{background:#b783e2;color:white}.week small,.week b,.week span{display:block}.week small{font-size:9px}.week b{font-size:15px;margin:6px 0 2px}.week span{height:10px;font-size:10px}.week-note{font-size:10px;color:#a397ad;margin:9px 0}.browse{width:100%;border:1px solid #e9dff0;border-radius:14px;background:white;color:#765397;padding:15px;text-align:left;font-weight:800;font-size:12px;margin-top:9px}.browse span{float:right}
.program-card{width:100%;display:flex;align-items:center;gap:13px;text-align:left;padding:9px;border:1px solid #eee8f1;border-radius:17px;background:#fff;color:inherit;margin:9px 0;box-shadow:0 6px 18px #4b31500a}.program-card .art{flex:none;width:85px;height:95px;border-radius:12px}.program-card .art strong{font-size:27px;top:42%;right:12%}.program-card .art small{font-size:7px;left:6px;top:7px}.program-card .art em{border-width:12px}.card-copy{min-width:0;flex:1}.card-copy small{display:block;color:#a48cad;font-size:9px}.card-copy b{display:block;font-size:13px;line-height:1.35;margin:6px 0}.card-copy em{display:block;font-size:10px;color:#8c8592;font-style:normal}.card-copy .mini-track{display:block;height:4px;background:#eee6f4;border-radius:4px;margin:9px 0 5px;overflow:hidden}.mini-track i{display:block;height:100%;background:#a574d0}.arrow{align-self:end;padding:0 5px 5px;color:#a877cf;font-size:17px}
.filters{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;margin:20px -24px;padding:0 24px 6px}.filters button{flex:none;border:1px solid #e6ddee;border-radius:30px;background:white;padding:9px 13px;color:#786c81;font-size:11px;font-weight:700}.filters button.selected{background:#4c315f;border-color:#4c315f;color:#fff}.count{font-size:11px;color:#a195ab;margin:13px 0}.back{display:block;border:0;background:none;color:#916fa9;font-size:11px;font-weight:800;padding:0;margin:0 0 20px}.detail-art .art{height:235px;border-radius:22px}.detail-art .art strong{font-size:90px}.title-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:24px}.title-row h1{margin-bottom:0}.heart{flex:none;border:0;border-radius:50%;width:43px;height:43px;background:#f2eaf7;color:#9d70be;font-size:25px}.heart.selected{color:#c06699}.facts{display:flex;gap:7px;margin:23px 0}.facts span{flex:1;text-align:center;background:#f5f0f8;padding:12px 3px;border-radius:12px;color:#978ba1;font-size:9px}.facts b{display:block;font-size:17px;color:#503668;margin-bottom:2px}
.day-row{width:100%;display:flex;align-items:center;gap:13px;border:1px solid #ece7ef;border-radius:15px;background:white;text-align:left;color:inherit;padding:13px;margin:9px 0}.day-num{width:42px;height:42px;flex:none;border-radius:12px;display:grid;place-items:center;background:#eee1f8;color:#865cac;font-size:13px;font-weight:800}.day-num.done{background:#e0f0e5;color:#4a885e}.day-row>span:nth-child(2){min-width:0;flex:1}.day-row small,.day-row b,.day-row em{display:block}.day-row small{font-size:9px;color:#ae8ac7;font-weight:800}.day-row b{font-size:12px;margin:4px 0}.day-row em{font-size:10px;color:#aaa0ae;font-style:normal}.day-row strong{color:#9c73bc;font-size:17px}.sticky{position:sticky;bottom:80px;padding:13px 0 3px;background:linear-gradient(transparent,#fcfafb 18%)}.primary{width:100%;min-height:52px;border:0;border-radius:13px;background:#ad79d5;color:white;font-size:12px;font-weight:800;padding:14px 17px;text-align:left;display:flex;justify-content:space-between;align-items:center;box-shadow:0 6px 18px #a97ad344}.primary span{font-size:18px}
.session-art .art{height:225px;border-radius:21px;margin-bottom:23px}.session-art .art strong{font-size:90px}.exercise-row{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid #eee8f0}.exercise-row>span{color:#a879cb;font-size:13px;font-weight:800}.exercise-row b,.exercise-row small{display:block}.exercise-row b{font-size:12px}.exercise-row small{font-size:10px;line-height:1.5;color:#a299a8;margin-top:5px}
.immersive .status-header,.immersive .bottom-nav{display:none}.immersive main{padding:0 0 122px}.player-top{display:flex;justify-content:space-between;align-items:center;padding:18px 19px 12px;font-size:12px;font-weight:800}.player-top button{width:35px;height:35px;border:0;border-radius:50%;background:#f2ecf6;color:#5c4773}.step-dots{display:flex;gap:5px;padding:0 22px 15px}.step-dots i{height:4px;flex:1;background:#ece6ef;border-radius:5px}.step-dots i.current{background:#a579cf}.video-stage{height:340px;background:#e8d9f3}.video-stage video{width:100%;height:100%;object-fit:contain;background:#17121d}.video-pending{height:100%;position:relative;overflow:hidden;background:linear-gradient(145deg,#e5d6f3,#ac87cd);display:grid;place-items:center;text-align:center;color:white}.video-pending.yoga{background:linear-gradient(145deg,#f6d5c9,#d29eba)}.video-pending>span{position:absolute;font-size:420px;line-height:1;opacity:.25;top:-145px;right:-100px}.video-pending>div{position:relative}.video-pending small,.video-pending b,.video-pending em{display:block}.video-pending small{font-size:11px;letter-spacing:.18em}.video-pending b{font-size:26px;line-height:1.15;margin:17px 0}.video-pending em{font-size:11px;font-style:normal}.player-body{padding:25px 24px}.player-body h1{margin:10px 0}.cue{display:flex;gap:11px;background:#f3ecf8;border-radius:15px;padding:15px;margin:20px 0}.cue>span{color:#a470ca;font-size:22px}.cue b{font-size:11px}.cue p{font-size:11px;line-height:1.6;color:#85718f;margin:5px 0 0}.up-next{border-top:1px solid #eee7f1;padding:15px 0}.up-next small,.up-next b{display:block}.up-next small{font-size:9px;color:#aa8ac1;font-weight:800}.up-next b{font-size:12px;margin-top:5px}.player-actions{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,470px);background:#fcfafbf5;display:flex;gap:8px;padding:12px 20px max(17px,env(safe-area-inset-bottom));border-top:1px solid #eee7f1}.player-actions>button:first-child{border:1px solid #e8dbef;background:white;border-radius:12px;padding:0 15px;color:#7c618d;font-size:11px;font-weight:800}.player-actions .primary{width:auto;flex:1;box-shadow:none}
.complete-art{height:210px;border-radius:25px;background:radial-gradient(circle at 70% 25%,#f7d5e7,transparent 40%),linear-gradient(135deg,#c6a4ed,#9b72ce);color:white;display:grid;place-items:center;margin:12px 0 27px;position:relative}.complete-art span{font-size:100px}.complete-art small{position:absolute;bottom:15px;letter-spacing:.15em;font-weight:800}.complete-stats,.profile-stats{display:flex;gap:8px;margin:23px 0}.complete-stats>div,.profile-stats>div{flex:1;text-align:center;border-radius:13px;background:#f4edf8;padding:15px 4px}.complete-stats b,.profile-stats b{display:block;font-size:23px;color:#65418a}.complete-stats small,.profile-stats span{font-size:9px;color:#9a89a5}.feedback{border:1px solid #ece5f1;border-radius:17px;padding:18px;margin:24px 0}.feedback h2{font-size:15px;margin:0 0 15px}.feedback>div{display:flex;gap:6px}.feedback button{flex:1;border:1px solid #eee5f4;background:#fff;border-radius:12px;padding:10px 4px;color:#7b6a87;font-size:9px}.feedback button.selected{border-color:#b488d3;background:#f4eafa}.feedback button span{display:block;font-size:22px;margin-bottom:4px}.text-button{display:block;margin:17px auto;border:0;background:none;color:#8e6aa9;font-size:12px;font-weight:800}.empty{background:#f6f1f9;border-radius:17px;padding:25px;text-align:center}.empty b{font-size:13px}.empty p,.profile-note{font-size:11px;line-height:1.6;color:#a299aa}.empty button{border:0;border-radius:10px;background:#ae7dd2;color:white;font-size:11px;font-weight:800;padding:10px 15px}.settings{width:100%;border:1px solid #ede4f2;background:white;border-radius:14px;padding:16px;text-align:left;font-size:12px;font-weight:700;color:#544161}.settings span{float:right}.profile-note{margin:15px 0}
.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,470px);height:75px;background:#fffefaee;border-top:1px solid #eee8ef;display:flex;justify-content:space-around;padding:9px 12px max(11px,env(safe-area-inset-bottom));backdrop-filter:blur(12px);z-index:5}.bottom-nav button{border:0;background:none;color:#a99bad;font-size:10px;font-weight:800;min-width:82px}.bottom-nav button.active{color:#8858b3}.bottom-nav span{display:block;font-size:25px;line-height:29px;font-weight:400}.toast{position:fixed;bottom:90px;left:50%;transform:translateX(-50%);background:#3c2e4c;color:white;border-radius:12px;padding:12px 16px;width:min(90%,420px);text-align:center;font-size:11px;opacity:0;pointer-events:none;z-index:8}.toast.visible{opacity:1}
@media(min-width:700px){body{padding:20px}.app-shell{border-radius:30px;overflow:hidden}.bottom-nav{bottom:20px;border-radius:0 0 30px 30px}.player-actions{bottom:20px}}@media(max-width:360px){main{padding-inline:17px}.status-header{padding-inline:17px}.intro h1,h1{font-size:28px}.filters{margin-inline:-17px;padding-inline:17px}}
.video-stage-v3{height:330px;position:relative}.video-tools{position:absolute;right:13px;top:14px;display:flex;flex-direction:column;gap:8px}.video-tools button{border:0;background:#ffffffd9;color:#493954;width:36px;height:36px;border-radius:50%;font-size:18px}.video-tools button:disabled{opacity:.5}.playback-settings{display:flex;align-items:center;gap:6px;padding:12px 23px;background:#f4eef8}.playback-settings span{flex:1;font-size:11px;font-weight:800;color:#5c476c}.playback-settings button{border:0;border-radius:9px;background:#fff;color:#7b648c;padding:7px 8px;font-size:10px}.playback-settings button.selected{background:#b986df;color:white}
.playback-settings[hidden]{display:none!important}
.player-focus{text-align:center;padding:22px 24px 90px}.player-focus h1{font-size:25px;margin:9px 0}.player-focus>strong{display:block;font-size:34px;letter-spacing:-.05em;color:#3b274b;margin:5px 0 21px}.media-controls{display:flex;justify-content:center;align-items:center;gap:15px;margin:0 0 26px}.media-controls button{border:1px solid #e7deed;border-radius:50%;background:white;color:#493557;width:46px;height:46px;font-size:16px}.media-controls button.play-toggle{width:80px;height:54px;border-radius:30px;background:#f0e4f7;border:0;font-size:20px}.player-focus .lead{text-align:left}.player-focus .cue{text-align:left}.finish-step{width:100%;border:0;background:#b785d9;color:#fff;border-radius:13px;padding:15px;font-weight:800;font-size:12px;margin-top:12px}
.rest-page{position:relative;min-height:100dvh;display:flex;flex-direction:column;background:#fff}.rest-main{flex:1;min-height:450px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:35px 26px;text-align:center}.rest-main h1{font-size:34px;margin:12px 0}.rest-main strong{font-size:74px;letter-spacing:-.09em;line-height:1;color:#34243d}.rest-main p{font-size:11px;line-height:1.6;color:#a69aab;margin:18px 0 24px;max-width:270px}.rest-buttons{display:flex;gap:9px;width:100%;max-width:300px}.rest-buttons button{flex:1;border:0;border-radius:13px;background:#f0e5f9;color:#563b6b;padding:14px 8px;font-size:12px;font-weight:800}.rest-buttons button:last-child{background:#b785dc;color:#fff}.rest-preview{padding:15px 23px 28px}.rest-preview>span{color:#ae7ccf;font-size:10px;font-weight:800;letter-spacing:.1em}.rest-preview h2{font-size:20px;margin:5px 0}.rest-preview p{font-size:11px;color:#958a9a;margin:0 0 12px}.rest-preview-art{height:210px;border-radius:18px;background:linear-gradient(140deg,#d8c0ef,#aa8bcc);color:white;padding:19px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative}.rest-preview-art.yoga{background:linear-gradient(140deg,#f3d0c5,#c7a2c3)}.rest-preview-art:before{content:"";position:absolute;width:210px;height:210px;border:34px solid #ffffff4d;border-radius:50%;right:-75px;top:-65px}.rest-preview-art span{position:relative;font-size:10px;font-weight:800;letter-spacing:.18em}.rest-preview-art b{position:relative;font-size:21px;line-height:1.2}.rest-close{position:absolute;right:16px;top:15px;border:0;border-radius:50%;background:#f4eef8;color:#725b81;width:34px;height:34px}


/* Immersive workout flow: countdown, timed rest, results and streaks */
.immersive main{padding:0;min-height:100dvh}
.player-focus{padding-bottom:36px}
.countdown-page{min-height:100dvh;padding:70px 28px 45px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 30%,#f3e7fb 0,#fff 47%)}
.countdown-page.yoga{background:radial-gradient(circle at 50% 30%,#fbe8df 0,#fff 47%)}
.countdown-page h1{font-size:27px;margin:18px 0 7px}.countdown-page p{max-width:310px;color:#8f8496;font-size:12px;line-height:1.65}
.countdown-orbit{width:230px;height:230px;border-radius:50%;display:grid;place-items:center;margin-bottom:38px;background:conic-gradient(#ba83e5 0 75%,#f2e8f9 75%);position:relative;box-shadow:0 28px 70px #a975c52e}
.countdown-orbit:before{content:"";position:absolute;inset:15px;border-radius:50%;background:#fff}
.countdown-orbit:after{content:"";position:absolute;inset:-18px;border:1px solid #e8d8f4;border-radius:50%;animation:countPulse 1s ease-out infinite}
.countdown-orbit span{position:relative;font-size:112px;line-height:1;font-weight:800;color:#352040;letter-spacing:-.08em;animation:numberPulse 1s ease-in-out infinite}
@keyframes countPulse{0%{transform:scale(.92);opacity:.8}100%{transform:scale(1.12);opacity:0}}
@keyframes numberPulse{50%{transform:scale(1.08)}}
.rest-page{min-height:100dvh;background:#fff;padding-bottom:32px}.rest-main{min-height:465px;padding-top:66px}.rest-main h1{font-size:38px;margin:10px 0}.rest-main strong{font-size:82px}.rest-main p{font-size:12px}
.rest-preview{padding:8px 22px 30px}.rest-preview h2{font-size:24px;margin:7px 0}.rest-preview>span{font-size:11px}.rest-preview p{font-size:12px;line-height:1.5}
.rest-preview-media{height:240px;border-radius:22px;overflow:hidden;background:#17121d;position:relative;box-shadow:0 18px 45px #37244324}
.rest-preview-media img{display:block;width:100%;height:100%;object-fit:cover;background:#f3eef5}.rest-preview-media img[hidden]{display:none}
.rest-preview-fallback{height:100%;display:grid;place-items:center;background:linear-gradient(140deg,#d8c0ef,#aa8bcc);color:#fff}.rest-preview-fallback.yoga{background:linear-gradient(140deg,#f3d0c5,#c7a2c3)}.rest-preview-fallback span{font-size:88px}
.completion-screen{min-height:100dvh;padding:42px 27px max(34px,env(safe-area-inset-bottom));position:relative;overflow:hidden;background:#fff;display:flex;flex-direction:column}
.completion-screen h1{font-size:34px;line-height:1.08;margin:14px 0 10px}.completion-screen>.lead{font-size:13px;line-height:1.6;color:#817787}
.celebration{text-align:center;align-items:stretch;background:linear-gradient(180deg,#fff5f7 0,#fff 48%)}
.achievement-ring{width:210px;height:210px;border-radius:50%;margin:18px auto 28px;display:grid;place-items:center;position:relative;background:conic-gradient(from 210deg,#ff527e,#d88ce8 45%,#a985ef 82%,#f1e7fa 82%);box-shadow:0 25px 70px #e877a02f}
.achievement-ring:before{content:"";position:absolute;inset:16px;border-radius:50%;background:#fff}.achievement-ring span{position:relative;font-size:65px;font-weight:800;letter-spacing:-.07em;color:#34213e}.achievement-ring small{font-size:24px}
.completion-button{width:100%;border:0;border-radius:18px;background:#c7a4ef;color:#321d40;min-height:58px;padding:16px;font-size:15px;font-weight:800;margin-top:auto;box-shadow:0 12px 30px #a47ccd25}
.confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden}.confetti i{position:absolute;left:var(--x);top:-22px;width:10px;height:18px;background:var(--color);border-radius:2px;animation:confettiFall 2.8s cubic-bezier(.15,.8,.3,1) var(--delay) both;transform:rotate(calc(var(--x) * 2))}
@keyframes confettiFall{0%{translate:0 -30px;rotate:0deg;opacity:1}70%{opacity:1}100%{translate:0 104vh;rotate:720deg;opacity:0}}
.summary-screen{background:linear-gradient(180deg,#f8f2fc,#fff 34%)}.summary-screen h1{font-size:32px;margin-top:20px}.exercise-summary{margin:25px 0 28px;background:#f8f6f8;border-radius:22px;padding:8px 17px}
.exercise-summary>div{display:grid;grid-template-columns:39px minmax(0,1fr) auto;align-items:center;gap:11px;padding:13px 0;border-bottom:1px solid #eae5ec}.exercise-summary>div:last-child{border-bottom:0}
.exercise-summary span{width:37px;height:37px;border-radius:10px;display:grid;place-items:center;background:#e9ddf4;color:#79549a;font-weight:800;font-size:12px}.exercise-summary b{font-size:12px;line-height:1.3}.exercise-summary small{font-size:11px;color:#766b7d}
.streak-screen{text-align:center;align-items:stretch;background:radial-gradient(circle at 50% 27%,#fff1f5,#fff 40%)}.best-streak{align-self:flex-end;display:grid;grid-template-columns:auto auto;align-items:center;column-gap:5px;text-align:left}.best-streak span{grid-row:1/3;font-size:25px}.best-streak b{font-size:18px}.best-streak small{font-size:8px;color:#998e9e;letter-spacing:.08em}
.streak-flame{width:215px;height:230px;margin:28px auto 8px;position:relative;display:grid;place-items:center}.streak-flame>span{font-size:190px;filter:drop-shadow(0 18px 14px #ef66843b);line-height:1}.streak-flame>b{position:absolute;color:white;font-size:74px;top:72px;left:0;right:0;text-align:center}
.streak-screen h1{margin-top:0}.streak-screen .week{margin:35px 0 25px}.next-workout-note{background:#f7f1fa;border-radius:18px;padding:17px;margin-bottom:24px}.next-workout-note small,.next-workout-note b,.next-workout-note span{display:block}.next-workout-note small{font-size:9px;color:#a277bc;letter-spacing:.1em}.next-workout-note b{font-size:18px;margin:5px}.next-workout-note span{font-size:10px;color:#8b808f}
.home-progress-card{width:100%;border:0;border-radius:19px;background:linear-gradient(115deg,#3d294d,#6e487f);color:#fff;display:grid;grid-template-columns:auto 1fr 1fr auto;align-items:center;gap:12px;padding:15px 16px;margin:18px 0 20px;text-align:left;box-shadow:0 15px 35px #49295728}.home-progress-card .home-flame{font-size:31px}.home-progress-card span small,.home-progress-card span b{display:block}.home-progress-card span small{font-size:7px;letter-spacing:.11em;color:#dbcbe4}.home-progress-card span b{font-size:12px;margin-top:3px}.home-progress-card strong{font-size:20px;color:#d7b5ef}
@media(max-width:360px){.achievement-ring{width:180px;height:180px}.achievement-ring span{font-size:56px}.countdown-orbit{width:195px;height:195px}.countdown-orbit span{font-size:96px}.completion-screen{padding-inline:20px}.home-progress-card{gap:8px;padding-inline:12px}}
@media(prefers-reduced-motion:reduce){.confetti i,.countdown-orbit:after,.countdown-orbit span{animation:none}}

/* Full-width Your Move hero with a soft transition into the workout details. */
.video-stage-v3.video-ymove{width:100%;height:330px;aspect-ratio:auto;margin:0;background:#fcfafb;overflow:hidden;isolation:isolate}
.video-stage-v3.video-ymove video{width:100%;height:100%;object-fit:cover;background:#fcfafb}
.video-stage-v3.video-ymove::after{content:"";position:absolute;z-index:2;left:0;right:0;bottom:-1px;height:82px;pointer-events:none;background:linear-gradient(180deg,rgba(252,250,251,0),rgba(252,250,251,.36) 38%,rgba(252,250,251,.88) 78%,#fcfafb);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);-webkit-mask-image:linear-gradient(180deg,transparent,#000 44%,#000);mask-image:linear-gradient(180deg,transparent,#000 44%,#000)}
.video-stage-v3.video-ymove .video-tools{z-index:3}


/* Interface polish: local SVG icon system, elevated program cards and richer celebration. */
.ui-icon{display:block;flex:none;overflow:visible}
button .ui-icon{pointer-events:none}
.player-top button,.video-tools button,.media-controls button{display:grid;place-items:center;transition:transform .18s ease,background .18s ease,box-shadow .18s ease}
.player-top button:active,.video-tools button:active,.media-controls button:active{transform:scale(.92)}
.video-tools button{box-shadow:0 7px 22px #3523401f;backdrop-filter:blur(10px)}
.media-controls button{box-shadow:0 7px 22px #6f4c8212}
.media-controls button.play-toggle{background:linear-gradient(135deg,#ecdaf7,#e7d4f5);box-shadow:0 10px 26px #a574c72b}

.program-card{position:relative;display:grid;grid-template-columns:96px minmax(0,1fr) 40px;align-items:center;gap:15px;padding:12px;border:1px solid #eadff1;border-radius:24px;background:linear-gradient(135deg,#fff 0%,#faf5fd 100%);box-shadow:0 14px 35px #4b315014;margin:13px 0;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.program-card::before{content:"";position:absolute;width:150px;height:150px;border-radius:50%;right:-72px;top:-92px;background:radial-gradient(circle,#c993ed30,transparent 68%);pointer-events:none}
.program-card.yoga{background:linear-gradient(135deg,#fff 0%,#fff6f0 100%);border-color:#f0e2d9}
.program-card.yoga::before{background:radial-gradient(circle,#f1ae8f35,transparent 68%)}
.program-card:active{transform:scale(.985)}
@media(hover:hover){.program-card:hover{transform:translateY(-2px);box-shadow:0 18px 42px #4b315020;border-color:#d9c8e4}}
.program-card .art{position:relative;z-index:1;width:96px;height:118px;border-radius:18px;box-shadow:0 10px 25px #51396021}
.program-card .art small{left:9px;top:9px;padding:5px 7px}
.program-card .art strong{font-size:31px}
.card-copy{position:relative;z-index:1}
.card-copy .card-kicker{display:flex;align-items:center;gap:5px;width:max-content;max-width:100%;color:#9465aa;font-size:9px;font-weight:800;letter-spacing:.04em}
.program-card.yoga .card-kicker{color:#ad6d5f}
.card-copy b{font-size:15px;line-height:1.28;margin:8px 0}
.card-copy .card-meta{display:flex;align-items:center;gap:5px;color:#847989;font-size:10px}
.program-progress{display:block;height:5px;margin:12px 0 6px;border-radius:10px;background:#eae1ef;overflow:hidden}
.program-progress i{display:block;height:100%;min-width:5px;border-radius:inherit;background:linear-gradient(90deg,#a869d2,#d79ee6);box-shadow:0 0 10px #bd7ed877}
.program-card.yoga .program-progress i{background:linear-gradient(90deg,#e89375,#efbd86)}
.card-copy .program-progress-label{font-size:9px;color:#998e9e}
.program-card .arrow{position:relative;z-index:1;align-self:center;display:grid;place-items:center;width:38px;height:38px;padding:0;border-radius:50%;background:#fff;color:#8757a5;box-shadow:0 8px 20px #60416b17}
.program-card.yoga .arrow{color:#a96859;background:#fffaf7}

.home-progress-card .home-flame{display:grid;place-items:center;width:43px;height:43px;border-radius:14px;background:linear-gradient(145deg,#ff8f72,#ff547f);color:#fff;box-shadow:0 8px 18px #ff597448}
.home-progress-card .home-flame .ui-icon{filter:drop-shadow(0 2px 2px #9d244a55)}
.home-progress-card>strong{display:grid;place-items:center}

.celebration>*:not(.confetti){position:relative;z-index:1}
.achievement-ring{animation:achievementFloat 3.2s ease-in-out infinite}
.achievement-ring::after{content:"";position:absolute;inset:-8px;border-radius:50%;border:1px solid #ff80a24a;box-shadow:0 0 0 12px #efbbef10;animation:achievementPulse 2.2s ease-out infinite}
.confetti{position:absolute;z-index:0;inset:0;pointer-events:none;overflow:hidden}
.confetti i{position:absolute;left:var(--x);top:-8vh;width:var(--size);height:calc(var(--size) * 1.6);background:transparent;animation:confettiBurst var(--duration) cubic-bezier(.16,.72,.25,1) var(--delay) both;will-change:transform,opacity}
.confetti i::before{content:"";display:block;width:100%;height:100%;background:var(--color);border-radius:2px;box-shadow:0 2px 8px color-mix(in srgb,var(--color),transparent 55%);animation:confettiSpin .72s linear infinite}
.confetti .confetti-circle{height:var(--size)}
.confetti .confetti-circle::before{border-radius:50%}
.confetti .confetti-ribbon{width:calc(var(--size) * .55);height:calc(var(--size) * 2.3)}
.confetti .confetti-ribbon::before{border-radius:70% 15% 70% 15%}
.confetti .confetti-diamond{height:var(--size)}
.confetti .confetti-diamond::before{border-radius:1px;transform:rotate(45deg)}
.confetti .confetti-star{height:var(--size)}
.confetti .confetti-star::before{clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 94%,50% 72%,21% 94%,32% 57%,2% 35%,39% 35%)}
@keyframes confettiBurst{0%{transform:translate3d(0,-12vh,0) rotate(-25deg) scale(.65);opacity:0}7%{opacity:1}34%{transform:translate3d(calc(var(--drift) * .35),30vh,0) rotate(180deg) scale(1)}68%{transform:translate3d(calc(var(--drift) * -.22),67vh,0) rotate(420deg) scale(.92);opacity:1}100%{transform:translate3d(var(--drift),112vh,0) rotate(760deg) scale(.72);opacity:0}}
@keyframes confettiSpin{to{transform:rotate3d(1,1,.2,360deg)}}
@keyframes achievementFloat{50%{transform:translateY(-7px);box-shadow:0 34px 78px #e877a03b}}
@keyframes achievementPulse{0%{transform:scale(.92);opacity:0}35%{opacity:1}100%{transform:scale(1.13);opacity:0}}
@media(max-width:360px){.program-card{grid-template-columns:82px minmax(0,1fr) 34px;gap:10px;padding:10px}.program-card .art{width:82px;height:106px}.program-card .arrow{width:34px;height:34px}}
@media(prefers-reduced-motion:reduce){.confetti i,.confetti i::before,.achievement-ring,.achievement-ring::after{animation:none}}


/* Mobile navigation and explicit exercise dosage. */
.practice-prescription{display:inline-flex;align-items:center;justify-content:center;max-width:100%;padding:10px 15px;border-radius:14px;background:#eef3e8;color:#34462f;font-size:12px;font-weight:800;line-height:1.35;box-shadow:inset 0 0 0 1px #e3eadc}
.muscle-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin:0 auto 18px;max-width:380px}.muscle-chips[hidden]{display:none}.muscle-chips small{width:100%;font-size:9px;letter-spacing:.14em;font-weight:850;color:#aa7bc0}.muscle-chips span{display:inline-flex;align-items:center;min-height:29px;padding:6px 10px;border-radius:999px;background:#f2e9f6;color:#634574;font-size:10px;font-weight:750;line-height:1.2}.rest-preview .muscle-chips{justify-content:flex-start;margin:10px 0 13px}.rest-preview .muscle-chips small{color:#a277b6}
.primary:disabled{background:#e9e2ec;color:#8d8192;box-shadow:none;cursor:default}
.rest-preview>p{color:#665c6c;font-weight:650}
.rest-preview-media{background:#f1ebf3}
.rest-preview-fallback{position:absolute;inset:0}
.rest-preview-fallback[hidden]{display:none}
.rest-preview-fallback span{display:grid;place-items:center;width:86px;height:86px;border-radius:28px;background:#ffffff35;backdrop-filter:blur(10px)}
.bottom-nav{align-items:stretch;padding-inline:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right))}
.bottom-nav button{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:2px 3px}
.bottom-nav button>span{display:grid;place-items:center;width:36px;height:28px;margin:0 auto;border-radius:13px;line-height:1}
.bottom-nav button>span .ui-icon{width:20px;height:20px}
.bottom-nav button.active>span{background:#efe3f5}
