:root{--ink:#18201b;--muted:#68726b;--paper:#f6f7f3;--card:#fff;--line:#dde2db;--lime:#dffe62;--green:#31583c;--blue:#d8e7f5;--peach:#f2d8c5;--shadow:0 18px 55px rgba(27,43,32,.09)}*{box-sizing:border-box}html{background:var(--paper)}body{margin:0;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.5}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit}button:disabled{opacity:.45;cursor:not-allowed}.shell{min-height:100vh;padding-bottom:100px}.topbar{height:72px;justify-content:space-between;max-width:1080px;margin:auto;padding:0 24px}.brand,.profile button,.topbar{display:flex;align-items:center}.brand,.profile button{border:0;background:transparent;gap:10px;font-weight:800}.brand span{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:var(--ink);color:var(--lime)}.profile{position:relative}.profile button{padding:5px 7px;border-radius:25px}.profile select{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}.avatar{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;font-size:13px}.avatar.blue{background:var(--blue)}.avatar.peach{background:var(--peach)}.demo{text-align:center;background:#eef2d8;padding:6px;font-size:13px}.content{width:min(920px,calc(100% - 32px));margin:42px auto}.eyebrow{font-size:.73rem;letter-spacing:.15em;font-weight:800;color:#758078;margin:0 0 7px}.welcome{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px}.pageTitle h1,.welcome h1{font-family:Georgia,serif;font-size:clamp(2.25rem,7vw,4.7rem);line-height:.98;letter-spacing:-.045em;margin:0 0 12px;font-weight:500}.pageTitle>p:last-child,.welcome>div>p:last-child{color:var(--muted);margin:0;font-size:1.05rem}.weekring{width:94px;height:94px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:conic-gradient(var(--green) calc(var(--week,1)*12.5%),#e2e6df 0);position:relative}.weekring:before{content:"";position:absolute;inset:7px;background:var(--paper);border-radius:50%}.weekring>*{z-index:1}.weekring b{font-size:1.75rem;line-height:1}.weekring span{font-size:12px;color:var(--muted)}.coach{border-radius:22px;padding:24px;display:flex;gap:18px;margin:22px 0;background:var(--ink);color:white;box-shadow:var(--shadow)}.coach.lighter{background:#536554}.coach.recovery{background:#594642}.coachIcon{background:var(--lime);color:var(--ink);width:42px;height:42px;min-width:42px;border-radius:14px;display:grid;place-items:center}.coach h2{margin:0 0 6px;font-family:Georgia,serif;font-weight:500;font-size:1.55rem}.coach p{margin:3px 0;color:#e5eae6}.coach .eyebrow{color:#c8d1ca}.checkPrompt{background:var(--lime);border-radius:22px;padding:23px 25px;display:flex;align-items:center;justify-content:space-between;margin:22px 0}.checkPrompt h2{font-size:1.25rem;margin:0}.checkPrompt p{margin:4px 0 0}.checkPrompt button,.hiitCard button,.progressTitle button{border:0;background:var(--ink);color:white;border-radius:13px;padding:12px 16px;font-weight:750;display:flex;gap:10px;align-items:center}.readiness{width:100%;justify-content:space-between;background:white;border:1px solid var(--line);padding:14px 16px;border-radius:15px}.readiness,.readiness span{display:flex;align-items:center}.readiness span{gap:8px}.readiness span:last-child{color:var(--muted);font-size:14px}.session{margin:38px 0}.sectionHead{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.sectionHead h2{font-family:Georgia,serif;font-weight:500;font-size:1.9rem;margin:0}.time{background:#e4e9e2;padding:7px 12px;border-radius:20px;font-size:14px}.empty{min-height:150px;background:white;border:1px solid var(--line);border-radius:20px;display:grid;place-items:center;text-align:center;padding:25px;color:var(--muted)}.empty span{width:48px;height:48px;border-radius:15px;background:#edf0eb;display:grid;place-items:center}.empty p{max-width:440px}.hiitCard{background:white;border:1px solid var(--line);border-radius:20px;padding:20px;display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center}.hiitPulse{height:56px;width:56px;border-radius:18px;background:#ffd5cd;color:#a2392b;display:grid;place-items:center}.hiitCard p{margin:4px 0}.hiitCard p,.sessionNote{color:var(--muted)}.exerciseList{display:grid;gap:10px}.exercise{background:white;border:1px solid var(--line);border-radius:18px;overflow:hidden}.exerciseHead{width:100%;border:0;background:transparent;padding:17px;display:grid;grid-template-columns:auto 1fr auto auto;gap:12px;text-align:left;align-items:center}.exerciseHead span:nth-child(2){display:flex;flex-direction:column}.exerciseHead small{color:var(--muted);font-size:13px}.order{width:32px;height:32px;background:#edf0eb;border-radius:10px;display:grid;place-items:center;font-weight:700}.setCount{font-size:13px;color:var(--muted)}.exerciseHead svg{transition:.2s}.exerciseHead svg.rotate{transform:rotate(180deg)}.exerciseBody{border-top:1px solid var(--line);padding:17px}.exerciseBody>p{margin:0 0 10px}.change{padding:10px 12px;background:#fff1cf;border-radius:10px}.progression{font-weight:650}.previous{color:var(--muted);font-size:14px}.setrow{display:grid;grid-template-columns:60px repeat(3,1fr) auto auto;gap:8px;align-items:end;padding:10px 0;border-top:1px solid #edf0eb}.setrow label{font-size:11px;color:var(--muted)}.setrow input[type=number]{display:block;width:100%;min-width:55px;border:1px solid var(--line);border-radius:8px;padding:8px;margin-top:3px}.setrow .pain{display:flex;gap:4px;align-items:center;padding-bottom:8px}.setrow button{border:0;border-radius:9px;background:var(--ink);color:white;padding:9px}.setrow.logged{opacity:.6}.primary{border:0;background:var(--ink);color:#fff;border-radius:13px;padding:13px 18px;font-weight:750;display:flex;align-items:center;justify-content:center;gap:8px}.wide{width:100%;margin-top:14px}.finish{display:flex;align-items:end;gap:10px;margin-top:18px}.finish label{font-size:12px}.finish input{display:block;width:110px;padding:9px;border:1px solid var(--line);border-radius:9px}.done{background:#e5f2df;padding:15px;border-radius:13px;margin-top:14px}.gentle,.planNote,.together{display:flex;gap:15px;align-items:start;padding:20px;border-top:1px solid var(--line);color:var(--muted)}.gentle svg,.planNote svg,.together svg{color:var(--green);min-width:24px}.gentle b,.planNote b,.together b{color:var(--ink)}.gentle p,.planNote p,.together p{margin:4px 0}.nav{position:fixed;z-index:10;bottom:18px;left:50%;transform:translateX(-50%);display:flex;background:rgba(24,32,27,.96);border-radius:22px;padding:7px;box-shadow:0 12px 38px rgba(0,0,0,.22);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.nav button{min-width:105px;border:0;background:transparent;color:#aeb8b0;border-radius:16px;padding:9px 18px;display:flex;align-items:center;justify-content:center;gap:7px;font-size:14px}.nav svg{width:18px}.nav button.active{background:var(--lime);color:var(--ink);font-weight:750}.logout{position:fixed;right:18px;bottom:25px;border:0;background:white;border-radius:14px;padding:11px;box-shadow:var(--shadow)}.logout svg{width:18px}.pageTitle{margin-bottom:30px}.pageTitle h1{max-width:650px}.legend{display:flex;gap:18px;margin-bottom:18px;color:var(--muted);font-size:13px}.legend span{display:flex;gap:6px;align-items:center}.legend i{width:10px;height:10px;border-radius:50%}.gymdot{background:var(--green)}.hiitdot{background:#e48066}.restdot{background:#d7ddd7}.weeks{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.weeks article{background:white;border:1px solid var(--line);border-radius:18px;padding:17px}.weeks article.current{border:2px solid var(--green)}.weeks header{display:flex;justify-content:space-between;margin-bottom:15px}.weeks header div{display:flex;flex-direction:column}.weeks header span{font-size:11px;letter-spacing:.12em;color:var(--muted)}.weeks header em{font-style:normal;font-size:11px;padding:4px 8px;background:var(--lime);border-radius:20px;height:max-content}.weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center}.weekdays small,.weekdays>div>span{display:block;color:var(--muted);font-size:10px}.weekdays button{border:0;width:100%;aspect-ratio:1;border-radius:9px;display:grid;place-items:center;margin:4px 0}.weekdays button svg{width:14px}.weekdays .gym{background:#dceadd;color:var(--green)}.weekdays .hiit{background:#fee1db;color:#a2392b}.weekdays .rest{background:#eef0ed;color:#a4aaa5}.planNote{margin-top:24px}.progressTitle{display:flex;justify-content:space-between;align-items:end}.progressTitle button{height:max-content}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.chartCard,.measureList,.stats article{background:white;border:1px solid var(--line);border-radius:18px;padding:20px}.stats small,.stats span{display:block;color:var(--muted);font-size:13px}.stats b{display:block;font-family:Georgia,serif;font-size:2.4rem;font-weight:500}.chartCard{margin-top:14px}.chartCard header{display:flex;justify-content:space-between}.chartCard h2{font-family:Georgia,serif;font-size:2rem;font-weight:500;margin:0}.chart{height:180px;display:flex;align-items:end;gap:8px;border-bottom:1px solid var(--line);padding:20px 5px 0}.chart i{flex:1 1;background:linear-gradient(var(--lime),#98b348);border-radius:6px 6px 0 0;min-width:10px}.measureList{margin-top:14px}.measureList article{display:flex;justify-content:space-between;padding:13px 0;border-top:1px solid var(--line)}.measureList article div{display:flex;flex-direction:column}.measureList article span{font-size:13px;color:var(--muted)}.measureList article strong{font-size:1.2rem}.gentle{margin-top:20px}.scrim{position:fixed;z-index:50;inset:0;background:rgba(16,23,18,.62);display:grid;place-items:center;padding:16px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{background:var(--paper);width:min(560px,100%);max-height:92vh;overflow:auto;border-radius:24px;padding:22px;box-shadow:0 30px 80px rgba(0,0,0,.25)}.modal>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.modal h2{font-family:Georgia,serif;font-size:1.7rem;font-weight:500;margin:0}.iconbtn{border:0;background:#e6e9e4;border-radius:50%;height:35px;width:35px;font-size:25px;line-height:1}.field{display:block;margin:13px 0}.field>span{display:flex;justify-content:space-between;font-weight:650;font-size:14px}.field>span b{font-weight:500;color:var(--muted)}.field input:not([type=range]),.field textarea{display:block;width:100%;border:1px solid var(--line);background:white;border-radius:12px;padding:12px;margin-top:6px}.field textarea{min-height:82px;resize:vertical}.field input[type=range]{width:100%;accent-color:var(--green)}.field small{display:flex;justify-content:space-between;color:var(--muted)}.field small i{font-style:normal}.measureGrid,.two{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.check{display:flex;align-items:start;gap:10px;background:white;border:1px solid var(--line);border-radius:13px;padding:13px;margin:13px 0}.check input{margin-top:5px}.check span{display:flex;flex-direction:column}.check small,.muted{color:var(--muted)}.toast{position:fixed;z-index:70;top:18px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;border-radius:12px;padding:12px 18px;box-shadow:var(--shadow)}.error,.toast.bad{color:#9c291e}.toast.bad{background:#ffe0dc}.login{min-height:100vh;padding:60px max(24px,calc((100vw - 520px)/2));display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 80% 15%,#e7fb9d 0,transparent 28%),var(--paper)}.loginMark{width:54px;height:54px;display:grid;place-items:center;background:var(--ink);color:var(--lime);border-radius:18px;margin-bottom:20px}.login h1{font-family:Georgia,serif;font-size:clamp(3rem,10vw,5.5rem);line-height:.9;letter-spacing:-.055em;font-weight:500;margin:0}.lede{font-size:1.15rem;color:var(--muted);max-width:430px;margin:22px 0 30px}.loginCard{background:white;border:1px solid var(--line);padding:22px;border-radius:20px;box-shadow:var(--shadow)}.loginCard label{font-weight:650}.loginCard input{display:block;width:100%;padding:14px;border:1px solid var(--line);border-radius:11px;margin:7px 0 12px}.loginCard button{width:100%;border:0;border-radius:11px;background:var(--ink);color:white;padding:14px;font-weight:750;display:flex;justify-content:center;align-items:center;gap:8px}.loginCard small{display:flex;align-items:center;gap:7px;margin-top:16px;color:var(--muted)}.center{min-height:100vh;display:grid;place-content:center;text-align:center;color:var(--muted)}.center button{border:0;background:var(--ink);color:white;padding:12px 18px;border-radius:12px;display:flex;gap:8px}.loader{width:30px;height:30px;border-radius:50%;border:3px solid #dfe4df;border-top:3px solid var(--green);animation:spin .7s linear infinite;margin:auto}@keyframes spin{to{transform:rotate(1turn)}}@media(max-width:680px){.topbar{padding:0 17px}.content{margin:25px auto}.profile button b{display:none}.welcome{align-items:center}.weekring{width:75px;height:75px}.checkPrompt,.coach{border-radius:18px;padding:18px}.checkPrompt{gap:13px}.checkPrompt,.readiness{align-items:start;flex-direction:column}.readiness{gap:6px}.hiitCard{grid-template-columns:auto 1fr}.hiitCard button{grid-column:1/-1;justify-content:center}.setrow{grid-template-columns:52px repeat(3,1fr)}.setrow .pain,.setrow button{grid-column:auto}.finish{flex-wrap:wrap}.weeks{grid-template-columns:1fr}.progressTitle{align-items:start;flex-direction:column;gap:18px}.stats{grid-template-columns:repeat(3,1fr)}.stats article{padding:14px 10px}.stats b{font-size:2rem}.nav{bottom:10px;width:calc(100% - 24px)}.nav button{min-width:0;flex:1 1;padding:10px 7px}.logout{display:none}.measureGrid,.two{grid-template-columns:1fr}.modal{border-radius:22px 22px 0 0;position:absolute;bottom:0;max-height:94vh}.scrim{padding:0}.pageTitle h1,.welcome h1{font-size:2.7rem}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}.sessionPreview{display:grid;gap:14px}.previewMeta{margin:0;color:var(--muted);font-size:14px}.previewNotice{display:flex;gap:9px;align-items:flex-start;background:#eef2d8;border-radius:12px;padding:12px;margin:0}.previewNotice svg{min-width:17px;margin-top:3px}.sessionPreview .exerciseList{padding-right:3px}.guideCard{margin:16px 0 18px;border:1px solid var(--line);border-radius:16px;background:#f7f8f4;overflow:hidden}.guideTop{display:flex;align-items:center;justify-content:space-between;padding:14px 15px 10px}.guideTop h4{font-family:Georgia,serif;font-size:1.25rem;font-weight:500;margin:2px 0 0}.guideLabel{font-size:10px;letter-spacing:.13em;font-weight:800;color:#778078}.demoControls{display:flex;gap:6px}.demoControls button{height:34px;border:1px solid #d8ddd5;background:white;border-radius:10px;display:flex;align-items:center;gap:5px;padding:0 10px;font-size:12px;font-weight:700}.demoControls button:last-child{width:34px;padding:0;justify-content:center}.demoControls svg{width:14px}.motionStage{margin:0 14px;background:linear-gradient(150deg,#eaf4df,#f3f7ed);border-radius:14px;padding:4px 12px 10px}.motionStage svg{display:block;width:100%;height:190px}.motionStage .floor{stroke:#bac6b6;stroke-width:3;stroke-linecap:round}.motionStage .pose{fill:#18201b;stroke:#18201b;stroke-width:8;stroke-linecap:round;stroke-linejoin:round}.motionStage .joint{fill:var(--lime);stroke:none}.motionStage .equipment{stroke:#55705d;stroke-width:7}.poseStart{opacity:1;animation:poseStart 2.4s ease-in-out infinite}.poseFinish{opacity:0;animation:poseFinish 2.4s ease-in-out infinite}.motionStage.paused .pose{animation-play-state:paused}.phaseLabels{display:flex;justify-content:space-between;color:#607064;font-size:11px;font-weight:700}.phaseLabels span:last-child{text-align:right}.muscleGroups{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px}.muscleGroups>div{background:white;border-radius:12px;padding:11px}.muscleTitle{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted);font-weight:700}.muscleTitle:before{content:"";width:8px;height:8px;border-radius:50%}.primaryDot:before{background:#557f41}.secondaryDot:before{background:#d2a356}.muscleGroups p{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 0}.muscleGroups b{font-size:12px;background:#edf2e9;border-radius:20px;padding:5px 8px}.muscleGroups>div:last-child b{background:#f7edd9}.formCues{border-top:1px solid var(--line);padding:13px 15px}.formCues ol{margin:7px 0 0;padding-left:20px}.formCues li{padding:3px 0;font-size:13px}.formCues li::marker{font-weight:800;color:var(--green)}@keyframes poseStart{0%,38%{opacity:1}50%,88%{opacity:0}to{opacity:1}}@keyframes poseFinish{0%,38%{opacity:0}50%,88%{opacity:1}to{opacity:0}}@media(max-width:480px){.guideTop{align-items:flex-start}.demoControls button span{display:none}.demoControls button:first-child{width:34px;padding:0;justify-content:center}.motionStage svg{height:165px}.muscleGroups{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.poseStart{opacity:1}.poseFinish{opacity:0}.pose{animation:none!important}}.realVideoGuide .guideTop{padding:16px}.videoMark{width:34px;height:34px;color:var(--green)}.videoWrap{position:relative;width:100%;aspect-ratio:16/9;background:#111;overflow:hidden}.videoPoster,.videoWrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.videoPoster{padding:0;background:#111;color:white;cursor:pointer;overflow:hidden}.videoPoster img{width:100%;height:100%;display:block;object-fit:cover}.videoPoster:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 35%,rgba(0,0,0,.72))}.videoPoster span{position:absolute;z-index:1;left:50%;bottom:16px;transform:translateX(-50%);display:flex;align-items:center;gap:8px;width:max-content;max-width:calc(100% - 24px);padding:10px 15px;border-radius:999px;background:#fff;color:#17241d;font-size:13px;font-weight:800;box-shadow:0 5px 20px rgba(0,0,0,.25)}.videoPoster span svg{width:21px;height:21px;color:var(--green)}.videoPoster:focus-visible{outline:4px solid var(--gold);outline-offset:-4px}.videoUnder{justify-content:space-between;gap:12px;padding:10px 14px;color:var(--muted);font-size:12px;border-bottom:1px solid var(--line)}.videoUnder,.videoUnder a{display:flex;align-items:center}.videoUnder a{gap:5px;color:var(--green);font-weight:750;text-decoration:none}.videoUnder svg{width:13px}.movementPath{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin:14px;background:white;border-radius:12px;padding:11px 13px}.movementPath span{display:flex;flex-direction:column;font-size:13px;font-weight:700}.movementPath span:last-child{text-align:right}.movementPath small{font-size:9px;letter-spacing:.12em;color:var(--muted);margin-bottom:2px}.movementPath i{font-style:normal;font-size:22px;color:var(--green)}@media(max-width:480px){.realVideoGuide{margin-left:-7px;margin-right:-7px}.realVideoGuide .guideTop{padding:13px}.realVideoGuide .guideTop h4{font-size:1.12rem}.videoUnder{align-items:flex-start;flex-direction:column;gap:4px}.movementPath{margin:11px}.realVideoGuide .muscleGroups{padding:11px}}.previous{display:flex;flex-wrap:wrap;gap:5px 12px;padding:12px 0;font-size:13px}.previous b{width:100%;color:var(--ink)}.previous span{padding:4px 8px;background:#eef1eb;border-radius:8px}.setChoice{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px;margin:8px 0 16px;background:#eef4e9;border-radius:14px}.setChoice>div:first-child{display:flex;flex-direction:column}.setChoice span,.setLabels span{font-size:12px;color:var(--muted)}.stepper{display:flex;align-items:center;background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden;flex:none}.stepper button{border:0;background:white;width:38px;height:38px;display:grid;place-items:center}.stepper button:first-child{border-right:1px solid var(--line)}.stepper button:last-child{border-left:1px solid var(--line)}.stepper svg{width:16px}.stepper output{min-width:38px;text-align:center;font-weight:800}.setLabels{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:3px}.setrow.logged{opacity:1;background:#f3f7f0}.setrow.logged>button{background:var(--green)}@media(max-width:680px){.setChoice{align-items:flex-start}.setrow{grid-template-columns:44px repeat(3,minmax(0,1fr));padding:11px 5px}.setrow input[type=number]{min-width:0;padding:8px 5px}.setrow .pain{grid-column:2/4;padding:5px 0}.setrow>button{grid-column:4}}