:root{font-family:DM Sans,sans-serif;color:#18372f;background:#f1f1e9;font-synthesis:none;font-weight:400}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,select{min-height:44px}button{cursor:pointer;border:1px solid #cdd3c8;border-radius:10px;background:transparent;padding:10px 18px;color:inherit;font-weight:600}button:hover{background:#e2e9db}button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #7cac49;outline-offset:4px}input[type=range]{width:100%;accent-color:#446b3c;min-height:36px;cursor:pointer}main{max-width:1500px;margin:auto;padding:0 5%}header{height:96px;display:flex;align-items:center;gap:36px;border-bottom:1px solid #d6dbd0}.brand{font-family:Avenir Next,system-ui,sans-serif;font-size:38px;letter-spacing:-2px;font-weight:700;text-decoration:none;color:#18372f}.brand-dot{color:#759449;font-size:15px;margin-left:5px}.tagline,.eyebrow,.version,.guide-footer,.range-labels{font-size:11px;letter-spacing:1.7px;font-weight:700}.tagline{color:#738075}.header-actions{margin-left:auto;display:flex;gap:22px;align-items:center}.version{color:#738075}.intro{display:flex;align-items:center;justify-content:space-between;padding:36px 0 28px}.eyebrow{color:#788976}h1{font-family:Avenir Next,system-ui,sans-serif;font-size:46px;letter-spacing:-2px;margin:8px 0}p{color:#6c7a6c;line-height:1.5;margin:6px 0}.session-pill{border:1px solid #d4dacb;border-radius:30px;padding:12px 16px;font-size:10px;letter-spacing:1.5px;font-weight:700}.session-pill i{display:inline-block;width:7px;height:7px;background:#759449;border-radius:50%;margin-right:6px}.trainer{background:#102c26;color:#f4f5e8;border-radius:22px;padding:24px 30px;box-shadow:0 8px 30px #102c2610}.trainer-top{display:flex;justify-content:space-between;align-items:center}.trainer .eyebrow{color:#a3b3a3}.text-button{border:0;font-size:11px;padding:6px 10px;min-height:44px}.trainer button:hover{background:#ffffff12}.trainer-top button{border:1px solid #607266;border-radius:30px;color:#d8edb6}.phase-row{display:flex;align-items:center;justify-content:space-between;margin:12px 0 20px}h2{font-family:Avenir Next,system-ui,sans-serif;font-size:30px;letter-spacing:-1px;margin:0}.cycle{font-family:Avenir Next,system-ui,sans-serif;font-size:32px;display:flex;gap:12px;align-items:center}.cycle small{font-family:DM Sans;font-size:8px;letter-spacing:1px;max-width:50px;color:#a3b3a3}.bar-wrap{padding:22px 0 30px}.bar{height:98px;position:relative;border-radius:10px;background:#091e1a;overflow:visible}.ticks{position:absolute;inset:30px 14px;background:repeating-linear-gradient(90deg,#56726355 0,#56726355 5px,transparent 5px,transparent 15px)}.cursor{position:absolute;left:0;top:18px;width:20px;height:62px;border-radius:5px;background:#d9fa9d;box-shadow:0 0 28px #caf08077;will-change:transform}.address{position:absolute;top:4px;height:90px;width:2px;background:#ecf4df}.address span{position:absolute;top:100px;left:0;transform:translate(-50%);font-size:8px;white-space:nowrap;letter-spacing:1px;color:#d4dec9}.endpoint{position:absolute;top:-26px;transform:translate(-50%);display:flex;flex-direction:column;text-align:center;white-space:nowrap;font-size:9px;color:#a7bba7}.endpoint b{font-size:8px;letter-spacing:1.5px}.endpoint:after{content:"";position:absolute;width:2px;height:98px;background:#7e9b4c99;top:26px;left:50%}.endpoint span{font-size:10px;margin-top:2px}.guide-footer{display:flex;align-items:center;justify-content:space-between;color:#97ad9b;font-size:9px;letter-spacing:1px;margin-top:7px}.guide-footer button{color:#d8edb6}.transport{display:flex;gap:10px;align-items:center;margin-top:15px;padding-top:20px;border-top:1px solid #ffffff18}.transport button{border-color:#fff3}.transport .start{background:#d8f593;color:#173629;border:0;min-width:220px}.transport .start:hover{background:#e3ffad}.wake{margin-left:auto;font-size:11px;color:#a7bba7}.controls{display:grid;grid-template-columns:1fr 1fr 1fr;margin-top:22px;gap:18px}.control-card{border:1px solid #d6dbd0;border-radius:16px;padding:22px;background:#f9f9f3}.distance-value{font-family:Avenir Next,system-ui,sans-serif;font-size:44px;line-height:1.4;display:flex;gap:6px;align-items:baseline}.distance-value>span{font-size:20px;color:#778570}.distance-value small{font:700 8px DM Sans;letter-spacing:1px;margin-left:auto;color:#7a866e}.range-labels{display:flex;justify-content:space-between;font-size:8px;color:#788976}.ratio-options{display:flex;gap:8px;margin:20px 0 14px}.ratio-options button{flex:1;font-family:Avenir Next,system-ui,sans-serif;font-size:22px}.ratio-options .selected{background:#18372f;color:#d8f593;border-color:#18372f}.control-card p{font-size:11px}.control-card select{width:100%;background:#f1f3e8;border:1px solid #d6dbd0;border-radius:8px;padding:10px;margin:20px 0 16px}.toggle{display:flex;align-items:center;gap:9px;font-size:12px}.toggle input{accent-color:#18372f;width:18px;height:18px}footer{display:flex;justify-content:space-between;padding:24px 0;font-size:10px;color:#7a8576}footer b{color:#36513a;margin-right:10px}.portrait{display:none}.overlay{position:fixed;inset:0;background:#061812aa;z-index:10;display:flex;justify-content:flex-end}.drawer{background:#f1f1e9;width:min(900px,100%);height:100%;overflow:auto;padding:30px;box-shadow:-10px 0 70px #0003}.drawer-head{display:flex;justify-content:space-between;align-items:center}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}h3{font-size:15px;margin-top:30px}.field{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:12px;margin:18px 0}.field span{font-family:Avenir Next,system-ui,sans-serif;font-weight:700}.field input:not([type=range]){width:100%;min-height:44px;border:1px solid #bfc9b8;background:#fff;border-radius:8px;padding:10px}.help{font-size:12px;color:#6b7a67;line-height:1.5}.ruler{border-left:2px solid;border-right:2px solid;border-top:2px solid;height:28px;margin-top:22px;text-align:center;font-size:10px;white-space:nowrap}.anchors{padding:0;list-style:none;font-size:11px}.anchors li{display:flex;align-items:center;justify-content:space-between}.anchors button{border:0}.profile-actions{border-top:1px solid #ccd6c4;padding-top:20px;margin-top:25px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}.notice{display:flex;justify-content:space-between;align-items:center;background:#e4edcc;padding:8px 18px;border-radius:10px;margin-top:16px;font-size:13px}.notice button{border:0}.warning{color:#f7d391;font-size:12px}.audio-only .bar{opacity:.12}.practicing .intro{display:none}.practicing .trainer{margin-top:22px}.practicing .controls{display:none}@media(max-width:950px){main{padding:0 24px}header{height:70px}.brand{font-size:30px}.tagline{display:none}.intro{padding:20px 0}h1{font-size:34px}.trainer{padding:18px 22px}.controls{gap:10px}.control-card{padding:16px}.wake{display:none}.session-pill{font-size:8px}.phase-row h2{font-size:24px}}@media(max-height:550px)and (orientation:landscape){header{height:56px}.intro{padding:12px 0}.intro h1{font-size:28px;margin:3px 0}.intro p,.session-pill,.intro .eyebrow{display:none}.trainer{padding:12px 22px;border-radius:14px}.phase-row{margin:0 0 14px}.phase-row h2,.cycle{font-size:22px}.bar{height:68px}.ticks{inset:20px 14px}.cursor{top:10px;height:48px}.address{height:60px}.address span{top:72px}.endpoint:after{height:68px}.bar-wrap{padding:22px 0 25px}.transport{padding-top:10px;margin-top:0}.transport button{padding:8px 15px}.guide-footer{margin:0}.controls{margin-top:14px}.control-card{padding:14px}.practicing .trainer{margin-top:12px}.practicing footer{display:none}.trainer-top{height:32px}.settings-grid{gap:24px}}@media(orientation:portrait){.portrait{display:block;padding:12px;background:#e4edcc;border-radius:10px;margin-bottom:16px;font-size:12px}.controls{grid-template-columns:1fr}.session-pill,.version{display:none}.intro h1{font-size:32px}header{gap:10px}.trainer{padding:16px}.phase-row h2,.cycle{font-size:20px}.guide-footer{flex-wrap:wrap}.guide-footer>span:nth-child(2){display:none}.transport{flex-wrap:wrap}.transport .start{min-width:160px;flex:1}.transport>button{font-size:12px}.settings-grid{grid-template-columns:1fr}footer{gap:20px;line-height:1.5}.drawer{padding:20px}h2{font-size:26px}}.mirrored .endpoint,.mirrored .address span{transform:translate(-50%) scaleX(-1)}
