@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--bg:#101715;--panel:#1a2320;--line:#303c35;--muted:#91a398;--ink:#edf3ec;--accent:#c8ef9b}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',sans-serif}button,input,select{font:inherit}button{cursor:pointer;color:inherit;border:0;background:none}button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button:disabled{opacity:.35;cursor:default}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,sans-serif}h1{font-size:42px;letter-spacing:-1.8px;font-weight:600}h2{font-size:27px;letter-spacing:-1px}p{line-height:1.6}.shell{max-width:1240px;margin:auto;padding:28px 44px 45px}.brand{display:flex;align-items:center;gap:11px;font-weight:700;letter-spacing:-.5px}.brandmark{width:33px;height:33px;border-radius:10px;background:var(--accent);color:#15221a;display:grid;place-items:center;font-size:24px}.brand small{font-size:10px;letter-spacing:2px;color:var(--accent);display:block}.topbar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:25px;margin-bottom:40px}.nav{display:flex;gap:26px;color:var(--muted);font-size:13px}.nav .active{color:var(--accent)}.avatar{width:36px;height:36px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:12px}.eyebrow{text-transform:uppercase;font-size:10px;font-weight:700;letter-spacing:2px;color:var(--muted);margin-bottom:10px}.muted{color:var(--muted)}.small{font-size:12px}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.intro p{margin-top:9px;color:var(--muted);font-size:14px}.primary{background:var(--accent);color:#19241a;border-radius:12px;padding:16px 23px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:50px}.secondary{border:1px solid var(--line);border-radius:11px;padding:13px 18px}.grid{display:grid;grid-template-columns:1.55fr 1fr;gap:22px}.card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:25px}.row{display:flex;align-items:center;justify-content:space-between;gap:14px}.pill{font-size:11px;border:1px solid #4b6344;color:var(--accent);padding:6px 10px;border-radius:30px}.consistency{background:linear-gradient(120deg,#25382b,#1b2720);min-height:268px}.big{font-family:Manrope;font-size:65px;letter-spacing:-4px}.big span{font-size:19px;letter-spacing:0;color:var(--muted)}.week{display:flex;justify-content:space-between;margin-top:23px}.day{text-align:center;color:var(--muted);font-size:10px}.dot{height:36px;width:36px;border:1px solid #465548;border-radius:50%;display:grid;place-items:center;margin-bottom:10px;font-size:14px}.dot.done{background:var(--accent);color:#20321c;border:0}.day.today .dot{border:1px solid var(--accent);color:var(--accent)}.section-title{font-size:17px;font-weight:600}.split-row{border-bottom:1px solid var(--line);padding:17px 0}.split-row:last-child{border:0;padding-bottom:0}.split-icon{background:#2b3730;color:var(--accent);width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-size:17px}.stack{display:flex;align-items:center;gap:13px}.highlight{padding:18px 0;border-bottom:1px solid var(--line)}.highlight:last-child{border:0;padding-bottom:0}.highlight strong{font-size:14px}.highlight p{font-size:12px;color:var(--muted);margin-top:5px}.progress{height:5px;background:#354137;border-radius:8px;margin:18px 0 8px}.progress i{display:block;width:45%;height:100%;background:var(--accent);border-radius:8px}.footer{margin-top:26px;display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.back{color:var(--muted);padding:0;margin-bottom:21px}.screen-head{margin-bottom:26px}.screen-head p{color:var(--muted);margin-top:9px}.session-options{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.session-card{text-align:left;padding:26px;border:1px solid var(--line);background:var(--panel);border-radius:18px;min-height:240px;display:flex;flex-direction:column;align-items:flex-start;gap:15px}.session-card:hover{border-color:var(--accent)}.session-card h2{margin-top:15px}.session-card p{color:var(--muted);font-size:13px}.session-card .arrow{margin-top:auto;color:var(--accent)}.review{max-width:760px;margin:auto}.review-item{padding:19px 0;border-bottom:1px solid var(--line)}.num{font-size:12px;color:var(--muted);width:25px}.review-item strong{font-size:15px}.review-item p{font-size:12px;color:var(--muted);margin-top:6px}.review-actions{display:flex;gap:9px}.review-actions button{font-size:12px;border:1px solid var(--line);padding:9px;border-radius:8px}.full{width:100%;margin-top:22px}.session-shell{max-width:1100px;margin:auto;padding:22px 36px}.work-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:17px}.timers{display:flex;gap:34px}.timer{text-align:center;font-variant-numeric:tabular-nums}.timer label{display:block;color:var(--muted);font-size:9px;letter-spacing:1.3px;margin-bottom:5px}.timer strong{font-size:18px;font-weight:500}.work-title{text-align:center;margin:23px 0 18px}.work-title h1{font-size:30px}.work-title p{font-size:12px;color:var(--muted);margin-top:5px}.work-layout{display:grid;grid-template-columns:210px 1fr 160px;gap:23px;align-items:start}.sets{padding-top:12px}.set-row{width:100%;display:flex;justify-content:space-between;padding:14px 10px;border-radius:9px;color:var(--muted);font-size:12px;margin-top:4px}.set-row.current{background:#2a382b;color:var(--ink);border:1px solid #536746}.set-row.logged{color:var(--accent)}.set-row.skipped{text-decoration:line-through}.rest{font-size:11px;color:var(--muted);padding:16px 9px}.stage{background:radial-gradient(ellipse at 50% 45%,#304337,#1b2822 70%);border:1px solid #3a4c3e;border-radius:24px;min-height:450px;position:relative;overflow:hidden;padding:23px;touch-action:pan-y}.metrics{display:flex;gap:16px;justify-content:center;position:relative;z-index:1}.metric{width:50%;text-align:center}.stepper{display:flex;align-items:center;justify-content:center;gap:18px}.stepper button{height:34px;width:34px;background:#35463b;border:1px solid #506150;border-radius:50%;font-size:22px;line-height:1}.metric input{background:none;border:0;color:var(--ink);text-align:center;font-size:42px;font-family:Manrope;width:100%;padding:7px 0 0;appearance:textfield}.metric input::-webkit-inner-spin-button{appearance:none}.metric label{font-size:10px;text-transform:uppercase;letter-spacing:2px;color:#a3b39f}.art-button{display:block;width:100%;height:230px;padding:0}.art-button svg{height:100%;width:100%;max-width:330px}.art-hint{text-align:center;font-size:9px;color:#91a38e;letter-spacing:1px;margin-bottom:15px}.log{width:100%;font-size:15px}.work-aside{padding-top:13px}.work-aside p{font-size:12px;color:var(--muted);margin-top:10px}.exercise-nav{display:flex;align-items:center;justify-content:center;gap:20px;margin:17px auto;color:var(--muted);font-size:12px}.exercise-nav button{border:1px solid var(--line);border-radius:50%;width:34px;height:34px}.bottom-actions{display:flex;justify-content:space-between;max-width:550px;margin:20px auto 0}.bottom-actions button{display:grid;gap:9px;text-align:center;font-size:11px;color:var(--muted);min-width:85px;padding:10px}.bottom-actions b{font-size:21px;font-weight:400;color:var(--ink)}.overlay{position:fixed;inset:0;background:#000a;backdrop-filter:blur(6px);display:grid;place-items:center;z-index:10;padding:20px}.dialog{max-width:460px;width:100%;background:#1c2821;border:1px solid #43533f;border-radius:22px;padding:27px;max-height:90vh;overflow:auto}.dialog h2{font-size:23px;margin-bottom:13px}.dialog p{color:var(--muted);font-size:13px}.dialog label{display:block;font-size:12px;margin:17px 0 8px;color:var(--muted)}.dialog input,.dialog select{width:100%;padding:13px;background:#101a13;border:1px solid #465841;border-radius:9px;color:var(--ink)}.dialog .row{margin-top:18px}.choice{display:block;width:100%;text-align:left;border:1px solid var(--line);padding:16px;margin-top:10px;border-radius:12px}.choice:hover{border-color:var(--accent)}.close{float:right;font-size:22px}.summary{max-width:650px;margin:20px auto}.summary .card{margin-top:20px}.summary-icon{font-size:30px;background:var(--accent);color:#20331d;width:65px;height:65px;display:grid;place-items:center;border-radius:50%;margin-bottom:24px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--accent);color:#172314;border-radius:12px;padding:13px 20px;font-size:13px;z-index:20;display:none}.end{text-align:center;padding:60px 20px}.empty{color:var(--muted);padding:20px 0;font-size:13px}.tag{font-size:10px;color:var(--accent);margin-top:7px}.demo-banner{font-size:10px;color:var(--muted)}@media(max-width:800px){.shell{padding:22px}.topbar{margin-bottom:26px}.nav{display:none}.intro{align-items:flex-start;gap:20px}.intro h1{font-size:32px}.intro .primary{font-size:12px;padding:14px;gap:10px}.grid{grid-template-columns:1fr}.session-options{grid-template-columns:1fr}.session-card{min-height:150px}.session-card h2{margin:0}.session-shell{padding:15px}.work-layout{grid-template-columns:1fr}.sets{order:0;display:flex;flex-wrap:wrap;gap:5px;padding:0}.sets .eyebrow{width:100%;margin:0}.set-row{width:auto;gap:10px;padding:8px;font-size:10px}.rest{width:100%;padding:7px 0 0}.stage{order:1;min-height:410px;max-width:500px;width:100%;margin:auto;padding:18px}.art-button{height:205px}.work-aside{display:none}.work-title{margin:17px 0}.work-title h1{font-size:25px}.work-top .brand{font-size:12px}.work-top .brandmark{height:27px;width:27px;font-size:18px}.timers{gap:18px}.timer strong{font-size:16px}.timer label{font-size:8px}.bottom-actions{margin-top:8px}.exercise-nav{margin:12px}.review-actions{gap:5px}.review-actions button{padding:8px;font-size:10px}.footer{gap:15px}.metric input{font-size:37px}}@media(prefers-reduced-motion:no-preference){.moving{animation:lift 3s ease-in-out infinite;transform-origin:170px 120px}@keyframes lift{0%,100%{transform:rotate(-7deg)}50%{transform:rotate(9deg)}}}
@media(max-width:800px){.topbar{flex-wrap:wrap;gap:15px}.nav{display:flex;order:3;width:100%;justify-content:space-between;gap:15px}.intro{flex-wrap:wrap}.work-top{padding-bottom:10px}.work-title{margin:12px 0}.work-title h1{font-size:23px}.work-layout{gap:12px}.stage{min-height:0;padding:16px}.art-button{height:155px}.art-hint{font-size:8px;margin-bottom:10px}.metric input{padding-top:0;font-size:34px}.stepper button{width:38px;height:38px}.set-row{min-height:36px}.bottom-actions button{min-height:52px}.exercise-nav{margin:10px 0}.rest{padding-top:1px}.sets .eyebrow{font-size:9px}.log{min-height:52px}.work-title .eyebrow{font-size:8px;margin-bottom:6px}}
/* Exercise-specific start / finish previews; no layout changes. */
.pose-label{fill:#a7b99e;font:9px 'DM Sans',sans-serif;letter-spacing:1.3px}.pose-finish{opacity:0}.expanded-art svg{width:100%;height:260px}.choice[hidden]{display:none}
@media(prefers-reduced-motion:no-preference){.pose-start{animation:poseStart 4s steps(1,end) infinite}.pose-finish{animation:poseFinish 4s steps(1,end) infinite}@keyframes poseStart{0%,100%{opacity:1}50%{opacity:0}}@keyframes poseFinish{0%,100%{opacity:0}50%{opacity:1}}}
@media(prefers-reduced-motion:reduce){.pose-start{opacity:.25}.pose-finish{opacity:1}.pose-start .pose-label{display:none}}
.split-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.split-column{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#151d19;transition:background .2s,border .2s}.split-column.selected{border-color:var(--accent);background:#223024}.split-column.unselected{color:#a6b1a8;background:#161b18}.split-column.unselected .split-session{opacity:.7}.split-header{width:100%;padding:24px;text-align:left;min-height:150px;border-bottom:1px solid var(--line)}.split-header .eyebrow{display:block}.split-header h2{font-size:35px;margin-bottom:9px}.split-header>span:last-child{font-size:12px}.selected .split-header{background:#30452a;color:var(--accent)}.split-session{padding:20px;border-bottom:1px solid var(--line)}.split-session:last-child{border-bottom:0}.split-session h3{font-size:17px}.split-session ol{padding-left:17px;margin:14px 0 0}.split-session li{font-size:12px;padding:5px 0;line-height:1.5}.split-session li span{display:block;font-size:10px;color:var(--muted)}.review-actions{flex-wrap:wrap;justify-content:flex-end}@media(max-width:650px){.split-grid{gap:7px}.split-header{padding:10px;min-height:135px}.split-header h2{font-size:26px}.split-header .eyebrow{font-size:7px;letter-spacing:.5px}.split-header>span:last-child{font-size:10px}.split-session{padding:10px 7px}.split-session h3{font-size:14px}.split-session li{font-size:10px}.split-session li span{font-size:8px}.split-session ol{padding-left:13px}.split-column{border-radius:10px}}
.split-header{height:185px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.split-column.unselected .split-session{opacity:.85}@media(max-width:650px){.split-header{height:155px}}
.metric input{display:block;width:calc(100% - 16px);max-width:170px;margin:8px auto 6px;padding:1px 3px;border:1px solid #65785b80;border-radius:9px;background:#16231b40}.estimate-note{color:var(--accent);font-size:11px;line-height:1.5;padding:8px 9px;max-width:480px}.split-session .tag{display:block;margin-top:9px}@media(max-width:800px){.metric input{max-width:145px;padding:1px 3px}}@media(prefers-reduced-motion:no-preference){.auto-advance{animation:nextExercise .25s ease-out}@keyframes nextExercise{from{opacity:.4;transform:translateX(22px)}to{opacity:1;transform:translateX(0)}}}
.work-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.work-top .brand{grid-column:1;justify-self:start}.work-top .timers{grid-column:2;justify-self:center}.set-row,.set-row.current{border:1px dotted #83947b;border-radius:9px}.set-row.current{border-color:var(--accent)}@media(max-width:600px){.work-top{grid-template-columns:1fr}.work-top .brand{display:none}.work-top .timers{grid-column:1;justify-self:center}}
.record-medal{display:inline-block;font-size:20px;line-height:1;margin:0 5px;flex-shrink:0}.set-row{position:relative;overflow:visible}.record-card{border-color:#bca361;background:linear-gradient(120deg,#343020,#20291d)}.analysis-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:15px 0 20px}.analysis-grid strong{display:block;font-size:25px;color:var(--accent)}.analysis-grid span{font-size:11px;color:var(--muted)}@media(prefers-reduced-motion:no-preference){.medal-slam{animation:medalSlam 1.1s cubic-bezier(.2,.8,.2,1) both}@keyframes medalSlam{0%{opacity:0;transform:translate(70px,-180px) scale(4) rotate(-20deg)}25%{opacity:1;transform:translate(0,-80px) scale(2.8) rotate(8deg)}58%{transform:translateY(2px) scale(.8)}75%{transform:translateY(-5px) scale(1.3)}100%{transform:translateY(0) scale(1)}}}
.guide-muscles{padding:17px 0;margin:15px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.guide-muscles .eyebrow{margin-bottom:6px}.technique-cues{padding-left:21px;color:var(--ink);font-size:14px;line-height:1.65}.technique-cues li{padding:7px 0 7px 5px}.technique-cues li::marker{color:var(--accent);font-weight:700}.exercise-text-preview{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;padding:20px}.exercise-text-preview strong{font-family:Manrope;font-size:21px}.exercise-text-preview>span:last-child{color:var(--accent);font-size:12px}
.static-exercise{display:none}@media(prefers-reduced-motion:reduce){.smooth-exercise{display:none}.static-exercise{display:inline}}
.coach-drawer{position:fixed;right:18px;top:18px;bottom:18px;width:430px;max-width:calc(100vw - 24px);z-index:30;background:#17231c;border:1px solid #52644b;border-radius:20px;padding:22px;box-shadow:0 15px 70px #000a;overflow:auto}.coach-drawer textarea{width:100%;min-height:80px;border:1px solid var(--line);border-radius:10px;background:#101a14;color:var(--ink);font:inherit;padding:12px;margin-top:8px}.coach-select{display:flex;gap:8px;margin:18px 0}.coach-select button{padding:10px 16px;border:1px solid var(--line);border-radius:9px}.coach-select button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.coach-options{display:grid;gap:8px;font-size:11px;color:var(--muted);margin:15px 0}.chat-messages{max-height:35vh;min-height:120px;overflow:auto;margin:18px 0}.chat-message{padding:13px;border-radius:12px;background:#253a27;margin:10px 0}.chat-message.user{background:#29322c;margin-left:25px}.chat-message span{font-size:10px;color:var(--accent);text-transform:uppercase}.chat-message p{font-size:14px;white-space:pre-wrap;margin-top:5px}.coach-launch{position:fixed;bottom:17px;right:17px;z-index:8;background:var(--accent);color:#19241a;border-radius:30px;padding:13px 20px;font-weight:700;box-shadow:0 4px 20px #0007}@media(max-width:600px){.coach-drawer{right:12px;top:12px;bottom:12px;padding:18px}}

.training-banner{border:1px solid var(--line);border-radius:14px;padding:16px 20px;margin-bottom:24px}.training-banner strong{color:var(--accent)}.timed-stage{max-width:600px;margin:25px auto;display:flex;align-items:center;flex-direction:column;gap:18px;padding:32px;background:var(--panel);border:1px solid var(--line);border-radius:20px}.timed-stage input{width:100px;text-align:center;font-size:24px;border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:8px;padding:8px}.activity-clock{font-size:72px;font-variant-numeric:tabular-nums}.timed-actions{display:flex;gap:12px;flex-wrap:wrap}.split-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}

/* Account beta: status stays clear of workout controls. */
.cloud-beta{padding-bottom:78px}.cloud-status{position:fixed;bottom:0;left:0;right:0;z-index:45;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 18px calc(10px + env(safe-area-inset-bottom));background:#17221f;border-top:1px solid #40534b;font-size:12px}.cloud-status button{background:transparent;border:1px solid #6b8c7d;border-radius:8px;color:inherit;padding:8px 12px;white-space:nowrap}.cloud-beta .coach-launch{bottom:84px}.cloud-login{max-width:540px;padding-top:35px}.cloud-login .card{padding:28px;margin-top:28px}.cloud-login h1{font-size:38px}.cloud-login form{display:grid;gap:12px;margin:20px 0}.cloud-login input{width:100%;padding:14px;border:1px solid #688274;border-radius:9px;background:#121d18;color:#fff;font-size:17px}.cloud-login a{color:#bcdd9f}.cloud-login p{line-height:1.5}
