: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)}.cursor-track{position:absolute;inset:0;overflow:hidden;border-radius:10px;pointer-events:none}.field select{width:100%;background:#fff;border:1px solid #bfc9b8;border-radius:8px;padding:10px}.guide-footer>span:nth-child(2){letter-spacing:0;font-weight:400;font-size:11px}.trainer{position:relative}.build-number{position:absolute;right:14px;bottom:3px;font:400 9px/1.2 system-ui,sans-serif;color:#9aaf9f;letter-spacing:.4px;white-space:nowrap;pointer-events:none}.trainer-top{gap:10px}.trainer-top>.eyebrow{margin-right:auto}.trainer-top .text-button{font-size:11px}.rhythm-status{font-size:10px;color:#c6d5bf;margin-top:10px;padding-bottom:5px}.button-row{display:flex;gap:8px;flex-wrap:wrap}.experiment-panel{border-bottom:1px solid #ccd6c4;padding-bottom:20px}.experiment-panel h3{margin-top:20px}.settings-notice{font-size:13px;color:#36513a;margin-top:16px}.cursor{background:var(--cue-color);box-shadow:var(--cue-glow);border-radius:3px}.cursor.line-edges{background:transparent;border-left:3px solid var(--cue-color);border-right:3px solid var(--cue-color)}.cursor.line-triple{background:linear-gradient(to right,var(--cue-color) 0 15%,transparent 15% 44%,var(--cue-color) 44% 56%,transparent 56% 85%,var(--cue-color) 85% 100%)}.overlay{z-index:40}.focused .trainer{position:fixed;inset:0;z-index:20;border-radius:0;margin:0;padding:max(16px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));display:flex;flex-direction:column;overflow:auto}.focused .trainer .bar-wrap{flex:1;display:flex;align-items:center;min-height:150px}.focused .trainer .bar{width:100%;height:clamp(68px,30vh,280px)}.focused .cursor{height:calc(100% - 20px);top:10px}.focused .address{height:calc(100% - 8px)}.focused .address span{top:calc(100% + 10px)}.focused .endpoint:after{height:clamp(68px,30vh,280px)}.focused .notice{position:static;margin:4px 0;font-size:11px;padding:4px 12px;flex-shrink:0;color:#18372f}.focused .transport{flex-wrap:wrap;flex-shrink:0}.focused .rhythm-status{padding-bottom:14px}.focused .build-number{bottom:8px;right:max(14px,env(safe-area-inset-right))}@media(orientation:portrait){.portrait{display:flex;flex-direction:column;gap:8px;color:#18372f;line-height:1.5}.portrait b{font-size:18px}.focused .bar-wrap{display:none!important}.focused .portrait{margin:20px 0;order:1;flex:1;justify-content:center;text-align:center}.focused .phase-row{display:none}.focused .transport{order:2}.focused .guide-footer{display:none}.focused .rhythm-status{order:3}.trainer-top{height:auto;flex-wrap:wrap}.trainer-top>.eyebrow{width:100%}.transport{gap:6px}.transport button{padding:8px 12px}}@media(max-height:550px)and (orientation:landscape){.focused .trainer .bar-wrap{min-height:120px}.focused .phase-row{margin-bottom:8px}.focused .transport{padding-top:8px}.focused .rhythm-status{margin-top:4px}.focused .trainer-top{height:36px}.focused .trainer .bar{height:clamp(68px,26vh,180px)}.focused .endpoint:after{height:clamp(68px,26vh,180px)}}.rhythm-status{display:flex;align-items:center;gap:14px}.rhythm-status .text-button{font-size:10px;padding:0 8px;min-height:28px;color:#d8f593}.focused .notice{order:0}@media(orientation:portrait){.focused .notice{order:2}.focused .transport{order:3}.focused .rhythm-status{order:4}}.focused .notice button{min-height:26px;padding:2px 8px}@media(max-height:550px)and (orientation:landscape){.focused .trainer .bar-wrap{min-height:calc(clamp(68px,26vh,180px) + 52px);flex-shrink:0}.focused .phase-row{flex-shrink:0}.focused .notice{margin:0;padding:2px 10px}}
