@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--ink:#172e36;--muted:#607176;--green:#147d70;--lime:#d7f78a;--paper:#f6f7f2;--line:#dce2dd}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:14px;line-height:1.55}button,a{ -webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #e09a2c;outline-offset:4px}button{border:0;background:none;color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.1}h1,h2,h3,.brand,.letter,.stopwatch{font-family:'Barlow Condensed','Arial Narrow',Arial,sans-serif}p{line-height:1.7}.topbar{height:92px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 5%;gap:24px;background:#fff}.brand{text-decoration:none;display:flex;align-items:center;gap:12px;font-size:25px;font-weight:800;letter-spacing:1px}.brand small{display:block;font-family:'DM Sans',sans-serif;font-size:8px;letter-spacing:2.1px;font-weight:600}.brand-mark{background:var(--ink);color:var(--lime);height:42px;width:42px;display:flex;justify-content:center;align-items:center;font-style:italic;font-size:34px;position:relative;border-radius:9px}.brand-mark span{font-size:18px;margin-left:-5px}.topbar nav{display:flex;gap:28px;height:100%;align-items:center}.topbar nav button{height:100%;padding:0;border-bottom:3px solid transparent;font-size:13px;color:var(--muted)}.topbar nav button.active{border-color:var(--green);color:var(--ink);font-weight:700}.account{display:flex;align-items:center;gap:12px;font-size:12px}.private-tag{border:1px solid var(--line);border-radius:30px;padding:7px 10px}.preview-tag{font-size:10px;font-weight:700;color:var(--green)}main{max-width:1280px;margin:auto;padding:32px 44px 0}.hero{border-radius:20px;background:var(--ink);color:white;min-height:330px;display:grid;grid-template-columns:1.15fr 1fr;align-items:center;padding:38px 42px;overflow:hidden;position:relative}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:700;display:block}.hero .eyebrow{color:#c3d6cc;display:flex;align-items:center;gap:9px}.hero .eyebrow span{width:6px;height:6px;background:var(--lime);border-radius:100%}.hero h1{font-size:66px;line-height:.98;letter-spacing:-1px;margin:18px 0}.hero h1 em{font-style:normal;color:var(--lime)}.hero p{color:#cedad9;font-size:13px}.hero-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:23px}.hero-tags span{font-size:10px;border:1px solid #547071;border-radius:30px;padding:5px 10px}.rink-wrap{transform:rotate(-8deg);padding-left:24px;opacity:.95}.rink{width:100%;fill:none;stroke:#769393;stroke-width:1.1}.rink .blue{stroke:#8badbc;stroke-width:3}.rink .red{stroke:#be8879;stroke-dasharray:4 6}.rink .route{stroke:var(--lime);stroke-width:3;stroke-dasharray:6 7}.rink .arrow{stroke:var(--lime);stroke-width:3}.rink .puck{fill:var(--lime);stroke:none}.rink-caption{font-size:9px;letter-spacing:1.8px;display:block;text-align:center;color:#c1d4cc;margin-top:12px}.motto{font-family:'Barlow Condensed','Arial Narrow',sans-serif;font-size:22px!important;text-transform:uppercase;letter-spacing:.5px;max-width:420px;color:#fff!important;line-height:1.2!important}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:35px 0 22px}.section-heading .eyebrow{color:var(--green);margin-bottom:7px}h2{font-size:36px;letter-spacing:-.4px}h3{font-size:25px}.total-progress{display:flex;gap:12px;align-items:center}.total-progress strong{font-size:28px}.total-progress strong span{color:#95a09d;font-size:17px}.total-progress>span{font-size:10px;color:var(--muted);max-width:92px;line-height:1.5}.week-tabs{display:grid;grid-template-columns:repeat(8,1fr);gap:8px}.week-tabs button{text-align:left;border:1px solid var(--line);border-radius:10px;padding:13px 16px;background:#fff;display:flex;flex-direction:column}.week-tabs button.selected{background:var(--green);color:white;border-color:var(--green);box-shadow:0 5px 14px #147d7018}.week-tabs small{font-size:9px;letter-spacing:1px}.week-tabs strong{font-size:24px;line-height:1.5}.week-tabs span{font-size:9px;text-transform:capitalize;opacity:.8}.week-intro{display:flex;align-items:center;justify-content:space-between;margin:28px 0 21px}.week-intro .eyebrow{color:var(--green);font-size:9px;margin-bottom:7px}.week-intro p{color:var(--muted);font-size:12px;margin-top:7px}.space-badge{border:1px solid var(--line);font-size:11px;padding:7px 12px;border-radius:20px;white-space:nowrap}.session-tabs{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:30px}.session-card{border:1px solid var(--line);border-radius:12px;background:white;display:flex;align-items:center;gap:16px;text-align:left;padding:20px}.session-card.selected{border:1.5px solid var(--green);background:#edf5ef}.session-card .letter{background:#e8ede8;border-radius:9px;font-size:32px;font-weight:700;padding:6px 17px}.session-card.selected .letter{background:var(--green);color:white}.session-card small{font-size:9px;letter-spacing:.6px;color:var(--muted)}.session-card strong{display:block;font-size:16px;margin:2px 0}.session-card span span{font-size:10px;color:var(--muted)}.session-card b{margin-left:auto;font-size:24px;font-weight:400}.workout-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:26px}.workout-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.workout-heading span{color:var(--muted);font-size:11px}.exercise-list{display:flex;flex-direction:column;gap:9px}.exercise{border:1px solid var(--line);background:white;border-radius:11px;overflow:hidden}.exercise-top{display:flex;align-items:center;gap:16px;padding:16px 19px}.checkbox{flex-shrink:0;width:36px;height:36px;border:1px solid #cbd6ce;border-radius:50%;font-size:11px;color:#778882}.checked .checkbox{background:var(--green);color:white;border-color:var(--green);font-size:18px}.checked .exercise-title strong{color:var(--green)}.exercise-title{text-align:left;padding:0;flex:1}.exercise-title small{display:block;font-size:8px;letter-spacing:1.2px;color:var(--green);font-weight:700;margin-bottom:2px}.exercise-title strong{font-size:15px;display:block}.exercise-title span{display:block;color:var(--muted);font-size:11px;margin-top:4px}.exercise-title b{font-weight:400;margin:0 5px}.expand{font-size:23px;color:var(--muted);width:28px}.exercise-detail{padding:0 23px 22px 72px}.cue{color:var(--green);font-weight:600;font-size:13px}.exercise-detail ol,.modal ol{padding-left:18px;font-size:13px;color:#455c60;line-height:1.7}.exercise-detail li{margin-bottom:6px}.exercise-detail details{font-size:12px;padding:10px 0;border-top:1px solid var(--line)}summary{cursor:pointer;font-weight:600}details p{padding:8px 0;color:var(--muted)}.progression{font-size:12px;background:#edf5ef;padding:10px 12px;border-radius:7px;margin-bottom:10px}.exercise-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.exercise-actions button{border:1px solid var(--line);border-radius:6px;padding:7px 10px;font-size:11px}.exercise-actions .watch{color:var(--green);font-weight:600}.watch small{display:block;font-size:8px;text-align:left;font-weight:400}.timer-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:25px;position:sticky;top:20px}.timer-card .eyebrow{color:var(--green);font-size:8px;margin-bottom:9px}.stopwatch{font-size:64px;font-weight:600;line-height:1.2;letter-spacing:2px;margin:18px 0 7px;font-variant-numeric:tabular-nums}.timer-card p{font-size:11px;color:var(--muted)}.button{background:var(--green);color:#fff;border-radius:7px;padding:12px 19px;font-size:12px;font-weight:600;display:inline-block;text-decoration:none;text-align:center}.timer-card>.button{width:100%;margin:20px 0}.button.small{padding:8px 13px;font-size:11px}.rest-block{border-top:1px solid var(--line);padding-top:17px}.rest-block>div:first-child{display:flex;justify-content:space-between;align-items:center;font-size:11px;gap:10px}.rest-block span{font-size:23px;font-variant-numeric:tabular-nums}.rest-options{display:flex;gap:6px;margin:10px 0}.rest-options button{border:1px solid var(--line);padding:5px 9px;border-radius:5px;font-size:10px}.save-status{font-size:10px;color:var(--green);border-top:1px solid var(--line);padding-top:15px;margin-top:15px}.error{color:#a13523!important}.coach-note{background:#eaf0e2;border-radius:13px;padding:24px;margin-top:16px}.coach-note .eyebrow{font-size:8px;color:#536a4c}.coach-note h3{margin:10px 0;font-size:26px}.coach-note p,.mini-note p{font-size:11px;color:#52634e;margin-top:9px}.mini-note{padding:24px 10px}.mini-note strong{font-size:12px}.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:25px}.checkin{margin-top:20px}.checkin h3{margin:8px 0 17px}.feelings{display:flex;gap:9px}.feelings button{border:1px solid var(--line);border-radius:7px;padding:9px 14px;font-size:12px}.feelings button.chosen{background:#e2f0e7;border-color:var(--green);color:var(--green)}.checkin p{font-size:11px;color:var(--muted);margin:16px 0}.finish-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.finish-actions>button:not(.button){font-size:11px;text-decoration:underline}.result{border-top:1px solid var(--line);padding-top:15px;margin-top:16px;color:var(--green);font-size:12px}.result button{text-decoration:underline;margin-left:10px;font-size:11px}.history-grid,.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.history-grid h3,.guide-grid h3{margin:10px 0 20px}.history-row{width:100%;display:flex;align-items:center;justify-content:space-between;padding:15px 0;text-align:left;border-top:1px solid var(--line)}.history-row small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.history-row>span:last-child{font-size:12px}.guide-grid p{color:var(--muted);font-size:13px;margin:12px 0}.sources{grid-column:1/-1}.muted{color:var(--muted);font-size:12px;margin-top:18px}.notice{padding:12px 18px;background:#fff5da;border:1px solid #eaddb8;color:#6e5727;border-radius:9px;margin-bottom:20px;font-size:12px}.signin-notice{background:#edf5ef;border-color:#d1e4d9;color:var(--ink);display:flex;justify-content:space-between;gap:20px;align-items:center}.signin-notice strong{display:block}.signin-notice>div:last-child{display:flex;gap:12px;align-items:center;white-space:nowrap}footer{display:flex;justify-content:space-between;padding:32px 0;margin-top:40px;border-top:1px solid var(--line);color:var(--muted);font-size:9px;letter-spacing:1px}.modal-backdrop{position:fixed;inset:0;background:#0c202bba;z-index:9999;display:flex;justify-content:center;align-items:center;padding:22px}.modal{width:min(680px,100%);max-height:90vh;overflow:auto;background:white;border-radius:15px;padding:30px;position:relative}.modal h3{margin:8px 35px 20px 0;font-size:30px}.modal iframe{border:0;width:100%;aspect-ratio:16/9;background:#172e36;border-radius:9px}.modal p{font-size:12px;margin:14px 0}.modal a{font-size:12px;color:var(--green)}.modal small{display:block;margin-top:12px;font-size:10px;color:var(--muted)}.modal-close{position:absolute;right:17px;top:10px;font-size:30px}.movement{background:#edf5ef;border-radius:12px;padding:12px;text-align:center}.movement svg{width:180px;height:130px;fill:none;stroke:var(--green);stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.movement .ground{stroke:#bacbc0;stroke-width:2}.movement .direction{stroke:#758442;stroke-width:3}.movement span{display:block;font-size:10px;color:var(--muted)}.movement.side .person{animation:sidestep 3s infinite ease-in-out}.movement.line .person{animation:step 3s infinite ease-in-out}@keyframes sidestep{0%,100%{transform:translateX(-12px)}50%{transform:translateX(12px)}}@keyframes step{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}@media(max-width:1000px){main{padding:24px}.topbar{padding:0 24px}.topbar nav{gap:17px}.private-tag{display:none}.hero{padding:30px}.hero h1{font-size:56px}.workout-layout{grid-template-columns:minmax(0,1fr) 255px;gap:18px}.timer-card{padding:20px}.week-tabs button{padding:10px}.session-card strong{font-size:14px}}@media(max-width:760px){.topbar{height:auto;min-height:100px;flex-wrap:wrap;padding:17px 20px 0;gap:14px}.brand{font-size:22px}.brand-mark{height:36px;width:36px}.account{margin-left:auto}.topbar nav{order:3;width:100%;height:40px;gap:25px}.topbar nav button{font-size:12px}main{padding:18px 16px 0}.hero{padding:26px;grid-template-columns:1fr;min-height:0}.hero h1{font-size:58px}.rink-wrap{display:none}.hero .eyebrow{font-size:8px}.motto{font-size:21px!important}.hero-tags span{font-size:9px}.section-heading{margin:28px 0 18px}h2{font-size:29px}.total-progress{gap:8px}.total-progress>span{max-width:65px;font-size:8px}.total-progress strong{font-size:24px}.week-tabs{grid-template-columns:repeat(4,1fr);gap:6px}.week-tabs button{padding:10px 12px}.week-tabs strong{font-size:22px}.week-tabs span{font-size:8px}.week-intro{align-items:flex-start;gap:10px}.week-intro h3{font-size:24px}.space-badge{display:none}.session-tabs{grid-template-columns:1fr;gap:8px;margin-bottom:22px}.session-card{padding:13px 16px}.session-card .letter{font-size:28px;padding:4px 14px}.session-card strong{font-size:15px}.workout-layout{grid-template-columns:1fr}.workout-layout aside{grid-row:1;display:grid;grid-template-columns:1fr}.timer-card{position:static;padding:18px;display:grid;grid-template-columns:1fr 1fr;column-gap:18px;align-items:center}.timer-card>.eyebrow{grid-column:1/-1}.timer-card h3{font-size:23px}.stopwatch{font-size:46px;margin:0;text-align:right;grid-column:2;grid-row:2/4}.timer-card>.button{grid-column:1/-1;margin:14px 0}.timer-card>p{font-size:10px}.rest-block,.save-status{grid-column:1/-1}.rest-options{margin-bottom:0}.rest-block{padding-top:10px}.rest-block>div:first-child{font-size:12px}.rest-options button{font-size:12px;padding:7px 14px}.coach-note,.mini-note{display:none}.exercise-top{padding:15px;gap:12px}.exercise-detail{padding:0 18px 18px}.exercise-title strong{font-size:14px}.exercise-title span{font-size:10px}.checkbox{width:33px;height:33px}.history-grid,.guide-grid{grid-template-columns:1fr}.signin-notice{display:block}.signin-notice>div:last-child{margin-top:10px;flex-wrap:wrap}.card{padding:20px}.finish-actions{gap:14px}.checkin .button{width:100%}footer{gap:25px;font-size:8px;line-height:1.6}.modal{padding:23px}.modal h3{font-size:26px}.preview-tag{font-size:8px}.notice{font-size:11px}}

.reset-timer{display:block;width:100%;text-decoration:underline;font-size:10px;color:var(--muted);margin:-8px 0 16px;grid-column:1/-1}
.warmup-guide:empty{display:none}.warmup-guide{background:#edf5ef;border-radius:8px;padding:15px;margin:12px 0}.warmup-guide>strong{font-family:'Barlow Condensed',sans-serif;font-size:25px;line-height:1.1;display:block}.warmup-guide p{margin:8px 0}.warmup-guide small{font-size:10px;color:var(--green)}.warmup-guide ol{padding-left:18px;font-size:11px;color:var(--muted);line-height:1.8}.warmup-guide li.now{font-weight:700;color:var(--green)}.warmup-guide li.done{text-decoration:line-through;opacity:.7}.sound-toggle{font-size:11px;text-decoration:underline;margin-top:10px}.auth-page{max-width:1160px;min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:65px;padding:45px}.auth-brand{background:var(--ink);color:#fff;padding:38px;border-radius:22px}.auth-brand .brand{margin-bottom:55px}.auth-brand .eyebrow{color:var(--lime);font-size:9px}.auth-brand h1{font-size:60px;margin:18px 0}.auth-brand em{color:var(--lime);font-style:normal}.auth-brand .rink{margin:25px 0 0}.auth-card h2{font-size:36px;margin:12px 0}.auth-card>p{color:var(--muted);font-size:13px;margin:15px 0 24px}.auth-card label{display:block;font-size:12px;font-weight:600;margin:15px 0 6px}.auth-card input{width:100%;padding:13px;border:1px solid #bbc9c2;border-radius:7px;background:white;font-size:16px}.auth-card form .button{width:100%;margin-top:22px;font-size:14px}.forgot{display:block;text-align:center;font-size:12px;margin:15px 0 25px}.auth-signup{border-top:1px solid var(--line);padding-top:25px}.auth-signup p{font-size:12px;color:var(--muted);margin:12px 0}.signup{width:100%;background:transparent;color:var(--green);border:1px solid var(--green)}.auth-signup small{display:block;font-size:10px;color:var(--muted);margin:14px 0}@media(max-width:760px){.auth-page{display:block;padding:20px}.auth-brand{padding:25px}.auth-brand .brand{margin-bottom:28px}.auth-brand h1{font-size:44px}.auth-brand .rink{display:none}.auth-brand .motto{font-size:18px!important}.auth-card{padding:28px 5px}.auth-card h2{font-size:32px}}

/* Clear movement controls */
.timer-card h3{margin-bottom:10px}.timer-card .timer-help{margin-bottom:15px}.rest-options{flex-wrap:wrap}.rest-options .timer-pause{width:100%;margin-top:8px;background:#f1b94e;color:#172e36;border:2px solid #d79928;font-weight:700;font-size:15px;min-height:46px;border-radius:8px}.rest-options .timer-pause:hover:not(:disabled){background:#ffca67}.rest-options .timer-pause:disabled{background:#e7e9e5;border-color:#dce2dd;color:#607176}.exercise-launch{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 19px 16px 71px}.exercise-launch>span{font-size:12px;color:var(--muted)}.start-movement{min-height:44px;font-size:13px}.start-movement:hover{background:#0f655b}.timer-card #countdown{font-size:36px;font-weight:700}.timer-card #count-label{font-size:13px}@media(max-width:760px){.timer-card{display:block}.exercise-launch{padding:0 15px 15px 60px}.timer-card h3{font-size:25px}}

.completion-control{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:64px;flex-shrink:0;cursor:pointer;font-size:11px;font-weight:700;color:var(--ink)}.completion-control input{width:24px;height:24px;margin:0;accent-color:var(--green);cursor:pointer}.completion-control input:focus-visible{outline:3px solid #e09a2c;outline-offset:4px}.completion-control.is-done{color:var(--green)}.completion-control:has(input:disabled){opacity:.45;cursor:not-allowed}.completion-control input:disabled{cursor:not-allowed}.exercise-launch{padding-left:99px}@media(max-width:760px){.completion-control{min-width:58px;font-size:10px}.exercise-launch{padding-left:85px}}

.count-reset{display:block;width:100%;min-height:44px;border:1px solid #a8b7ae;border-radius:8px;font-weight:600;margin:10px 0;color:var(--ink);background:#f6f7f2}.count-reset:hover:not(:disabled){background:#eaf0e2}

.workout-layout section>.coach-note,.workout-layout section>.mini-note{display:block}.workout-layout section>.coach-note{margin-top:20px}.workout-layout section>.mini-note{padding:20px 24px}.workout-layout aside{align-self:stretch}

.picture-sequence{margin:20px 0 24px}.sequence-heading{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:baseline;margin-bottom:12px}.sequence-heading>strong{font-size:14px}.sequence-heading>span{font-size:11px;color:var(--muted)}.sequence-frames{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sequence-frames figure{position:relative;margin:0;background:#f2f5ed;border:1px solid #dbe4d5;border-radius:14px;padding:12px}.sequence-number{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#244752;color:white;font-size:12px;font-weight:700}.sequence-frames svg{display:block;width:100%;height:140px}.sequence-frames figcaption strong{display:block;font-size:13px;margin:6px 0}.sequence-frames figcaption span{display:block;font-size:12px;line-height:1.5;color:#52675e}.modal:has(.picture-sequence){max-width:850px}@media(min-width:1100px){.sequence-frames{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:420px){.sequence-frames{gap:8px}.sequence-frames figure{padding:9px}.sequence-frames svg{height:108px}.sequence-frames figcaption span{font-size:11px}}

#cue-output{display:block;flex-basis:100%;text-align:center;background:#eaf1df;border:2px solid #36796d;border-radius:12px;padding:22px 12px;font-size:28px;line-height:1.3;color:#172e36}

@media(max-width:420px){.sequence-frames{grid-template-columns:1fr}.sequence-frames svg{height:160px}.sequence-frames figcaption span{font-size:13px}}

.cue-panel{flex-basis:100%;text-align:center}.cue-panel p{margin:10px 0;font-size:13px}.cue-panel>span{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}
