:root{font-family:Avenir Next,Avenir,Segoe UI,sans-serif;color:#272923;background:#f6f5f1;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink: #272923;--muted: #818278;--line: #e7e6df;--lime: #d5f05b;--mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;--display: "Avenir Next", Avenir, "Segoe UI", sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px}button,a{font:inherit}a{color:inherit;text-decoration:none}button{color:inherit}.app-shell{max-width:1240px;margin:0 auto;padding:0 56px}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.topbar-actions{display:flex;align-items:center;gap:22px}.create-link{border:1px solid #deded4;border-radius:6px;padding:9px 12px;font-size:11px;font-weight:600}.create-link:hover{border-color:#aab85d;background:#f0f2e6}.brand{display:flex;align-items:center;gap:9px;font-family:var(--display);font-size:24px;font-weight:800;letter-spacing:-1.5px}.brand-mark{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--lime);font-size:24px;line-height:1}.offline-label{display:flex;align-items:center;gap:8px;font-size:12px;color:#6d7065}.status-dot{height:7px;width:7px;border-radius:50%;background:#8da92f;box-shadow:0 0 0 3px #e7edcf}.main-content{min-height:calc(100vh - 133px)}.site-footer{min-height:57px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;color:#929287;font-size:11px}.welcome{padding:70px 0 63px}.eyebrow{font:500 10px var(--mono);letter-spacing:1.1px;color:#85877c}.eyebrow-line{display:inline-block;width:20px;height:1px;background:#abb75c;vertical-align:middle;margin:0 8px 3px 0}.welcome h1,.ride-heading h1{font:600 clamp(42px,6.3vw,72px)/1.1 var(--display);letter-spacing:-4px;margin:22px 0 15px}.welcome h1 span{color:#9ca093}.welcome>p,.ride-heading p{color:#7c7e73;font-size:15px;margin:0}.workout-section{padding-bottom:43px}.store-status{color:#88897f;font-size:11px;margin:-8px 0 14px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:20px}.section-heading h2,.chart-heading h2{font:600 25px var(--display);letter-spacing:-.9px;margin:7px 0 0}.count-pill{border:1px solid #deded4;border-radius:40px;padding:7px 11px;color:#72746a;font:11px var(--mono)}.workout-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.workout-card{border:1px solid var(--line);border-radius:13px;background:#fff;overflow:hidden;transition:transform .2s,border-color .2s;min-width:0}.workout-card:hover{transform:translateY(-3px);border-color:#d4d3c8}.card-top{height:43px;padding:14px 16px 0;display:flex;justify-content:space-between;align-items:center}.card-number{font:11px var(--mono);color:#8b8c82}.level-tag{font-size:10px;padding:5px 9px;border-radius:20px;background:#f1f1ea;color:#66685e}.card-illustration{height:115px;position:relative;overflow:hidden;margin:0 13px;border-radius:7px;background:#f0f2e7}.card-peach .card-illustration{background:#f7eee7}.card-lavender .card-illustration{background:#eeedf5}.sun{position:absolute;width:36px;height:36px;border-radius:50%;background:#d8e7a0;top:21px;right:32px}.card-peach .sun{background:#efcba9}.card-lavender .sun{background:#c9c6e4}.hill{position:absolute;bottom:-17px;border-radius:50% 50% 0 0}.hill-back{width:74%;height:76px;left:-4%;background:#dce4c5;transform:rotate(-7deg)}.card-peach .hill-back{background:#edddce}.card-lavender .hill-back{background:#d9d7e8}.hill-front{width:80%;height:65px;right:-7%;bottom:-29px;background:#bdcb9f;transform:rotate(10deg)}.card-peach .hill-front{background:#ddc1a6}.card-lavender .hill-front{background:#bcb9d8}.road{position:absolute;width:130%;height:24px;left:-10%;bottom:6px;border-top:2px dashed #fff9;transform:rotate(-6deg)}.card-copy{padding:15px 17px 0}.card-copy h3{font:600 18px var(--display);letter-spacing:-.4px;margin:0 0 5px}.card-copy p{font-size:12px;line-height:1.5;color:#828379;margin:0;min-height:36px}.card-meta{margin:14px 17px 0;padding:11px 0;border-top:1px solid #efeee9;border-bottom:1px solid #efeee9;display:flex;gap:17px;color:#75766d;font-size:10px}.meta-icon{font-size:13px;margin-right:4px;color:#727663}.card-link{margin:0 17px;height:43px;display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:600}.arrow{height:23px;width:23px;border-radius:50%;background:#f1f1eb;display:grid;place-items:center;font-size:14px;transition:background .2s}.card-link:hover .arrow{background:var(--lime)}.card-edit-link{display:inline-block;margin:-1px 17px 13px;color:#76796a;font-size:10px;text-decoration:underline;text-underline-offset:3px}.tip-banner{display:flex;align-items:center;gap:14px;background:#eeeee5;border-radius:8px;padding:13px 16px;margin-bottom:45px;position:relative;overflow:hidden}.tip-icon{color:#7f9040;font-size:17px}.tip-banner p{font-size:11px;color:#717268;margin:0}.tip-banner strong{color:#404139}.tip-spark{position:absolute;right:19px;font-size:42px;color:#dfe4c9;top:-8px}.back-link{display:inline-flex;gap:8px;align-items:center;color:#76776d;font-size:12px;padding:28px 0 22px}.back-link span{font-size:16px}.ride-heading{display:flex;justify-content:space-between;align-items:flex-end;padding-bottom:25px}.ride-actions{display:flex;align-items:center;gap:9px}.edit-workout-link{display:inline-flex;align-items:center;border:1px solid #e2e1d9;border-radius:6px;padding:10px 12px;color:#66685e;font-size:11px}.edit-workout-link:hover{border-color:#aab85d;background:#f0f2e6}.ride-heading h1{font-size:48px;letter-spacing:-2.7px;margin:11px 0 6px}.heading-period{color:#a5b44b}.ride-heading p{font-size:13px}.voice-button{display:flex;align-items:center;gap:9px;border:1px solid #e2e1d9;background:transparent;border-radius:6px;padding:10px 12px;font-size:11px;cursor:pointer}.voice-button>span:first-child{font-size:14px}.voice-button kbd{font:9px var(--mono);color:#96978c;border-left:1px solid #e2e1d9;padding-left:9px}.voice-button.voice-on{border-color:#b2c36b;background:#f0f3e3}.workout-overlay{position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;overflow-y:auto;overscroll-behavior:contain;padding:clamp(20px,4vh,42px) clamp(18px,6vw,88px);background:#f6f5f1;display:flex;flex-direction:column;justify-content:center}.overlay-topbar{width:min(100%,1120px);margin:0 auto 20px;display:flex;align-items:center;justify-content:space-between;gap:20px}.overlay-title-group{display:grid;gap:5px;min-width:0}.overlay-eyebrow{color:#85877c;font:10px var(--mono);letter-spacing:1px}.overlay-title{overflow:hidden;color:var(--ink);font:600 19px var(--display);text-overflow:ellipsis;white-space:nowrap}.overlay-actions{display:flex;align-items:center;gap:9px}.leave-focus-button{border:1px solid #deded4;border-radius:6px;background:transparent;padding:10px 12px;color:#66685e;font-size:11px;cursor:pointer;white-space:nowrap}.leave-focus-button:hover{border-color:#aab85d;background:#f0f2e6}.leave-focus-button span{margin-left:5px}.workout-overlay>.coach-card,.workout-overlay>.play-controls,.workout-overlay>.chart-card{width:min(100%,1120px);margin-left:auto;margin-right:auto}.workout-overlay>.play-controls{padding-top:15px;padding-bottom:17px}.workout-overlay>.chart-card{margin-bottom:0}:root[data-theme=dark] .workout-overlay{background:#1d1f1b}:root[data-theme=dark] .overlay-title{color:#e7e8df}:root[data-theme=dark] .leave-focus-button{border-color:#484a40;color:#d0d1c7}:root[data-theme=dark] .leave-focus-button:hover{background:#34372d}.coach-card{background:#292b25;color:#f7f7f1;border-radius:12px;display:grid;grid-template-columns:1fr 218px;overflow:hidden;box-shadow:0 7px 25px #292b2512}.coach-main{padding:22px 26px 21px}.coach-eyebrow{color:#afb09f;font:10px var(--mono);letter-spacing:.6px;display:flex;align-items:center;gap:8px}.pulse-dot{width:6px;height:6px;border-radius:50%;background:#a4a594}.pulse-active{background:var(--lime);box-shadow:0 0 0 4px #d5f05b23}.coach-cue{font:500 15px var(--display);margin-top:12px;min-height:22px}.metrics{display:flex;align-items:center;gap:27px;margin-top:22px}.metric{display:grid;grid-template-columns:auto;gap:3px}.metric-label{font:10px var(--mono);letter-spacing:.4px;color:#b4b5a9}.metric-label small{font-size:9px;color:#85867b}.metric-value{font:600 34px/1.1 var(--display);letter-spacing:-1.4px}.metric-unit{font:11px var(--display);color:#a8aa9d;letter-spacing:0;margin-left:7px}.load-scale{display:flex;gap:3px;margin-top:5px}.load-scale i{width:17px;height:4px;border-radius:2px;background:#55574e}.load-scale i.filled{background:var(--lime)}.metric-divider{width:1px;height:43px;background:#ffffff20}.pace-hint{font-size:10px;color:#a9aa9d}.coach-side{background:#22241f;padding:22px 20px;display:flex;flex-direction:column;align-items:flex-start}.side-label{font:9px var(--mono);letter-spacing:.7px;color:#aaab9e}.coach-side>strong{font:600 30px var(--display);letter-spacing:-1px;margin:5px 0 9px}.side-divider{width:100%;height:1px;background:#ffffff19;margin:0 0 12px}.total-time{font:500 15px var(--mono);margin-top:6px}.total-time small{font-size:10px;color:#a2a397}.progress-track{height:4px;background:#4c4e44;border-radius:4px;margin-top:12px;width:100%;overflow:hidden}.progress-fill{height:100%;background:var(--lime);border-radius:4px;transition:width .4s linear}.progress-caption{font-size:9px;color:#a5a698;margin-top:5px}.play-controls{display:flex;align-items:center;gap:14px;padding:16px 0 21px}.button-primary{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--lime);border:0;border-radius:6px;color:#25271f;font-weight:700;font-size:12px;padding:12px 17px;cursor:pointer;transition:background .15s,transform .15s}.button-primary:hover{background:#c8e44d;transform:translateY(-1px)}.play-button{min-width:155px}.stage-nav-button{display:inline-flex;align-items:center;gap:6px;border:1px solid #deded4;border-radius:6px;background:transparent;padding:10px 12px;color:#55574e;font-size:11px;cursor:pointer}.stage-nav-button:hover:not(:disabled){border-color:#aab85d;background:#f0f2e6}.stage-nav-button:disabled{opacity:.4;cursor:not-allowed}.play-icon{font-size:12px}.reset-button{display:flex;align-items:center;gap:5px;background:transparent;border:0;padding:9px 5px;color:#78796f;font-size:14px;cursor:pointer}.reset-button span{font-size:11px}.reset-button:disabled{opacity:.35;cursor:not-allowed}.reset-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:grid;place-items:center;z-index:9999;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.reset-dialog{background:#fff;border-radius:16px;padding:36px 32px 28px;max-width:360px;width:calc(100% - 32px);text-align:center;box-shadow:0 20px 60px #0000002e}.reset-dialog-icon{display:block;font-size:32px;color:#aab85d;margin-bottom:12px}.reset-dialog h2{font:700 20px var(--display);letter-spacing:-.5px;margin:0 0 10px;color:var(--ink)}.reset-dialog p{font-size:13px;color:#818278;margin:0 0 24px;line-height:1.5}.reset-dialog-actions{display:flex;flex-direction:column;gap:10px}.reset-confirm-btn{width:100%;padding:13px;font-size:13px}.reset-cancel-btn{background:transparent;border:1px solid #deded4;border-radius:6px;padding:11px;font-size:13px;color:#55574e;cursor:pointer;transition:background .15s}.reset-cancel-btn:hover{background:#f4f3ef}.next-up{font-size:10px;color:#818278;margin-left:auto}.next-arrow{font-size:15px;color:#9ba85b;margin-right:4px}.next-up strong{color:#45473f;font-weight:600}.chart-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:17px 20px 13px;margin-bottom:34px}.chart-heading{display:flex;align-items:flex-end;justify-content:space-between}.chart-heading h2{font-size:19px;margin-top:4px}.live-label{font:10px var(--mono);color:#818278;display:flex;align-items:center;gap:6px;padding-bottom:3px}.live-label i{height:6px;width:6px;border-radius:50%;background:#a3b24d}.chart-legend{display:flex;gap:20px;justify-content:flex-end;margin-top:5px;font-size:10px;color:#6d6f64}.chart-legend>span{display:flex;align-items:center;gap:6px}.chart-legend small{font-size:9px;color:#a2a397}.mode-legend{display:flex;align-items:center;gap:4px}.mode-legend .ftp-mode-mark,.mode-legend .sprint-mode-mark{font-style:normal;font-size:13px;color:#35372e}.mode-legend .sprint-mode-mark{margin-left:5px;color:#d48b25}.stage-mode-icon{pointer-events:none}.ftp-icon-path{fill:none;stroke:#20221b;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sprint-icon-path{fill:#20221b;stroke:#20221b;stroke-width:.7;stroke-linejoin:round}.legend-load{height:8px;width:8px;background:#a7b95a;border-radius:2px}.legend-cadence{height:2px;width:13px;background:#7779ac;position:relative}.legend-cadence:after{content:"";position:absolute;right:3px;top:-2px;width:5px;height:5px;background:#7779ac;border-radius:50%}.chart-scroll{overflow:hidden;margin:3px -3px 0}.workout-chart{width:100%;height:auto;display:block;min-height:150px}.grid-lines line{stroke:#eeeee9;stroke-width:1}.grid-lines text{font:9px var(--mono);fill:#aaa99f}.load-bar{fill:#dce5b9;transition:fill .2s}.load-bar.load-past{fill:#a9b95e}.cadence-line{fill:none;stroke:#7779ac;stroke-width:2;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.tick-line{stroke:#d5d5ca;stroke-width:1}.tick-label,.cadence-axis-label{font:9px var(--mono);fill:#85867d}.now-line{stroke:#34362f;stroke-width:1.5;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}.now-dot{fill:#7779ac;stroke:#fff;stroke-width:2;vector-effect:non-scaling-stroke}.chart-footnote{display:flex;justify-content:space-between;color:#a1a197;font:9px var(--mono);padding:0 3px}.chart-help{display:flex;gap:19px;border-top:1px solid #f0efe9;margin-top:10px;padding-top:10px;color:#88897f;font-size:9px}.chart-help span{display:flex;align-items:center;gap:6px}.chart-help i{display:inline-block}.load-help i{width:9px;height:7px;background:#a9b95e;border-radius:2px}.line-help i{width:12px;height:2px;background:#7779ac}.current-help i{height:11px;border-left:1px dashed #444}.stage-section{padding-bottom:28px}.stage-section .section-heading{margin-bottom:13px}.stage-section .section-heading h2{font-size:21px}.stage-list{border-top:1px solid var(--line)}.stage-row{min-height:48px;display:grid;grid-template-columns:38px 1fr 105px 80px 55px;align-items:center;border-bottom:1px solid var(--line);padding:0 10px;color:#55574e;transition:background .2s}.stage-row.stage-current{background:#eff1e5;color:#303228}.stage-row.stage-done .stage-index{color:#a3b24d}.stage-index{font:10px var(--mono);color:#a5a59a}.stage-name{font-size:11px;font-weight:600}.stage-name small{display:block;font-size:9px;font-weight:400;color:#99998f;margin-top:2px}.stage-load{font-size:10px;color:#85867b}.stage-load i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#a8b95a;margin-right:4px}.stage-cadence{font:11px var(--mono)}.stage-cadence small{font-size:9px;color:#99998f}.stage-duration{font:10px var(--mono);color:#828379;text-align:right}.safety-note{display:flex;align-items:center;gap:11px;margin:0 0 36px;padding:11px 14px;background:#eeeee5;border-radius:6px;color:#7b7c72}.safety-note>span{color:#89964d}.safety-note p{font-size:10px;line-height:1.5;margin:0}.not-found{padding:100px 0}.not-found h1{font:600 40px var(--display);letter-spacing:-2px;margin:12px 0 24px}.create-heading{padding:8px 0 24px}.create-heading h1{font:600 clamp(38px,5vw,54px)/1.1 var(--display);letter-spacing:-3px;margin:12px 0 8px}.create-heading p{margin:0;color:#7c7e73;font-size:13px}.workout-form{display:grid;gap:16px;padding-bottom:42px}.form-panel{background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px}.form-panel .section-heading{margin-bottom:15px}.form-panel .section-heading h2{font:600 20px var(--display);letter-spacing:-.5px;margin:5px 0 0}.template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.template-card{display:grid;gap:7px;text-align:left;background:#fafaf7;border:1px solid var(--line);border-radius:7px;padding:13px;cursor:pointer}.template-card.selected{border-color:#aab85d;background:#f2f4e8;box-shadow:inset 0 0 0 1px #aab85d}.template-card strong{font-size:12px}.template-card span{color:#818278;font-size:10px;line-height:1.5}.template-card small{color:#88897f;font:9px var(--mono)}.form-fields,.segment-fields{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-fields label,.segment-fields label{display:grid;gap:6px;color:#66685e;font-size:10px;font-weight:600}.form-fields input,.form-fields select,.segment-fields input,.segment-fields select{min-width:0;width:100%;height:39px;border:1px solid #e2e1d9;border-radius:5px;background:#fff;padding:0 10px;color:var(--ink);font:11px var(--display)}.form-fields input:focus,.form-fields select:focus,.segment-fields input:focus{outline:2px solid #d5e39d;border-color:#aab85d}.form-selects{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.segment-editor{display:grid;gap:10px}.segment-edit-card{border:1px solid #eeede7;border-radius:7px;padding:13px}.segment-edit-card[draggable=true]{cursor:grab}.segment-edit-card[draggable=true]:active{cursor:grabbing}.block-help{margin:-5px 0 13px;color:#85877c;font-size:11px}.add-block-button{margin:0 0 12px}.training-block{border:1px solid var(--line);border-radius:9px;padding:13px;margin-top:10px;transition:border-color .15s,background .15s}.training-block:has(.block-drop-hint){border-style:dashed}.training-block:focus-within,.training-block:hover{border-color:#aab85d}.training-block-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.training-block-actions{display:flex;align-items:center;gap:12px}.duplicate-block{border:0;background:transparent;color:#737763;padding:5px 0;font:10px var(--display);cursor:pointer}.duplicate-block:hover{color:#4f5d1f;text-decoration:underline;text-underline-offset:3px}.training-block-heading label{display:flex;align-items:center;gap:10px;color:#74766b;font-size:10px;font-weight:600}.training-block-heading input{width:min(260px,45vw);height:34px;border:1px solid #e2e1d9;border-radius:5px;background:#fff;padding:0 9px;color:var(--ink);font:11px var(--display)}.block-drop-hint{margin:10px 0;padding:17px 10px;border:1px dashed #d1d2c7;border-radius:6px;color:#999b90;font-size:10px;text-align:center}.segment-edit-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font:10px var(--mono);color:#77796f}.segment-edit-actions{display:flex;align-items:center;gap:12px}.duplicate-segment{border:0;background:transparent;color:#737763;padding:5px 0;font:10px var(--display);cursor:pointer}.duplicate-segment:hover{color:#4f5d1f;text-decoration:underline;text-underline-offset:3px}.remove-segment{border:0;background:transparent;color:#9a746d;font:10px var(--display);cursor:pointer}.remove-segment:disabled{opacity:.4;cursor:not-allowed}.segment-fields{grid-template-columns:1.4fr .7fr .7fr .8fr}.zone-hint{grid-column:1 / -1;margin-top:-7px;color:#82866c;font-size:10px}.cue-field{grid-column:1 / -1}.add-segment{margin-top:12px;border:1px dashed #c9cbb7;border-radius:5px;background:transparent;padding:10px 12px;color:#656a4e;font-size:11px;cursor:pointer}.add-segment:hover{background:#f6f7ef}.form-error{margin:0;border-radius:5px;padding:11px 13px;color:#8a4138;background:#f8e9e5;font-size:11px}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:17px}.form-actions .button-primary:disabled{opacity:.6;cursor:wait}.cancel-link{color:#77796f;font-size:11px}.form-footnote{margin:-8px 0 0;text-align:right;color:#96978c;font-size:10px}.theme-toggle{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:6px;background:transparent;padding:8px 10px;color:var(--ink);font-size:11px;cursor:pointer}.theme-toggle:hover{background:#f0f2e6;border-color:#aab85d}.theme-toggle>span:first-child{font-size:15px;line-height:1}.theme-toggle:focus-visible{outline:2px solid #aab85d;outline-offset:2px}:root[data-theme=dark]{color-scheme:dark;color:#e7e8df;background:#1d1f1b;--ink: #e7e8df;--muted: #a5a79b;--line: #3a3c34 }:root[data-theme=dark] .theme-toggle:hover{background:#34372d}:root[data-theme=dark] .create-link{border-color:#484a40}:root[data-theme=dark] .create-link:hover,:root[data-theme=dark] .stage-nav-button:hover:not(:disabled){background:#34372d}:root[data-theme=dark] .edit-workout-link:hover{background:#34372d}:root[data-theme=dark] .offline-label,:root[data-theme=dark] .welcome>p,:root[data-theme=dark] .ride-heading p,:root[data-theme=dark] .card-copy p,:root[data-theme=dark] .tip-banner p,:root[data-theme=dark] .form-fields label,:root[data-theme=dark] .segment-fields label,:root[data-theme=dark] .create-heading p{color:#a5a79b}:root[data-theme=dark] .status-dot{box-shadow:0 0 0 3px #38402a}:root[data-theme=dark] .workout-card,:root[data-theme=dark] .chart-card,:root[data-theme=dark] .form-panel{background:#272923}:root[data-theme=dark] .level-tag,:root[data-theme=dark] .arrow{background:#383a32;color:#d0d1c7}:root[data-theme=dark] .card-meta{border-color:#3a3c34}:root[data-theme=dark] .tip-banner,:root[data-theme=dark] .safety-note{background:#303229;color:#b6b8aa}:root[data-theme=dark] .tip-banner strong{color:#e2e3d9}:root[data-theme=dark] .voice-button,:root[data-theme=dark] .stage-nav-button{border-color:#484a40;color:#d0d1c7}:root[data-theme=dark] .voice-button.voice-on,:root[data-theme=dark] .stage-row.stage-current{background:#35392b}:root[data-theme=dark] .stage-row{color:#c5c6bb}:root[data-theme=dark] .stage-name small,:root[data-theme=dark] .stage-cadence small{color:#999b8f}:root[data-theme=dark] .grid-lines line{stroke:#3b3d35}:root[data-theme=dark] .grid-lines text,:root[data-theme=dark] .tick-label{fill:#a5a79b}:root[data-theme=dark] .cadence-axis-label{fill:#a5a79b}:root[data-theme=dark] .tick-line{stroke:#55574d}:root[data-theme=dark] .now-line{stroke:#e2e3d9}:root[data-theme=dark] .now-dot{stroke:#272923}:root[data-theme=dark] .chart-help{border-color:#3a3c34}:root[data-theme=dark] .template-card{background:#303229;border-color:#44463c}:root[data-theme=dark] .template-card.selected{background:#383c2b;border-color:#aab85d}:root[data-theme=dark] .form-fields input,:root[data-theme=dark] .form-fields select,:root[data-theme=dark] .segment-fields input,:root[data-theme=dark] .segment-fields select{background:#20221e;border-color:#484a40;color:#e7e8df}:root[data-theme=dark] .form-fields input:focus,:root[data-theme=dark] .form-fields select:focus,:root[data-theme=dark] .segment-fields input:focus,:root[data-theme=dark] .segment-fields select:focus{outline-color:#aab85d}:root[data-theme=dark] .segment-edit-card{border-color:#3a3c34}:root[data-theme=dark] .training-block-heading input{background:#20221e;border-color:#484a40;color:#e7e8df}:root[data-theme=dark] .duplicate-block{color:#c1c5a6}:root[data-theme=dark] .duplicate-block:hover{color:#e5f3a6}:root[data-theme=dark] .duplicate-segment{color:#c1c5a6}:root[data-theme=dark] .duplicate-segment:hover{color:#e5f3a6}:root[data-theme=dark] .block-drop-hint{border-color:#484a40;color:#aaab9e}:root[data-theme=dark] .add-segment{border-color:#65694f;color:#d0d5b4}:root[data-theme=dark] .add-segment:hover{background:#303229}:root[data-theme=dark] .zone-hint{color:#b4b99a}:root[data-theme=dark] .form-error{color:#f0b5a9;background:#492f2b}:root[data-theme=dark] .coach-card{box-shadow:0 7px 25px #0004}:root[data-theme=dark] .reset-dialog{background:#272923;color:#e7e8df}:root[data-theme=dark] .reset-dialog h2{color:#e7e8df}:root[data-theme=dark] .reset-dialog p{color:#a5a79b}:root[data-theme=dark] .reset-cancel-btn{border-color:#484a40;color:#d0d1c7}:root[data-theme=dark] .reset-cancel-btn:hover{background:#34372d}@media(max-width:540px){.theme-toggle{padding:8px;gap:4px}.theme-toggle-label{display:none}}@media(min-width:1100px){.workout-content{max-width:960px;margin:0 auto}}@media(max-width:760px){.app-shell{padding:0 22px}.welcome{padding:54px 0 46px}.welcome h1{font-size:55px;letter-spacing:-3px}.workout-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workout-card:last-child:nth-child(odd){grid-column:1 / -1}.coach-card{grid-template-columns:1fr 180px}.coach-main{padding:20px}.coach-side{padding:20px 15px}.next-up{max-width:210px;text-align:right;line-height:1.6}.ride-heading h1{font-size:42px}.workout-overlay{justify-content:flex-start;padding:20px 22px}.overlay-topbar{align-items:flex-start;margin-bottom:16px}}@media(max-width:540px){.app-shell{padding:0 16px}.topbar{height:64px}.topbar-actions{gap:9px}.create-link{padding:8px;font-size:10px}.offline-label{font-size:10px}.welcome{padding:47px 0 39px}.welcome h1{font-size:46px;letter-spacing:-2.8px}.welcome>p{font-size:13px;max-width:340px;line-height:1.6}.workout-grid{grid-template-columns:1fr;gap:12px}.workout-card:last-child:nth-child(odd){grid-column:auto}.card-illustration{height:100px}.section-heading h2{font-size:22px}.tip-spark{right:8px}.ride-heading{align-items:flex-start;gap:10px}.ride-actions{flex-direction:column;align-items:flex-end;gap:6px}.ride-heading h1{font-size:38px}.ride-heading p{font-size:11px;max-width:250px;line-height:1.5}.voice-button{padding:9px;gap:6px;white-space:nowrap}.voice-button kbd{display:none}.coach-card{grid-template-columns:1fr}.coach-main{padding:19px 17px}.coach-side{display:grid;grid-template-columns:1fr 1fr;column-gap:8px;align-items:center;padding:13px 17px}.coach-side>strong{margin:2px 0;font-size:24px}.side-divider{display:none}.total-time{margin-top:2px}.progress-track,.progress-caption{grid-column:1 / -1}.progress-track{margin-top:9px}.metrics{gap:18px;margin-top:18px}.metric-value{font-size:30px}.load-scale i{width:13px}.play-controls{gap:8px;flex-wrap:wrap}.play-button{min-width:145px;padding:11px 12px}.stage-nav-button{padding:9px 8px;font-size:10px}.next-up{order:3;max-width:none;width:100%;text-align:left;margin:0;padding:3px 0}.chart-card{padding:14px 11px 12px}.chart-legend{gap:9px;font-size:8px;flex-wrap:wrap;justify-content:flex-start}.chart-legend small{font-size:8px}.workout-chart{min-height:122px}.chart-help{gap:9px;font-size:8px;flex-wrap:wrap}.stage-row{grid-template-columns:28px 1fr 66px 50px 40px;padding:0 4px;min-height:50px}.stage-name{font-size:10px}.stage-name small{font-size:8px;line-height:1.4;padding-right:3px}.stage-load,.stage-duration{font-size:9px}.stage-cadence,.site-footer{font-size:10px}.back-link{padding-top:22px}.workout-overlay{padding:14px 16px 20px}.overlay-topbar{gap:10px;margin-bottom:12px}.overlay-title{font-size:15px}.overlay-eyebrow{font-size:8px;letter-spacing:.6px}.overlay-actions{flex-direction:column;align-items:flex-end;gap:5px}.overlay-actions .voice-button,.leave-focus-button{padding:7px 9px;font-size:9px}.workout-overlay>.play-controls{padding:12px 0}.template-grid{grid-template-columns:1fr}.form-panel{padding:15px 12px}.form-fields,.form-selects{grid-template-columns:1fr}.form-selects{grid-column:auto}.training-block{padding:10px}.training-block-heading{align-items:flex-start;flex-direction:column}.training-block-actions{width:100%;justify-content:space-between}.training-block-heading label{align-items:flex-start;flex-direction:column;gap:5px}.segment-fields{grid-template-columns:1fr 1fr}.segment-edit-actions{gap:8px}.segment-fields label:first-child,.cue-field{grid-column:1 / -1}.form-footnote{text-align:left;line-height:1.5}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
