@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Outfit:wght@400;500;600;700&display=swap');
:root{--forest:#173f42;--forest2:#23585a;--paper:#f8f9f3;--paper2:#e8eee6;--ink:#173a3e;--muted:#526c6a;--line:#cbd8cf;--ember:#c75c39;--moss:#437c63;font-family:'DM Sans',system-ui,sans-serif;background:#eaf0e9}
body{background:#eaf0e9}.brand,.map-title,.chapter h1,.page h1,.quest h2,.side-panel h2,.brain-start h2,.workout-head h1,.focus-title{font-family:'Outfit',sans-serif}.rail{background:#173f42;width:205px;padding:32px 18px}.app{grid-template-columns:205px minmax(0,1fr)}.brand{font-size:27px;font-weight:500;line-height:1.1;color:#f9f3db;margin-bottom:36px}.nav button{display:flex;align-items:center;gap:11px;font-size:14px;min-height:48px}.ui-icon{height:21px;width:21px;flex:none;vertical-align:middle}.content{padding:24px;max-width:1450px}.top-map{position:relative;height:260px;background:#789a8c url('training-trail.png') center 56%/cover;border:0;border-radius:18px;padding:24px;color:white;overflow:hidden}.trail-heading{display:inline-block;background:#173f42e8;padding:14px 19px;border-radius:10px}.trail-heading h1{font:500 29px 'Outfit',sans-serif;margin:0 0 5px}.trail-heading p{margin:0;color:#dbe8df;font-size:14px}.trail-stops{position:absolute;inset:auto 20px 18px;display:flex;justify-content:space-between;gap:8px}.trail-stops span{background:#fbfbf2ed;color:var(--ink);padding:7px 12px;border-radius:7px;font-size:12px;font-weight:700}.brain-start{background:#f8f9f3;border:0;border-radius:14px;padding:23px 26px;margin:16px 0 20px}.brain-start h2{font-size:25px;font-weight:500}.brain-start p{font-size:14px;margin-top:6px}.brain-start .primary{min-height:54px;display:flex;align-items:center;justify-content:center;gap:10px;background:#c75c39;border:0;color:white}.primary:hover{filter:brightness(.94)}.save-state{font-size:12px}.layout{grid-template-columns:minmax(0,1fr) 275px}.journal{padding:23px;border:0;border-radius:14px;background:#f8f9f3}.chapter{align-items:center;padding-bottom:15px}.chapter h1{font-size:24px;margin:0}.chapter p{font-size:13px;margin-top:6px}#weekDates{font-size:12px;color:var(--muted);white-space:nowrap}.quest{padding:20px 0;grid-template-columns:35px minmax(0,1fr) 125px;gap:12px}.quest h2{font-size:18px;font-weight:500}.quest-index{width:30px;height:34px;background:#dbe9de;color:#245547;font-family:'DM Sans',sans-serif}.dose{gap:5px;flex-direction:column;font-size:12px}.dose strong{font-weight:500}.quest-actions{min-width:0}.quest-actions .primary{background:#173f42;border:0;font-size:13px}.quest-actions .ghost{font-size:12px;padding:6px;min-height:32px}.side-panel{border:0;background:#f8f9f3;padding:18px}.side-panel h2{font-size:20px}.side-panel>p{font-size:12px}.readiness{border:0;border-radius:8px;background:#e5eddf}.progress-row{font-size:12px}.readiness strong{font-size:13px}.page{border:0}.tree{gap:20px}.branch{background:#f0f4eb;border-top-width:2px}.branch h2{font-family:'Outfit',sans-serif}.toast{background:#173f42}.primary .ui-icon{margin-right:7px}.progress-summary strong{font-family:'Outfit',sans-serif}.brain-start .ui-icon{fill:currentColor;height:18px;width:18px}.top-map:after{display:none}
/* The workout is a playable board: demonstration, dose, and next action together. */
.focus-mode .content{max-width:1250px;padding:24px}.workout{border:0;background:#f8f9f3;padding:24px;border-radius:18px;box-shadow:0 12px 35px #173f4209}.play-header{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:14px;margin-bottom:14px}.play-header .ghost{display:flex;align-items:center;gap:8px;text-decoration:none;padding:7px}.play-header>span{color:var(--muted)}.play-header>strong{font:600 23px 'Outfit',sans-serif}.play-header small{font-size:14px;color:var(--muted)}.route-dots{display:flex;gap:5px;margin:0 0 22px}.route-dots span{height:5px;flex:1;border-radius:3px;background:#e0e8df}.route-dots .passed{background:#437c63}.route-dots .here{background:#c75c39}.play-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(290px,.8fr);gap:32px}.movement-stage{min-width:0}.movement-heading .focus-title{font-size:30px;font-weight:500;line-height:1.1;margin:0 0 18px}.visual-demo{position:relative;display:grid;place-items:center;min-height:355px;background:#e3eee7;border-radius:14px;overflow:hidden}.movement-diagram{width:100%;height:300px;max-width:400px;display:block}.movement-diagram .ground{fill:none;stroke:#b2c7b7;stroke-width:2;stroke-linecap:round}.movement-diagram .support{fill:none;stroke:#879a8d;stroke-width:6;stroke-linecap:round}.pose{fill:none;stroke:#24544e;stroke-width:9;stroke-linecap:round;stroke-linejoin:round}.pose circle{fill:#e8ba91;stroke:#24544e;stroke-width:4}.pose-a{animation:poseA 3.8s infinite}.pose-b{animation:poseB 3.8s infinite}.diagram-caption{position:absolute;top:13px;left:16px;font-size:11px;color:#526c6a}.coach-button{position:absolute;bottom:15px;right:15px;display:flex;gap:6px;align-items:center;min-height:38px;font-size:12px;background:#f8f9f3;border:0;padding:8px 12px}.coach-button .ui-icon{height:15px;width:15px}.visual-cues{display:flex;gap:10px;margin-top:16px}.visual-cues span{flex:1;font-size:13px;display:flex;align-items:center;gap:7px;line-height:1.25}.visual-cues b{font-size:11px;width:22px;height:22px;display:grid;place-items:center;flex:none;background:#e5eddf;border-radius:50%;color:#437c63}.gear-line{font-size:12px;color:var(--muted);padding:12px 0;margin:6px 0 0}.play-controls{padding-top:40px;min-width:0}.target-dose{font:500 25px 'Outfit',sans-serif;margin:0 0 7px}.timer-display{font:500 68px/1.1 'Outfit',sans-serif;font-variant-numeric:tabular-nums;letter-spacing:-2px;margin:0 0 12px}.timer-controls{gap:6px}.timer-controls .secondary{border:0;background:#e5eddf;min-height:40px}.timer-controls .ghost{font-size:12px;min-height:40px;padding:7px;text-decoration:none}.saved-glance{font-size:12px;color:var(--muted);margin:18px 0 0}.now-form{margin:14px 0 18px}.now-form label{font-size:12px;font-weight:500}.now-form input{font-size:17px;min-height:44px;background:white;border-color:#cbd8cf}.player-actions{gap:8px;margin:0}.player-actions .primary{background:#c75c39;border:0;min-height:56px;color:#fff;white-space:nowrap;font-size:15px}.player-actions .secondary{min-height:56px;background:transparent;border:1px solid #cbd8cf;font-size:12px}.next-glance{font-size:12px;margin:18px 0}.next-glance strong{display:block;font-size:14px;font-weight:500;margin-top:4px}.player-extra{border-top:1px solid var(--line);font-size:12px}.player-extra summary{font-size:12px;min-height:36px}.player-extra .guide-box{border:0;margin:0;padding:0}.player-extra .guide-box h3{display:none}.finish-slot .ghost{padding:0;min-height:36px;font-size:12px}.inline-coach{width:100%;height:355px;border:0;background:#173f42}.visual-demo>#backSketch{position:absolute;top:10px;left:10px;min-height:34px;font-size:12px}.visual-rest{background:#e5eddf;border-radius:12px;margin-top:12px;padding:15px;display:grid;grid-template-columns:85px 1fr;gap:4px 14px;align-items:center}.visual-rest .rest-preview{grid-row:1/4}.rest-preview .movement-diagram{height:105px;width:85px}.visual-rest strong{font-size:14px}.visual-rest p{font-size:12px;margin:0}.visual-rest button{min-height:38px;font-size:12px;grid-column:2}.resting-stage .visual-demo{opacity:.55}.resting-stage .pose{animation-play-state:paused}.workout .guide-tabs button{min-height:38px;font-size:11px;padding:7px}.workout .guide-panel{font-size:13px}#timerStatus{font-size:12px;color:var(--muted);min-height:16px}.play-controls .secondary:hover{background:#d7e3d8}
@keyframes poseA{0%,44%{opacity:1}50%,94%{opacity:0}100%{opacity:1}}@keyframes poseB{0%,44%{opacity:0}50%,94%{opacity:1}100%{opacity:0}}
@media(max-width:1000px){.layout{grid-template-columns:1fr}.side{grid-template-columns:repeat(3,1fr)}.play-grid{gap:20px}.rail{width:180px}.app{grid-template-columns:180px minmax(0,1fr)}}
@media(max-width:760px){.app{display:block}.rail{width:auto;height:auto;padding:15px 16px}.brand{font-size:20px;line-height:1;margin:0}.brand br{display:none}.nav{margin-top:10px}.nav button{font-size:12px;gap:5px;min-height:40px}.nav .ui-icon{height:17px;width:17px}.content{padding:12px}.top-map{height:205px;padding:14px}.trail-heading h1{font-size:22px}.trail-heading p{font-size:12px}.trail-heading{padding:10px 13px}.trail-stops{inset:auto 9px 11px;gap:4px}.trail-stops span{font-size:9px;padding:6px}.brain-start{padding:18px;gap:12px}.brain-start h2{font-size:22px}.brain-start p{font-size:13px}.brain-start .primary{min-height:49px}.side{grid-template-columns:1fr}.chapter h1{font-size:21px}.quest{grid-template-columns:30px 1fr;gap:10px}.quest-actions{grid-column:2;display:flex;align-items:center}.quest h2{font-size:18px}.quest-actions .primary{min-height:43px;padding:8px 14px}.quest-actions .ghost{min-height:43px}.journal{padding:18px}.focus-mode .content{padding:0}.workout{margin:0;border-radius:0;padding:12px;min-height:100vh}.play-header{gap:5px;margin-bottom:8px}.play-header>span{display:none}.play-header .ghost{font-size:12px}.play-header>strong{font-size:20px}.route-dots{margin-bottom:15px}.play-grid{display:flex;flex-direction:column;gap:0}.movement-heading .focus-title{font-size:25px;margin-bottom:12px}.visual-demo{min-height:220px}.movement-diagram{height:205px}.coach-button{right:10px;bottom:10px;min-height:35px}.visual-cues{margin-top:10px;gap:5px}.visual-cues span{font-size:11px;gap:4px}.visual-cues b{height:18px;width:18px;font-size:10px}.gear-line{font-size:11px;margin:0;padding:10px 0}.play-controls{padding-top:8px;display:grid;grid-template-columns:1fr 1fr;gap:7px 12px;align-items:center}.dose-slot .target-dose{font-size:24px;margin:0}.clock-slot{grid-column:2;grid-row:1/3;text-align:right}.timer-display{font-size:48px;margin:0}.timer-slot{grid-column:1}.timer-controls{gap:1px}.timer-controls #timerReset,.timer-controls #soundToggle{display:none}.timer-controls .secondary{font-size:12px;min-height:32px;padding:5px 15px}.saved-glance{grid-column:1/-1;margin:4px 0;font-size:11px}.form-slot{grid-column:1/-1}.now-form{gap:10px;margin:3px 0 8px}.now-form label{font-size:11px}.now-form input{height:41px;min-height:41px;padding:7px 10px}.action-slot{grid-column:1/-1}.player-actions .primary,.player-actions .secondary{min-height:50px}.next-glance{grid-column:1/-1;margin:5px 0;font-size:10px;display:flex;gap:7px;align-items:baseline}.next-glance strong{display:inline;font-size:12px;margin:0}.player-extra,.finish-slot{grid-column:1/-1}.visual-rest{grid-template-columns:65px 1fr}.rest-preview .movement-diagram{height:85px;width:65px}.inline-coach{height:220px}.finish-slot .ghost{min-height:30px}.player-extra summary{min-height:34px}.visual-rest p{line-height:1.2}.visual-rest .primary{min-height:36px}#timerStatus{grid-column:1/-1;margin:0;min-height:0}}
@media(prefers-reduced-motion:reduce){.pose-a{animation:none;opacity:1}.pose-b{animation:none;opacity:0}}
.inline-technique{font-size:18px;line-height:1.6;padding:35px 35px 40px 50px;max-width:65ch}.inline-technique li{margin:10px 0}.brain-start .primary,.player-actions .primary{background:#b64e2f}.player-extra .guide-media{max-height:260px}
.skill-map{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:850px;margin:32px auto}.skill-lane{text-align:center}.skill-lane h2{font:500 22px 'Outfit',sans-serif;margin-bottom:22px}.skill-stop{position:relative;display:grid;justify-items:center;gap:7px;padding-bottom:30px;min-height:150px}.skill-stop:not(:last-child):after{content:'';position:absolute;left:50%;top:60px;bottom:0;border-left:2px dashed #b6cabc;z-index:0}.skill-orb{position:relative;z-index:1;width:60px;height:60px;border:2px solid #a6bdb0;background:#e5eddf;color:#426954;border-radius:50%;display:grid;place-items:center;font-size:19px}.earned .skill-orb{background:#23584f;border-color:#23584f;color:white}.skill-orb:hover{outline:4px solid #d9e7dc}.skill-stop strong{font-weight:500;font-size:14px}.skill-stop small{font-size:11px;color:var(--muted)}.skill-evidence{display:flex;align-items:center;justify-content:center;gap:9px;font-size:12px;color:var(--muted);padding:16px}.map-hint{font-size:14px}.xp-number{display:block;font:600 34px 'Outfit',sans-serif;color:#173f42;margin-top:8px}.xp-number small{font-size:14px}.reward-stamps{display:flex;gap:12px;margin:12px 0}.reward-stamps i{display:grid;place-items:center;width:38px;height:38px;border:1px dashed #9eb5a7;border-radius:50%;color:#799387}.reward-stamps i.earned{background:#437c63;color:white;border-style:solid}.reward-stamps .ui-icon{width:17px;height:17px}.history-chart{padding:20px 0}.chart-title{display:flex;justify-content:space-between;gap:14px;align-items:center}.chart-title h2{font:500 24px 'Outfit',sans-serif}.chart-title>strong{font:600 26px 'Outfit',sans-serif}.chart-title small{font-size:12px;font-weight:400;color:var(--muted)}.minute-bars{display:flex;gap:14px;align-items:end;height:210px;padding:20px 5px 0;max-width:900px}.minute-column{flex:1;max-width:85px;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:12px}.minute-track{height:135px;display:flex;align-items:end;width:100%;background:#e8eee6;border-radius:7px;overflow:hidden}.minute-track i{display:block;width:100%;background:#437c63;border-radius:7px 7px 0 0}.minute-column small{font-size:10px;color:var(--muted)}.history-totals{display:flex;gap:45px;border-top:1px solid var(--line);margin-top:25px;padding:22px 0}.history-totals strong{font:600 28px 'Outfit',sans-serif}.history-totals span{display:block;font:400 12px 'DM Sans',sans-serif;color:var(--muted);margin-top:5px}.history-records>summary{padding:16px 0;min-height:48px;cursor:pointer;border-top:1px solid var(--line);font-weight:600}.visual-rest #continueWorkout{background:#173f42;color:white;border:0}.workout .guide-box ol{font-size:14px}
@media(max-width:760px){.skill-map{gap:8px;margin:25px -8px}.skill-lane h2{font-size:17px}.skill-stop strong{font-size:11px;max-width:100px}.skill-stop small{font-size:10px;max-width:95px}.skill-orb{width:50px;height:50px}.skill-stop:not(:last-child):after{top:50px}.history-totals{gap:25px}.chart-title h2{font-size:20px}.chart-title>strong{font-size:22px}.minute-bars{gap:6px}}
