.power-timeline{width:100%;min-width:0;color:var(--text,#29473b)}.power-timeline svg{max-width:100%;height:auto;display:block;overflow:visible}.power-timeline svg text{fill:currentColor;font:11px system-ui,sans-serif}.power-timeline svg g[role=button]{cursor:pointer}.power-timeline svg g[role=button]:focus{outline:2px solid}.power-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;font-size:13px;display:flex}.interval-composer{border:1px solid #78958344;border-radius:16px;min-width:0;margin-block:20px;padding:18px}.interval-composer .field-row{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;display:grid}.interval-composer .interval-selection{gap:6px;padding:12px 0;display:flex;overflow-x:auto}.interval-selection button{flex:none;min-width:64px}.interval-selection button[aria-pressed=true]{outline:2px solid}html[data-theme=dark] .power-timeline{color:#c1d4c8}.trainer-dashboard .device-status{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;padding:8px 12px;display:flex}.trainer-dashboard .metric-dashboard{margin:16px 0 8px}.trainer-dashboard .step-countdown{flex-wrap:wrap;gap:12px}.upcoming-interval{flex:1;min-width:160px;font-size:14px}.trainer-stack{grid-template-columns:minmax(0,1fr)}.trainer-stack>.workspace-grid,.trainer-stack>.panel,.workout-chart-wrap{min-width:0}.trainer-stack>.panel{max-width:100%}.interval-composer button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:1px solid #78958366;border-radius:9px;padding:10px 14px}.interval-composer button:disabled{opacity:.4;cursor:not-allowed}.interval-composer button.primary{color:#fff;background:#214f3d}.interval-composer select{width:100%;color:inherit;font:inherit;background:0 0;border:1px solid #78958366;border-radius:9px;padding:10px;display:block}.interval-composer label{gap:6px;font-size:13px;display:grid}.interactive-map-shell{width:100%;min-width:0}.interactive-map{touch-action:none;cursor:grab;background:#dfe7df;border-radius:14px;width:100%;position:relative;overflow:hidden}.interactive-map:active{cursor:grabbing}.interactive-map>img.base-map-tile{pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute;width:256px!important;max-width:none!important;height:256px!important}.interactive-map>img.radar-tile{pointer-events:none;-webkit-user-select:none;user-select:none;position:absolute;max-width:none!important}.interactive-map>svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.interactive-map-shell>small{text-align:right;margin:6px 0;display:block}.interactive-via-control{z-index:3;display:block;position:absolute;transform:translate(-50%,-50%)}.interactive-via-marker{color:#1e2a22;touch-action:none;background:#d09233;border:2px solid #fff;border-radius:50%;place-items:center;width:30px;height:30px;padding:0;font-size:12px;font-weight:800;display:grid;box-shadow:0 2px 8px #1d2e2455}.interactive-via-marker:focus-visible{outline-offset:2px;outline:3px solid #fff}.interactive-via-remove{color:#fff;background:#6a3f37;border:1px solid #fff;border-radius:50%;place-items:center;width:18px;height:18px;padding:0;font-size:15px;line-height:1;display:grid;position:absolute;top:-10px;right:-10px;box-shadow:0 1px 5px #1d2e2455}.interactive-via-remove:hover{background:#8c3026}.route-map-workspace{align-self:start;min-width:0}.interactive-map-shell .power-toolbar{justify-content:space-between;align-items:center;gap:10px;margin:0 0 8px;display:flex}.interactive-map-shell .power-toolbar>span{color:var(--po-muted,#56655a);font-size:12px}.interactive-map-shell .map-toolbar-controls{flex-wrap:nowrap;align-items:center;gap:6px;display:flex;flex:none!important}.interactive-map-shell .power-toolbar .map-icon-button{background:var(--po-surface-raised,#fff);color:inherit;border:1px solid #78958366;border-radius:10px;justify-content:center;align-items:center;gap:6px;display:inline-flex;box-sizing:border-box!important;flex:none!important;min-width:38px!important;height:38px!important;min-height:38px!important;padding:7px 10px!important}.interactive-map-shell .map-icon-button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;aspect-ratio:1!important;flex-shrink:0!important;width:18px!important;min-width:18px!important;max-width:18px!important;height:18px!important;min-height:18px!important;max-height:18px!important;display:block!important}.interactive-map-shell .map-icon-button:focus-visible{outline:3px solid var(--po-focus,#4f7900);outline-offset:2px}.interactive-map-shell .map-icon-button:disabled{opacity:.45;cursor:not-allowed}.interactive-map-shell .map-fit-button{flex:none!important;padding-inline:9px!important}.map-fit-label{white-space:nowrap;margin-left:2px;font-size:12px;font-weight:700;line-height:1}.interactive-map-shell .power-toolbar>.map-toolbar-hint{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;height:18px;line-height:18px;display:block;overflow:hidden}.route-map-workspace .map-picker-panel{background:0 0;border:0;padding:0}.interactive-map-shell .map-icon-button.active-tool{background:var(--po-primary,#214f3d);color:#fff;border-color:var(--po-primary,#214f3d)}.interactive-map-shell .map-icon-button.active-tool svg{stroke:#fff}@media (width<=700px){.interactive-map-shell .power-toolbar>span{min-width:0;line-height:1.35}.interactive-map-shell .map-toolbar-controls{margin-left:auto}.interactive-map-shell .map-fit-button{width:38px!important;padding:7px!important}.interactive-map-shell .map-fit-label{display:none}.interactive-map-shell .power-toolbar>.map-toolbar-hint{white-space:nowrap;text-overflow:ellipsis;height:18px;line-height:18px;overflow:hidden}}.interactive-cctv-popover .cctv-action-btn{box-sizing:border-box!important;height:32px!important;min-height:32px!important;max-height:32px!important;padding:4px 10px!important}.interactive-cctv-popover .cctv-action-btn svg{aspect-ratio:1!important;fill:none!important;stroke:currentColor!important;stroke-width:2px!important;flex-shrink:0!important;width:14px!important;min-width:14px!important;max-width:14px!important;height:14px!important;min-height:14px!important;max-height:14px!important}.live-conditions-dialog-backdrop{z-index:999;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f1714a6;justify-content:center;align-items:center;padding:16px;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.live-conditions-modal{background:var(--po-surface-raised,#fff);width:100%;max-width:900px;max-height:90vh;color:var(--po-text,#1e2a22);border:1px solid #78958340;border-radius:16px;flex-direction:column;display:flex;position:relative;overflow:hidden;box-shadow:0 16px 40px #0000002e}.live-conditions-header{background:var(--po-surface-alt,#f7faf8);border-bottom:1px solid #7895832e;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.live-conditions-title-group h3{color:var(--po-primary,#214f3d);align-items:center;gap:8px;margin:0;font-size:1.15rem;font-weight:700;display:flex}.live-conditions-title-group p{color:var(--po-muted,#56655a);margin:2px 0 0;font-size:.8rem}.live-conditions-close-btn{background:var(--po-surface,#fff);width:34px;height:34px;color:var(--po-muted,#56655a);cursor:pointer;border:1px solid #78958340;border-radius:8px;justify-content:center;align-items:center;font-size:1.2rem;line-height:1;transition:all .15s;display:inline-flex}.live-conditions-close-btn:hover{color:var(--po-text,#1e2a22);background:#ecefed}.live-conditions-tabs{background:var(--po-surface-subtle,#f0f4f1);border-bottom:1px solid #78958324;gap:6px;padding:10px 20px;display:flex}.live-tab-btn{color:var(--po-muted,#56655a);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:8px;padding:7px 14px;font-size:.88rem;font-weight:600;transition:all .15s;display:inline-flex}.live-tab-btn:hover{color:var(--po-text,#1e2a22)}.live-tab-btn.active{background:var(--po-surface-raised,#fff);color:var(--po-primary,#214f3d);border-color:#78958347;box-shadow:0 2px 6px #0000000d}.live-tab-btn svg{stroke:currentColor;stroke-width:2px;fill:none;width:16px;height:16px}.live-conditions-content{flex:1;padding:16px 20px;overflow-y:auto}.radar-panel{flex-direction:column;gap:12px;display:flex}.radar-subnav{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.radar-mode-pills{background:var(--po-surface-subtle,#f0f4f1);border-radius:8px;gap:4px;padding:3px;display:flex}.radar-mode-pill{color:var(--po-muted,#56655a);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:5px 11px;font-size:.8rem;font-weight:600}.radar-mode-pill.active{background:var(--po-surface-raised,#fff);color:var(--po-primary,#214f3d);box-shadow:0 1px 4px #00000014}.radar-viewbox{aspect-ratio:16/10;background:#111a14;border-radius:12px;justify-content:center;align-items:center;width:100%;max-height:480px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 16px #0006}.radar-viewbox img{object-fit:contain;max-width:100%;max-height:100%}.radar-controls-card{background:var(--po-surface-alt,#f7faf8);border:1px solid #78958333;border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 14px;display:flex}.radar-play-btn{background:var(--po-primary,#214f3d);color:#fff;cursor:pointer;border:none;transition:transform .1s;box-shadow:0 2px 6px #214f3d4d;aspect-ratio:1!important;box-sizing:border-box!important;border-radius:50%!important;flex-shrink:0!important;justify-content:center!important;align-items:center!important;width:36px!important;min-width:36px!important;max-width:36px!important;height:36px!important;min-height:36px!important;max-height:36px!important;padding:0!important;line-height:1!important;display:inline-flex!important}.radar-play-btn:active{transform:scale(.95)}.radar-play-btn svg{fill:currentColor;aspect-ratio:1!important;flex-shrink:0!important;width:16px!important;min-width:16px!important;max-width:16px!important;height:16px!important;min-height:16px!important;max-height:16px!important;display:block!important}.radar-time-pill{color:var(--po-primary,#214f3d);white-space:nowrap;background:#214f3d1a;border-radius:6px;padding:4px 9px;font-size:.82rem;font-weight:700}.radar-timeline-slider{min-width:120px;accent-color:var(--po-primary,#214f3d);cursor:pointer;flex:1}.radar-speeds{align-items:center;gap:4px;display:flex}.radar-speed-btn{background:var(--po-surface,#fff);color:var(--po-muted,#56655a);cursor:pointer;border:1px solid #78958340;border-radius:6px;padding:4px 8px;font-size:.76rem;font-weight:700}.radar-speed-btn.active{background:var(--po-primary,#214f3d);border-color:var(--po-primary,#214f3d);color:#fff}.radar-legend-strip{color:var(--po-muted,#56655a);align-items:center;gap:8px;margin-top:4px;font-size:.74rem;display:flex}.radar-legend-bar{background:linear-gradient(90deg,#0ff,#00a0ff,#00f,#0f0,#ff0,#ff9000,red,#c800c8);border-radius:3px;flex:1;height:6px;display:flex;overflow:hidden}.cctv-panel{flex-direction:column;gap:12px;display:flex}.cctv-filters{flex-direction:column;gap:10px;display:flex}.cctv-region-pills{flex-wrap:wrap;gap:6px;display:flex}.cctv-region-pill{background:var(--po-surface-alt,#f7faf8);color:var(--po-muted,#56655a);cursor:pointer;border:1px solid #78958338;border-radius:8px;padding:6px 12px;font-size:.82rem;font-weight:600;transition:all .15s}.cctv-region-pill:hover{color:var(--po-text,#1e2a22);background:#ecefed}.cctv-region-pill.active{background:var(--po-primary,#214f3d);border-color:var(--po-primary,#214f3d);color:#fff}.cctv-search-box{width:100%;position:relative}.cctv-search-input{box-sizing:border-box;background:var(--po-surface,#fff);width:100%;color:inherit;border:1px solid #7895834d;border-radius:8px;padding:9px 12px 9px 34px;font-size:.88rem}.cctv-search-input:focus{outline:2px solid var(--po-focus,#4f7900);outline-offset:1px}.cctv-search-icon{width:16px;height:16px;stroke:var(--po-muted,#56655a);stroke-width:2px;fill:none;pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.cctv-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin-top:4px;display:grid}.cctv-load-more{grid-column:1/-1;justify-self:center;min-width:180px}.cctv-card{background:var(--po-surface-raised,#fff);border:1px solid #78958333;border-radius:12px;flex-direction:column;transition:transform .15s,box-shadow .15s;display:flex;overflow:hidden;box-shadow:0 2px 6px #0000000a}.cctv-card:hover{transform:translateY(-2px);box-shadow:0 6px 14px #00000014}.cctv-card-media{aspect-ratio:16/9;background:#19221d;justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.cctv-card-media img,.cctv-card-media iframe{object-fit:cover;border:none;width:100%;height:100%}.cctv-card-media .cctv-live-badge{color:#fff;letter-spacing:.5px;z-index:2;background:#01bd70;border-radius:4px;padding:2px 6px;font-size:.68rem;font-weight:700;position:absolute;top:8px;left:8px;box-shadow:0 2px 4px #0000004d}.cctv-card-media .cctv-card-fallback{text-align:center;box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:100%;height:100%;padding:12px;display:flex}.cctv-card-elevation{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;letter-spacing:.3px;background:#000000a6;border-radius:4px;padding:2px 7px;font-size:.72rem;font-weight:700;position:absolute;top:8px;right:8px}.cctv-card-body{flex-direction:column;flex:1;gap:4px;padding:10px 12px;display:flex}.cctv-card-title{margin:0;font-size:.92rem;font-weight:700;line-height:1.3}.cctv-card-route{color:var(--po-muted,#56655a);margin:0;font-size:.76rem}.cctv-card-actions{border-top:1px solid #78958324;justify-content:space-between;align-items:center;margin-top:8px;padding-top:6px;display:flex}.cctv-locate-btn{background:var(--po-surface-alt,#f7faf8);color:var(--po-primary,#214f3d);cursor:pointer;border:1px solid #7895834d;border-radius:6px;align-items:center;gap:4px;padding:4px 8px;font-size:.76rem;font-weight:600;transition:all .15s;display:inline-flex}.cctv-locate-btn:hover{background:var(--po-primary,#214f3d);color:#fff;border-color:var(--po-primary,#214f3d)}.cctv-locate-btn svg{stroke:currentColor;stroke-width:2px;fill:none;width:12px;height:12px}.cctv-source-tag{color:var(--po-muted,#56655a);text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:.68rem;overflow:hidden}.interactive-radar-bar{z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap;box-sizing:border-box;background:#fffffff0;border:1px solid #7895834d;border-radius:24px;align-items:center;gap:8px;max-width:95%;padding:6px 12px;display:flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%);box-shadow:0 4px 14px #00000026}.interactive-radar-bar>*{flex:none}.interactive-radar-bar .interactive-radar-scrub{width:80px;min-width:72px;accent-color:var(--po-primary,#214f3d);flex:100px}.interactive-radar-speeds{flex-shrink:0}.interactive-radar-bar .radar-play-btn{aspect-ratio:1!important;box-sizing:border-box!important;border-radius:50%!important;flex-shrink:0!important;width:28px!important;min-width:28px!important;max-width:28px!important;height:28px!important;min-height:28px!important;max-height:28px!important;padding:0!important}.interactive-radar-bar .radar-play-btn svg{aspect-ratio:1!important;flex-shrink:0!important;width:12px!important;min-width:12px!important;max-width:12px!important;height:12px!important;min-height:12px!important;max-height:12px!important;display:block!important}.interactive-radar-bar .radar-speed-btn{box-sizing:border-box!important;white-space:nowrap!important;border-radius:4px!important;flex:none!important;justify-content:center!important;align-items:center!important;min-width:34px!important;height:22px!important;min-height:22px!important;max-height:22px!important;padding:2px 6px!important;font-size:.68rem!important;line-height:1!important;display:inline-flex!important}.interactive-radar-bar .interactive-cctv-popover-close{cursor:pointer;color:var(--po-muted,#56655a);background:0 0;border:none;aspect-ratio:1!important;border-radius:50%!important;flex-shrink:0!important;justify-content:center!important;align-items:center!important;width:24px!important;min-width:24px!important;max-width:24px!important;height:24px!important;min-height:24px!important;max-height:24px!important;margin:0!important;padding:0!important;line-height:1!important;display:inline-flex!important}.radar-status-pill{color:var(--po-primary,#214f3d);white-space:nowrap;background:#214f3d14;border-radius:4px;padding:2px 6px;font-size:.72rem;font-weight:600}@media (width<=640px){.interactive-radar-bar{white-space:normal;border-radius:16px;grid-template-columns:28px minmax(0,1fr) auto 24px;grid-template-areas:"play time status close""scrub scrub scrub scrub""speeds speeds full full";gap:6px 8px;width:calc(100% - 16px);max-width:none;padding:8px 10px;display:grid}.interactive-radar-bar .radar-play-btn{grid-area:play}.interactive-radar-bar .interactive-radar-time{text-overflow:ellipsis;white-space:nowrap;grid-area:time;align-self:center;min-width:0;overflow:hidden}.interactive-radar-bar .radar-status-pill{grid-area:status}.interactive-radar-bar .interactive-radar-scrub{grid-area:scrub;width:100%;min-width:0}.interactive-radar-bar .interactive-radar-speeds{grid-area:speeds;justify-content:flex-start}.interactive-radar-bar .interactive-radar-full-button{text-overflow:ellipsis;grid-area:full;overflow:hidden;min-width:72px!important}.interactive-radar-bar .interactive-cctv-popover-close{grid-area:close}}.interactive-cctv-marker{cursor:pointer;z-index:5;background:#1b3d30;border:2px solid #fff;transition:transform .15s;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 6px #0000004d;aspect-ratio:1!important;box-sizing:border-box!important;border-radius:50%!important;justify-content:center!important;align-items:center!important;width:28px!important;min-width:28px!important;max-width:28px!important;height:28px!important;min-height:28px!important;max-height:28px!important;margin:0!important;padding:0!important;line-height:1!important;display:flex!important}.interactive-cctv-marker:hover{background:#01bd70;transform:translate(-50%,-50%)scale(1.15)}.interactive-cctv-marker svg{stroke:#fff;stroke-width:2px;fill:none;aspect-ratio:1!important;flex-shrink:0!important;width:14px!important;min-width:14px!important;max-width:14px!important;height:14px!important;min-height:14px!important;max-height:14px!important;display:block!important}.interactive-cctv-popover{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;border:1px solid #7895834d;border-radius:12px;width:280px;max-width:90vw;font-size:.8rem;position:absolute;overflow:hidden;transform:translate(-50%,-105%);box-shadow:0 8px 24px #0003}.interactive-cctv-popover .cctv-media-wrap{aspect-ratio:16/9;background:#19221d;width:100%;position:relative;overflow:hidden}.interactive-cctv-popover .cctv-media-wrap iframe,.interactive-cctv-popover .cctv-media-wrap img{object-fit:cover;border:none;width:100%;height:100%;display:block}.cctv-status-badge{color:#e5f2e8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2;pointer-events:none;background:#000000ad;border-radius:4px;align-items:center;gap:4px;padding:2px 6px;font-size:.68rem;font-weight:700;display:flex;position:absolute;top:6px;left:6px}.cctv-fallback-card{text-align:center;color:#a4b5aa;box-sizing:border-box;background:#19221d;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:100%;height:100%;padding:12px;font-size:.76rem;display:flex}.cctv-fallback-link{color:#38a169;cursor:pointer;font-size:.74rem;font-weight:600;text-decoration:underline}.cctv-fallback-link:hover{color:#48bb78}.interactive-cctv-popover-body{padding:8px 10px}.interactive-cctv-popover-title{justify-content:space-between;align-items:center;margin:0 0 2px;font-weight:700;display:flex}.interactive-cctv-popover-close{cursor:pointer;color:var(--po-muted,#56655a);background:0 0;border:none;font-size:1rem;line-height:1}.cctv-popover-actions{gap:6px;margin-top:8px;display:flex}.cctv-action-btn{cursor:pointer;flex:1;transition:all .15s;background:var(--po-surface-raised,#fff)!important;height:32px!important;min-height:32px!important;max-height:32px!important;color:var(--po-primary,#214f3d)!important;box-sizing:border-box!important;white-space:nowrap!important;border:1px solid #78958366!important;border-radius:6px!important;justify-content:center!important;align-items:center!important;gap:6px!important;padding:4px 10px!important;font-size:.76rem!important;font-weight:600!important;line-height:1!important;text-decoration:none!important;display:inline-flex!important}.cctv-action-btn:hover{background:var(--po-primary,#214f3d)!important;color:#fff!important;border-color:var(--po-primary,#214f3d)!important}.cctv-action-btn svg{aspect-ratio:1!important;fill:none!important;stroke:currentColor!important;stroke-width:2px!important;stroke-linecap:round!important;stroke-linejoin:round!important;flex-shrink:0!important;width:14px!important;min-width:14px!important;max-width:14px!important;height:14px!important;min-height:14px!important;max-height:14px!important;display:inline-block!important}html[data-theme=dark] .interactive-cctv-popover{color:#e3ece5;background:#19221df2;border-color:#78958340}html[data-theme=dark] .cctv-action-btn{color:#a4d2b2;background:#28372fcc;border-color:#7895834d}html[data-theme=dark] .cctv-action-btn:hover{background:var(--po-primary,#214f3d);color:#fff}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}:root{color:#19231f;font-synthesis:none;background:#f3f5f1;font-family:IBM Plex Sans,Noto Sans TC,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}.app-shell{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.sidebar{color:#eef4ee;background:#0d1713;flex-direction:column;padding:30px 20px 22px;display:flex}.brand-mark{letter-spacing:-.04em;align-items:center;gap:10px;font-size:23px;font-weight:800;display:flex}.brand-dot,.status-dot{background:#c7d2c9;border-radius:50%;width:9px;height:9px;display:inline-block}.brand-dot{background:#e5b868;box-shadow:0 0 0 5px #24372c}.brand-subtitle{color:#a8b8ac;margin:8px 0 38px;font-size:13px}.sidebar nav{gap:8px;display:grid}.nav-item{color:#b6c3b9;text-align:left;background:0 0;border:0;border-radius:9px;padding:12px 14px;font-weight:600}.nav-item:hover,.nav-item.active{color:#fff;background:#21352a}.nav-item.active{box-shadow:inset 3px 0 #e5b868}.sidebar-foot{color:#8fa197;align-items:center;gap:8px;margin-top:auto;font-size:12px;display:flex}.content{width:100%;max-width:1280px;margin:0 auto;padding:46px 6vw 72px}.topbar{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:34px;display:flex}.eyebrow{color:#68776d;letter-spacing:.14em;font-size:11px;font-weight:800}.topbar h1{letter-spacing:-.04em;margin:7px 0 0;font-size:34px}.connection-badge,.data-badge{color:#5c6b60;background:#fff;border:1px solid #d5ddd5;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:12px;display:flex}.data-badge{padding:6px 9px;font-size:11px;display:inline-flex}.data-badge.success{color:#2c6642;background:#eff8f0;border-color:#9fc5aa}.status-dot.online{background:#4ca66a}.hero-grid{grid-template-columns:minmax(0,1.8fr) minmax(220px,.7fr);gap:18px;display:grid}.hero-card,.metric-card,.panel,.feature-card{background:#fff;border:1px solid #dce3dc;border-radius:16px;box-shadow:0 10px 32px #1d2e2410}.hero-card{padding:42px}.hero-card h2{letter-spacing:-.06em;max-width:620px;margin:16px 0;font-size:42px;line-height:1.1}.hero-card p{color:#5b6a60;max-width:610px;margin:0 0 28px;line-height:1.75}.metric-card{flex-direction:column;justify-content:center;padding:30px;display:flex}.metric-card strong{letter-spacing:-.08em;margin:14px 0 0;font-size:64px}.metric-card>span:not(.eyebrow){color:#5b6a60}.metric-rule{background:#dce3dc;height:1px;margin:26px 0 14px}.metric-card small,.disclaimer{color:#77857a;font-size:12px;line-height:1.6}.hero-actions,.actions{flex-wrap:wrap;gap:10px;display:flex}.primary,.secondary,.danger{border:1px solid #0000;border-radius:9px;padding:11px 16px;font-weight:750}.primary{color:#fff;background:#182a20}.primary:hover{background:#294b36}.secondary{color:#24352a;background:#fff;border-color:#cbd7cc}.secondary:hover{background:#f1f6f1}.danger{color:#8c3427;background:#fff0ed;border-color:#e7b8ae}.danger:hover{background:#ffe3dd}.full{width:100%}.section-grid{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:18px;display:grid}.feature-card{text-align:left;border:1px solid #dce3dc;padding:27px}.feature-card:hover{border-color:#9aaf9c;transform:translateY(-2px)}.feature-icon{color:#416048;background:#e9f0e8;border-radius:9px;place-items:center;width:33px;height:33px;font-size:12px;font-weight:800;display:inline-grid}.feature-card h3{margin:20px 0 8px;font-size:21px}.feature-card p{color:#667469;margin:0 0 22px;line-height:1.65}.text-link{color:#3d6748;font-size:13px;font-weight:800}.workspace-grid{grid-template-columns:minmax(330px,.85fr) minmax(0,1.15fr);gap:18px;display:grid}.panel-heading{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:22px;display:flex}.panel h2{letter-spacing:-.04em;margin:8px 0 0;font-size:25px}.form-stack{gap:14px;display:grid}.field-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-stack label,.panel>label{color:#56655a;gap:7px;font-size:13px;font-weight:700;display:grid}.form-stack input,.form-stack select,.panel input{color:#1e2a22;background:#fbfcfb;border:1px solid #cbd7cc;border-radius:8px;width:100%;padding:11px 12px}.form-stack input:focus,.form-stack select:focus,.panel input:focus{border-color:#669370;outline:3px solid #d9ebda}.inline-message{color:#47604d;background:#f1f6f1;border-radius:9px;margin:17px 0 10px;padding:11px 13px;font-size:13px;line-height:1.6}.empty-state{flex-direction:column;justify-content:center;align-items:flex-start;min-height:420px;display:flex}.empty-state.compact{text-align:center;align-items:center;min-height:280px}.empty-mark{color:#8da08f;font-size:38px}.empty-state p{color:#67756a;max-width:440px;line-height:1.7}.route-result{min-height:420px}.route-preview{background:#eef3ed;border:1px solid #d7e2d7;border-radius:11px;height:210px;margin-bottom:18px;overflow:hidden}.route-preview svg{width:100%;height:100%}.preview-grid{stroke:#d3dfd4;stroke-width:1px;stroke-dasharray:4 5}.route-line{stroke:#385f46;stroke-width:4px;fill:none;stroke-linecap:round;stroke-linejoin:round}.route-start{fill:#fff;stroke:#2c8652;stroke-width:3px}.route-end{fill:#fff;stroke:#aa4f43;stroke-width:3px}.result-metrics{border-top:1px solid #e0e6e0;border-bottom:1px solid #e0e6e0;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:15px;padding:14px 0;display:grid}.result-metrics div{gap:5px;display:grid}.result-metrics span,.device-status span{color:#76847a;font-size:12px}.result-metrics strong{word-break:break-word;font-size:14px}.safety-box,.notice-box{border-radius:9px;gap:5px;margin-bottom:14px;padding:12px 14px;font-size:13px;display:grid}.safety-box{color:#2a6040;background:#eef8ef}.notice-box{color:#80591d;background:#fff7e8}.notice-box span,.safety-box span{line-height:1.55}.device-status{border:1px solid #dfe7df;border-radius:10px;grid-template-columns:auto 1fr;align-items:center;gap:4px 10px;margin-bottom:17px;padding:15px;display:grid}.device-status>span:last-child{grid-column:2}.command-readout{color:#607063;background:#f0f5f0;border-radius:9px;margin:15px 0;padding:13px;font-size:13px}.command-readout strong{color:#203a29}.session-card{background:#f4f7f3;border-radius:9px;gap:6px;margin-top:14px;padding:14px;font-size:13px;display:grid}.session-card span,.session-card small{color:#68776d}.history-list{display:grid}.history-row{border-top:1px solid #e1e7e1;justify-content:space-between;align-items:center;gap:10px;padding:16px 0;display:flex}.history-row div{gap:5px;display:grid}.history-row span{color:#728075;font-size:12px}.text-button{color:#9a4032;background:0 0;border:0;font-size:13px}.settings-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.settings-row{border-bottom:1px solid #e1e7e1;justify-content:space-between;gap:14px;padding:14px 0;font-size:13px;display:flex}.settings-row code{color:#46634e;word-break:break-all}.check-list{color:#526258;padding-left:20px;line-height:2}.check-list li::marker{color:#66866b}@media (width<=900px){.app-shell{display:block}.sidebar{z-index:3;padding:15px 18px;display:block;position:sticky;top:0}.brand-subtitle,.sidebar-foot{display:none}.sidebar nav{margin-top:14px;display:flex;overflow:auto}.nav-item{white-space:nowrap;padding:9px 12px}.content{padding:28px 18px 55px}.topbar h1{font-size:27px}.connection-badge{display:none}.hero-grid,.workspace-grid,.settings-grid,.section-grid{grid-template-columns:1fr}.hero-card{padding:28px}.hero-card h2{font-size:34px}.empty-state{min-height:240px}}.place-field{z-index:4;grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid;position:relative}.place-field label{grid-column:1/-1;min-width:0}.place-field input{min-width:0}.place-results{z-index:20;background:#fff;border:1px solid #cbd7cc;border-radius:10px;max-height:280px;position:absolute;top:74px;left:0;right:0;overflow:auto;box-shadow:0 16px 36px #1d2e2430}.place-results button{text-align:left;color:#3e5044;background:#fff;border:0;border-bottom:1px solid #edf1ed;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;width:100%;padding:11px 13px;font-size:13px;display:grid}.place-results button:last-child{border-bottom:0}.place-result-title{text-overflow:ellipsis;white-space:nowrap;font-weight:750;overflow:hidden}.place-result-context{color:#6f7e73;text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;font-size:11px;line-height:1.4;overflow:hidden}.place-results small{color:#7a887d;white-space:nowrap;grid-row:1;justify-self:end;font-size:10px}.place-search-status{color:#68776d;padding:13px;font-size:12px}.align-left{text-align:left;color:#3d6748;padding:0}.map-frame{background:#edf3ed;border:0;border-radius:10px;width:100%;height:185px;margin:0 0 10px;display:block}.map-links{flex-wrap:wrap;gap:8px;margin:0 0 18px;display:flex}.map-links a,.map-links button{color:#3d6748;background:#fff;border:1px solid #cbd7cc;border-radius:999px;padding:7px 10px;font-size:12px;text-decoration:none}.map-links a:hover,.map-links button:hover{background:#f1f6f1}.instructions{border-top:1px solid #e0e6e0;margin-top:17px;padding-top:14px}.instructions h3{margin:0 0 9px;font-size:15px}.instructions ol{max-height:190px;margin:0;padding-left:22px;overflow:auto}.instructions li{border-bottom:1px solid #edf1ed;padding:6px 0 6px 3px;font-size:13px}.instructions li span,.instructions li small{display:block}.instructions li small{color:#7b887e;margin-top:3px;font-size:11px}.trainer-stack{gap:18px;display:grid}.telemetry-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0;display:grid}.telemetry-grid div{background:#f1f6f1;border-radius:9px;padding:11px}.telemetry-grid span,.telemetry-grid strong{display:block}.telemetry-grid span{color:#77857a;font-size:11px}.telemetry-grid strong{margin-top:4px;font-size:18px}.progress-card{color:#2c5d3c;background:#eaf4ea;border:1px solid #bad6bd;border-radius:9px;gap:6px;margin-top:14px;padding:13px;font-size:13px;display:grid}.progress-card span{color:#5d7963}.workout-builder{padding-top:25px}.step-list{margin:17px 0 0;padding-left:24px}.step-list li{border-top:1px solid #edf1ed;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:9px 0;font-size:13px;display:grid}.step-list strong{color:#526258;font-size:12px}.saved-plans{border-top:1px solid #e0e6e0;gap:8px;margin-top:17px;padding-top:14px;display:grid}.saved-plans>span{color:#68776d;font-size:12px}.saved-plans>div{border-bottom:1px solid #edf1ed;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:8px 0;display:grid}.saved-plans small{color:#77857a;font-size:11px}@media (width<=600px){.field-row,.place-field{grid-template-columns:1fr}.place-field button{width:100%}.result-metrics,.telemetry-grid{grid-template-columns:1fr}.step-list li,.saved-plans>div{grid-template-columns:1fr auto}.step-list .text-button,.saved-plans .text-button{justify-self:start}}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.auth-hint{color:#8b6d31;font-size:12px}.history-actions{align-items:center;gap:12px;display:flex}.history-stack{gap:18px;display:grid}.theme-toggle{color:#d5e0d6;text-align:left;cursor:pointer;background:0 0;border:1px solid #405747;border-radius:9px;margin-top:18px;padding:9px 10px;font-size:12px}.theme-toggle:hover{background:#21352a}.candidate-strip{gap:8px;margin:-4px 0 16px;padding-bottom:4px;display:flex;overflow-x:auto}.candidate-card{text-align:left;color:#415246;background:#fbfcfb;border:1px solid #d4ded4;border-radius:10px;gap:4px;min-width:145px;padding:10px;display:grid}.candidate-card strong{font-size:12px}.candidate-card span,.candidate-card small{color:#78867b;font-size:11px}.candidate-card.selected{background:#eef7ee;border-color:#669370;box-shadow:inset 0 0 0 1px #669370}.elevation-panel{border-top:1px solid #e0e6e0;margin:0 0 13px;padding-top:13px}.panel-subheading{justify-content:space-between;align-items:center;display:flex}.panel-subheading h3{margin:0;font-size:15px}.panel-subheading span{color:#78867b;font-size:11px}.elevation-chart{background:#f1f6f1;border-radius:9px;width:100%;height:100px;margin-top:8px}.elevation-chart polyline{fill:none;stroke:#3d6748;stroke-width:3px;stroke-linejoin:round;stroke-linecap:round}.elevation-chart text{fill:#78867b;font-size:9px}.panel-heading-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.trainer-dashboard{min-width:0}.help-box{color:#4c6551;background:#f3f7ee;border:1px solid #cadbc9;border-radius:9px;margin:-8px 0 14px;padding:11px 13px;font-size:12px;line-height:1.6}.metric-dashboard{grid-template-columns:repeat(3,1fr);gap:8px;margin:15px 0;display:grid}.metric-dashboard div{background:#f1f6f1;border-radius:9px;padding:11px}.metric-dashboard span{color:#77857a;font-size:11px;display:block}.metric-dashboard strong{word-break:break-word;margin-top:4px;font-size:18px;display:block}.workout-chart{resize:vertical;background:#f1f6f1;border:1px solid #dbe5da;border-radius:10px;width:100%;height:clamp(280px,40vh,420px);min-height:280px;margin:5px 0 14px;overflow:auto}.workout-chart text{fill:#7a887d;font-size:8px}.chart-target{fill:#b8c8b9;opacity:.75}.chart-actual{fill:none;stroke:#d07c30;stroke-width:2.3px;stroke-linejoin:round;stroke-linecap:round}.chart-ftp{stroke:#6d7e71;stroke-width:1px;stroke-dasharray:4 4}.chart-cursor{stroke:#2f6844;stroke-width:1px;stroke-dasharray:3 3}.chart-empty{color:#7a887d;resize:vertical;background:#f1f6f1;border-radius:10px;place-items:center;height:clamp(280px,40vh,420px);min-height:280px;margin:5px 0 14px;font-size:12px;display:grid;overflow:auto}.step-countdown{color:#68776d;background:#f5f8f4;border:1px solid #dfe8df;border-radius:9px;justify-content:space-between;align-items:center;margin-bottom:14px;padding:10px 13px;font-size:12px;display:flex}.step-countdown strong{color:#294b36;font-variant-numeric:tabular-nums;font-size:22px}.trainer-controls{grid-template-columns:1fr auto 1fr;align-items:end;gap:10px;margin-bottom:14px;display:grid}.trainer-controls label{color:#56655a;gap:6px;font-size:12px;font-weight:700;display:grid}.trainer-controls input[type=number]{background:#fbfcfb;border:1px solid #cbd7cc;border-radius:8px;width:100%;padding:10px}.trainer-controls input[type=range]{accent-color:#3d6748;width:100%}.checkbox-label{align-items:center;gap:7px;height:41px;display:flex!important}.checkbox-label input{accent-color:#3d6748}.success-button{color:#2c6642!important;background:#eff8f0!important;border-color:#9fc5aa!important}.export-actions{color:#68776d;border-top:1px solid #e0e6e0;flex-wrap:wrap;align-items:center;gap:12px;margin-top:13px;padding-top:12px;font-size:12px;display:flex}.file-button{cursor:pointer;align-items:center;display:inline-flex;position:relative}.file-button input{opacity:0;cursor:pointer;position:absolute;inset:0}.step-actions{justify-content:flex-end;gap:4px;display:flex}.step-actions .text-button{padding:0 3px}.saved-plans>div strong{overflow-wrap:anywhere;min-width:0}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html[data-theme=dark] body{color:#e8efe9;background:#101713}html[data-theme=dark] .content{background:#101713}html[data-theme=dark] .hero-card,html[data-theme=dark] .metric-card,html[data-theme=dark] .panel,html[data-theme=dark] .feature-card{background:#17231c;border-color:#304436;box-shadow:0 10px 32px #0005}html[data-theme=dark] .hero-card p,html[data-theme=dark] .feature-card p,html[data-theme=dark] .empty-state p,html[data-theme=dark] .disclaimer,html[data-theme=dark] .metric-card>span:not(.eyebrow),html[data-theme=dark] .metric-card small{color:#a8b9ac}html[data-theme=dark] .eyebrow{color:#9aaf9e}html[data-theme=dark] .connection-badge,html[data-theme=dark] .data-badge,html[data-theme=dark] .secondary,html[data-theme=dark] .map-links a,html[data-theme=dark] .map-links button,html[data-theme=dark] .place-results,html[data-theme=dark] .place-results button,html[data-theme=dark] .candidate-card{color:#dbe7dd;background:#1d2c23;border-color:#405747}html[data-theme=dark] .secondary:hover,html[data-theme=dark] .map-links a:hover,html[data-theme=dark] .map-links button:hover,html[data-theme=dark] .place-results button:hover{background:#294333}html[data-theme=dark] .form-stack input,html[data-theme=dark] .form-stack select,html[data-theme=dark] .panel input,html[data-theme=dark] .trainer-controls input[type=number]{color:#e8efe9;background:#132019;border-color:#405747}html[data-theme=dark] .inline-message,html[data-theme=dark] .command-readout,html[data-theme=dark] .telemetry-grid div,html[data-theme=dark] .metric-dashboard div,html[data-theme=dark] .workout-chart,html[data-theme=dark] .chart-empty,html[data-theme=dark] .step-countdown,html[data-theme=dark] .elevation-chart{color:#c7d6c9;background:#1d2c23;border-color:#405747}html[data-theme=dark] .safety-box{color:#c8e2ce;background:#193323}html[data-theme=dark] .notice-box{color:#f0d7a0;background:#3a2c18}html[data-theme=dark] .route-preview,html[data-theme=dark] .map-frame{background:#1d2c23;border-color:#405747}html[data-theme=dark] .route-line{stroke:#e5b868}html[data-theme=dark] .history-row,html[data-theme=dark] .result-metrics,html[data-theme=dark] .instructions,html[data-theme=dark] .saved-plans,.dark{border-color:#304436}html[data-theme=dark] .help-box{color:#c8dbc9;background:#1d3426;border-color:#47634d}html[data-theme=dark] .candidate-card.selected{background:#24402b;border-color:#79ab82}html[data-theme=dark] .text-link,html[data-theme=dark] .align-left{color:#a5cda9}@media (width<=600px){.metric-dashboard{grid-template-columns:repeat(2,1fr)}.trainer-controls{grid-template-columns:1fr 1fr}.trainer-controls .checkbox-label{grid-column:1/-1}.panel-heading-actions{justify-content:flex-end}.candidate-card{min-width:136px}}.candidate-strip{margin-bottom:10px}.candidate-explainer{color:#667469;margin:0 0 16px;font-size:12px;line-height:1.55}.route-preview-wrap{margin-bottom:18px}.route-preview-heading{justify-content:space-between;align-items:end;gap:12px;margin:0 0 8px;display:flex}.route-preview-heading h3{margin:0;font-size:15px}.route-preview-heading span,.route-preview-summary{color:#78867b;font-size:11px}.route-preview-summary{text-align:right;flex-wrap:wrap;justify-content:flex-end;gap:9px;display:flex}.route-preview{margin:0}.route-preview-legend{color:#667469;flex-wrap:wrap;align-items:center;gap:12px;padding:8px 2px 0;font-size:11px;display:flex}.route-preview-legend span{align-items:center;gap:5px;display:inline-flex}.legend-dot{background:#fff;border-radius:50%;width:10px;height:10px;display:inline-block}.legend-dot.start{border:3px solid #2c8652}.legend-dot.end{border:3px solid #aa4f43}.legend-waypoint{color:#273326;background:#e5b868;border-radius:50%;place-items:center;width:16px;height:16px;font-size:10px;font-style:normal;font-weight:800;display:inline-grid}.elevation-chart{height:154px}.elevation-chart .elevation-grid-line{stroke:#d8e4d8;stroke-width:1px;stroke-dasharray:3 4}.elevation-chart .elevation-axis-line{stroke:#b8c9b9;stroke-width:1px}.elevation-chart .elevation-axis-title{fill:#566b5b;font-size:9px;font-weight:700}.trainer-dashboard:focus{outline-offset:3px;outline:2px solid #669370}@media (width<=600px){.route-preview-heading{flex-direction:column;align-items:flex-start}.route-preview-summary{text-align:left;justify-content:flex-start}}.step-countdown-label{align-items:center;gap:10px;display:flex}.step-progress-ring{width:38px;height:38px;transform:rotate(-90deg)}.step-progress-ring circle{fill:none;stroke-width:4px}.step-progress-track{stroke:#d8e4d8}.step-progress-value{stroke:#3d6748;stroke-linecap:round;stroke-dasharray:1;transition:stroke-dashoffset .25s}.intensity-control{grid-template-columns:24px minmax(0,1fr) 24px;align-items:center;gap:4px;display:grid}.intensity-step{background:#fff;width:24px;height:24px;line-height:1;border:1px solid #cbd7cc!important;border-radius:6px!important;padding:0!important}.via-panel{background:#f7faf7;border:1px solid #dce7dc;border-radius:10px;gap:10px;padding:12px;display:grid}.via-panel .panel-subheading{margin-bottom:0}.via-panel .panel-subheading h3{font-size:14px}.via-panel .field-row{margin-top:0}.result-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}@media (width<=900px){.result-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=600px){.result-metrics{grid-template-columns:1fr}}.finish-summary{background:#eef6ee;border:1px solid #cfe1cf;border-radius:10px;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:14px;padding:12px;display:grid}.finish-summary div{gap:4px;display:grid}.finish-summary span{color:#6d7e70;font-size:11px}.finish-summary strong{color:#294b36;font-size:16px}@media (width<=600px){.finish-summary{grid-template-columns:repeat(2,1fr)}}html[data-theme=dark] .intensity-step{color:#dbe7dd;background:#1d2c23;border-color:#405747!important}.app-shell{transition:grid-template-columns .2s}.app-shell.sidebar-collapsed{grid-template-columns:0 minmax(0,1fr)}.app-shell.sidebar-collapsed .sidebar{opacity:0;pointer-events:none;padding-left:0;padding-right:0;overflow:hidden}.navigation-toggle{white-space:nowrap}@media (width<=900px){.app-shell.sidebar-collapsed{display:block}.app-shell.sidebar-collapsed .sidebar{display:none}}.step-list li{grid-template-columns:minmax(0,1fr) auto}.step-edit-grid{grid-template-columns:minmax(0,1.4fr) minmax(90px,.6fr) minmax(100px,.7fr);gap:8px;display:grid}.step-edit-grid label{color:#68776d;gap:4px;font-size:11px;display:grid}.step-edit-grid input{background:#fbfcfb;border:1px solid #cbd7cc;border-radius:7px;width:100%;padding:8px;font-size:12px}html[data-theme=dark] .step-edit-grid input{color:#e8efe9;background:#132019;border-color:#405747}@media (width<=600px){.step-list li{grid-template-columns:1fr}.step-edit-grid{grid-template-columns:1fr 1fr}.step-edit-grid label:first-child{grid-column:1/-1}}.auth-gate{background:radial-gradient(circle at 20% 10%, #ffffffb8, transparent 34%), var(--surface,#eef1ed);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#ffffffc2;border:1px solid #ffffffb8;border-radius:28px;gap:18px;width:min(440px,100%);padding:clamp(28px,7vw,48px);display:grid;box-shadow:0 24px 80px #1c231f24}.auth-card h1,.auth-card p{margin:0}.auth-card .primary{min-height:48px}.workout-chart-wrap{gap:10px;display:grid}.ftp-suggestion{color:#34583b;background:#f0f8ed;border:1px solid #c7dcbf;border-radius:9px;gap:4px;padding:10px 12px;font-size:13px;display:grid}.ftp-suggestion span{color:#607563;font-size:12px;line-height:1.5}html[data-theme=dark] .ftp-suggestion{color:#c8e2ce;background:#1c3424;border-color:#47634d}html[data-theme=dark] .ftp-suggestion span{color:#a8c0ad}.route-waypoint{cursor:grab}.route-waypoint:active{cursor:grabbing}.route-waypoint circle{fill:#e5b868;stroke:#24372c;stroke-width:2px}.route-waypoint text{fill:#19231f;pointer-events:none;font-size:10px;font-weight:800}.safety-reasons{gap:6px;margin:8px 0 0;padding:0;list-style:none;display:grid}.safety-reasons li{border-left:2px solid;gap:2px;padding-left:8px;display:grid}.safety-reasons li span{opacity:.82;font-size:12px}.utility-toggle{margin-top:8px}.workout-preview{background:#f7faf7;border:1px solid #dce7dc;border-radius:10px;gap:10px;padding:12px;display:grid}.workout-preview .panel-subheading{align-items:flex-start;gap:12px}.workout-preview .eyebrow{margin-bottom:3px}.preview-step-list{gap:0;max-height:230px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.preview-step-list li{border-top:1px solid #e3ebe3;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;font-size:13px;display:flex}.preview-step-list li>span{gap:2px;min-width:0;display:grid}.preview-step-list li strong{overflow-wrap:anywhere}.preview-step-list li small{color:#77857a;font-size:11px}.workout-preview-chart{gap:6px;min-width:0;padding-top:2px;display:grid}.preview-chart-heading{color:#68776d;justify-content:space-between;align-items:baseline;gap:12px;font-size:12px;display:flex}.preview-chart-heading .eyebrow{margin:0}.workout-preview-chart .power-timeline{min-width:0;padding:0 2px}.workout-save-confirmation{color:#2c6642;background:#eff8f0;border:1px solid #9fc5aa;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 14px;display:grid}.workout-save-confirmation-mark{color:#fff;background:#2c6642;border-radius:50%;place-items:center;width:30px;height:30px;font-weight:850;display:grid}.workout-save-confirmation>div{gap:2px;min-width:0;display:grid}.workout-save-confirmation strong,.workout-save-confirmation span,.workout-save-confirmation small{overflow-wrap:anywhere}.workout-save-confirmation span{color:#3e5f47;font-size:13px}.workout-save-confirmation small{color:#607563;font-size:11px;line-height:1.4}.workout-save-confirmation .text-button{color:#2c6642;white-space:nowrap}.save-complete-pulse{box-shadow:0 0 0 3px #a6ff0055}html[data-theme=dark] .workout-preview{background:#1d2c23;border-color:#405747}html[data-theme=dark] .preview-step-list li{border-color:#304436}html[data-theme=dark] .preview-chart-heading{color:#b7c7b9}html[data-theme=dark] .workout-save-confirmation{color:#e0f4e2;background:#1d3a27;border-color:#5f8e69}html[data-theme=dark] .workout-save-confirmation-mark{color:#101010;background:#a6ff00}html[data-theme=dark] .workout-save-confirmation span,html[data-theme=dark] .workout-save-confirmation small,html[data-theme=dark] .workout-save-confirmation .text-button{color:#c9e7ce}@media (width<=600px){.workout-preview .panel-subheading{display:grid}.preview-chart-heading{gap:2px;display:grid}.workout-save-confirmation{grid-template-columns:auto minmax(0,1fr)}.workout-save-confirmation .text-button{grid-column:2;justify-self:start;min-height:36px;padding-inline:0}}.map-picker-panel{background:#f7faf7;border:1px solid #dce7dc;border-radius:10px;gap:10px;padding:12px;display:grid}.route-map-panel{gap:10px;margin:0 0 12px;display:grid}.route-map{background:#dce8dc;border:1px solid #cbd7cc;border-radius:10px;height:300px;position:relative;overflow:hidden}.route-map img{pointer-events:none;-webkit-user-select:none;user-select:none;width:256px;max-width:none;height:256px;position:absolute}.route-map svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.route-map-line{fill:none;stroke:#b45c32;stroke-width:5px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 2px #0f251555)}.route-map-marker{stroke:#fff;stroke-width:2px;vector-effect:non-scaling-stroke}.route-map-marker.start{fill:#2c8652}.route-map-marker.end{fill:#aa4f43}.route-map-attribution{color:#425247;background:#ffffffd9;border-radius:5px;padding:3px 6px;font-size:10px;position:absolute;bottom:7px;left:8px}.map-picker-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.map-picker-toolbar button{padding:7px 10px;font-size:12px}.map-picker-toolbar span{color:#68776d;margin-left:auto;font-size:12px}.map-picker{cursor:crosshair;background:#dce8dc;border:1px solid #cbd7cc;border-radius:9px;height:250px;position:relative;overflow:hidden}.map-picker img{pointer-events:none;-webkit-user-select:none;user-select:none;width:256px;max-width:none;height:256px;position:absolute}.map-picker-grid{pointer-events:none;background-color:#0000;background-image:linear-gradient(90deg,#ffffff18 1px,#0000 1px),linear-gradient(#ffffff18 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:32px 32px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0}.map-attribution{color:#68776d;font-size:11px}.field-label-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.field-label-row .text-button{padding:0;font-size:11px}.map-picker-marker{z-index:2;color:#fff;border-radius:50% 50% 50% 0;place-items:center;width:25px;height:25px;font-size:12px;font-weight:800;display:grid;position:absolute;transform:translate(-50%,-100%)rotate(-45deg);box-shadow:0 2px 6px #10241666}.map-picker-marker:first-letter{rotate:45deg}.map-picker-marker.start{background:#2c8652}.map-picker-marker.end{background:#aa4f43}.modal-backdrop{z-index:20;background:#0d171399;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.required-modal{z-index:30}.modal-card{color:#19231f;background:#fff;border:1px solid #dce3dc;border-radius:16px;gap:14px;width:min(560px,100%);max-height:min(760px,100vh - 40px);padding:26px;display:grid;overflow:auto;box-shadow:0 22px 80px #10241655}.route-save-backdrop{z-index:120}.route-save-modal{text-align:center;align-items:center;width:min(500px,100vw - 32px)}.route-save-heading{text-align:left;width:100%;margin-bottom:0}.route-save-confirmation{color:#182a20;background:#d8ff72;border-radius:50%;place-items:center;width:58px;height:58px;font-size:34px;font-weight:850;line-height:1;display:grid}.route-save-detail{color:#536258;max-width:390px}.route-save-question{color:#24352a;font-weight:750}.route-save-actions{justify-content:center;width:100%}.route-save-actions button{min-width:150px}.route-simulation-backdrop{z-index:125}.route-simulation-modal{width:min(680px,100vw - 32px)}.route-simulation-modal .panel-heading{margin-bottom:0}.route-simulation-route-summary,.route-simulation-preview{grid-template-columns:repeat(4,minmax(0,1fr))}.route-simulation-form{gap:12px}.route-simulation-form .field-hint{margin:-4px 0 2px}.route-simulation-cap-note{margin:0}@media (width<=600px){.route-simulation-route-summary,.route-simulation-preview{grid-template-columns:repeat(2,minmax(0,1fr))}}.modal-card label{color:#56655a;gap:7px;font-size:13px;font-weight:700;display:grid}.modal-card input,.modal-card select{color:#1e2a22;background:#fbfcfb;border:1px solid #cbd7cc;border-radius:8px;width:100%;padding:11px 12px}.modal-card h3{margin:4px 0 0;font-size:15px}.modal-card p{margin:0;line-height:1.65}.tour-modal{width:min(640px,100%)}.tour-body{color:#56655a;min-height:92px}.tour-progress{gap:6px;display:flex}.tour-progress span{background:#dce6dc;border-radius:99px;flex:1;height:4px}.tour-progress span.active{background:#3d6748}.tour-actions{align-items:center}.tour-spacer{flex:1}.detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.detail-grid div{background:#f1f6f1;border-radius:9px;gap:4px;padding:11px;display:grid}.detail-grid span{color:#77857a;font-size:11px}.detail-grid strong{overflow-wrap:anywhere;font-size:15px}.training-intervals{min-width:0}.trainer-stack .workspace-grid>.panel{resize:vertical;min-height:420px;overflow:auto}.trainer-workspace-grid .workout-chart,.trainer-workspace-grid .chart-empty{resize:none;width:100%;height:clamp(280px,32vw,420px);min-height:280px;max-height:420px;display:block;overflow:hidden}.trainer-workspace-grid .workout-chart{aspect-ratio:400/180;height:auto}@media (width<=600px){.trainer-workspace-grid .workout-chart,.trainer-workspace-grid .chart-empty{height:280px}}.workout-chart{background:#111a16;border-color:#31483a}.chart-grid{stroke:#76947d;stroke-opacity:.2;stroke-width:.35px;vector-effect:non-scaling-stroke}.chart-target{fill:url(#power-target-gradient);opacity:.7;stroke:#b9d2bf;stroke-opacity:.65;stroke-width:.45px;vector-effect:non-scaling-stroke}.chart-actual{stroke-width:1.7px;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 2px #ffc00088)}.chart-actual-dot{fill:#fff7d6;stroke:#e65100;stroke-width:.8px;vector-effect:non-scaling-stroke}.chart-cursor{stroke:#e5b868;stroke-width:.8px;stroke-dasharray:3 2;vector-effect:non-scaling-stroke}.chart-cursor-dot{fill:#e5b868;stroke:#fff7d6;stroke-width:.7px;vector-effect:non-scaling-stroke}.chart-ftp-label,.chart-axis-label,.chart-step-label{fill:#b4c8b8;letter-spacing:.02em;font-family:IBM Plex Sans,Noto Sans TC,system-ui,sans-serif;font-size:7px}.chart-step-label{fill:#e5efe6;font-size:7.5px;font-weight:700}.chart-ftp-label{fill:#e5b868;font-weight:700}.interval-summary{justify-content:space-between;align-items:baseline;gap:12px;margin:2px 0 10px;display:flex}.interval-summary strong{overflow-wrap:anywhere;min-width:0;font-size:15px}.interval-summary span{color:#77857a;white-space:nowrap;font-size:11px}.route-simulation-plan-summary{color:#5f7163;flex-wrap:wrap;gap:6px 12px;margin:0 0 10px;font-size:11px;display:flex}.route-simulation-plan-summary span{white-space:nowrap;background:#f4f8f3;border:1px solid #d7e3d7;border-radius:999px;padding:4px 8px}.route-simulation-plan-summary .route-plan-cloud-state{flex-basis:auto;font-weight:750}.route-simulation-plan-summary .route-plan-cloud-state-saving{color:#695716;background:#fff9df;border-color:#d7c991}.route-simulation-plan-summary .route-plan-cloud-state-persisted{color:#27613a;background:#edf8ef;border-color:#a6d2b1}.route-simulation-plan-summary .route-plan-cloud-state-accepted_only{color:#5f7163;background:#f4f8f3;border-color:#d7e3d7}.route-simulation-plan-summary .route-plan-cloud-state-failed{color:#8b3e2e;background:#fff2ef;border-color:#e5b4a7}.interval-progress{background:#e0e9e0;border-radius:99px;height:6px;margin-bottom:12px;overflow:hidden}.interval-progress span{border-radius:inherit;background:#3d6748;height:100%;transition:width .25s;display:block}.training-interval-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.training-interval{background:#fbfcfb;border:1px solid #e0e8e0;border-radius:9px;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px 10px;display:grid}.training-interval.active{background:#eff8f0;border-color:#79ab82;box-shadow:inset 3px 0 #3d6748}.training-interval.complete{color:#607565;background:#f5f8f5}.interval-index{color:#3d6748;background:#e7efe7;border-radius:50%;place-items:center;width:24px;height:24px;font-size:11px;font-weight:800;display:grid}.training-interval.active .interval-index{color:#fff;background:#3d6748}.training-interval.complete .interval-index{color:#2c6642;background:#d8eadb}.interval-copy{gap:2px;min-width:0;display:grid}.interval-copy strong{overflow-wrap:anywhere;font-size:13px}.interval-copy small{color:#77857a;font-size:11px}.interval-state{color:#77857a;white-space:nowrap;font-size:10px}.training-interval.active .interval-state{color:#2c6642;font-weight:800}.interval-empty{color:#68776d;text-align:center;border:1px dashed #cbd9cc;border-radius:10px;align-content:center;place-items:center;gap:5px;min-height:135px;padding:18px;display:grid}.interval-empty strong{color:#334d39}.interval-empty span{max-width:420px;font-size:12px;line-height:1.5}.trainer-boundary-note{color:#68776d;border-top:1px solid #e0e8e0;flex-wrap:wrap;align-items:center;gap:7px;margin-top:12px;padding-top:10px;font-size:11px;display:flex}.trainer-boundary-note .status-dot{flex:none}.trainer-boundary-note .text-button{margin-left:auto;padding:0;font-size:11px}html[data-theme=dark] .map-picker-panel,html[data-theme=dark] .modal-card{color:#e8efe9;background:#17231c;border-color:#304436}html[data-theme=dark] .map-picker,html[data-theme=dark] .route-map{border-color:#405747}html[data-theme=dark] .route-map-attribution{color:#c8d8ca;background:#132019dd}html[data-theme=dark] .modal-card input,html[data-theme=dark] .modal-card select{color:#e8efe9;background:#132019;border-color:#405747}html[data-theme=dark] .tour-body{color:#b4c4b6}html[data-theme=dark] .tour-progress span{background:#304436}html[data-theme=dark] .tour-progress span.active{background:#a5cda9}html[data-theme=dark] .detail-grid div{background:#1d2c23}html[data-theme=dark] .route-simulation-plan-summary span{color:#c8d8ca;background:#1d2c23;border-color:#405747}html[data-theme=dark] .route-simulation-plan-summary .route-plan-cloud-state-saving{color:#f1df8a;background:#3c351d;border-color:#736532}html[data-theme=dark] .route-simulation-plan-summary .route-plan-cloud-state-persisted{color:#b9e2c2;background:#1d3a26;border-color:#3d7650}html[data-theme=dark] .route-simulation-plan-summary .route-plan-cloud-state-failed{color:#f0b6a8;background:#3a211d;border-color:#854d42}html[data-theme=dark] .training-interval{background:#17231c;border-color:#304436}.quota-status{border:1px solid var(--po-border,#cbd9cc);background:var(--po-surface-raised,#f5f9f4);min-width:0;color:var(--po-text,#24352a);border-radius:14px;margin:14px 0 0;display:block}.quota-status-summary{cursor:pointer;align-items:center;gap:8px;min-height:42px;padding:8px 11px;list-style:none;display:flex}.quota-status-summary::-webkit-details-marker{display:none}.quota-status-summary:after{color:var(--po-muted,#647267);content:"＋";flex:none;margin-left:auto;font-size:16px;line-height:1}.quota-status[open]>.quota-status-summary:after{content:"−"}.quota-status-title{white-space:nowrap;flex:none;align-items:center;gap:7px;font-size:12px;font-weight:800;display:inline-flex}.quota-status-title .status-dot{width:7px;height:7px}.quota-status-preview{min-width:0;color:var(--po-muted,#647267);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.quota-status-details{gap:8px;padding:0 11px 11px;display:grid}.quota-counters{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.quota-counters span{min-width:0;color:var(--po-muted,#647267);gap:2px;font-size:10px;line-height:1.35;display:grid}.quota-counters b{color:var(--po-text,#24352a);font-size:14px}.quota-status-copy,.quota-status-alert{margin:0;font-size:11px;line-height:1.5}.quota-status-copy{color:var(--po-muted,#647267)}.quota-status-alert{color:var(--po-danger,#8b3e2e);font-weight:700}.quota-badge{background:var(--po-warning-surface,#ffe0d8);color:var(--po-warning-text,#8b3e2e);white-space:nowrap;border-radius:999px;flex:none;padding:3px 7px;font-size:10px;font-weight:800}.quota-status-exhausted{border-color:var(--po-danger,#e5b4a7)}.quota-status-loading,.quota-status-error{color:var(--po-muted,#647267);padding:9px 11px;font-size:11px}.quota-status-error{border-color:var(--po-danger,#e5b4a7);color:var(--po-danger,#8b3e2e)}.settings-quota-status{grid-column:1/-1;margin:0}.dashboard-quota-status{width:100%}.app-version{color:var(--po-muted,#68776d);font-size:12px;line-height:1.4;display:block}.settings-app-version{margin:-2px 0 10px}@media (width<=600px){.quota-status-summary{padding-inline:10px}.quota-status-preview{font-size:10px}.quota-counters{gap:5px}.quota-counters b{font-size:13px}}html[data-theme=dark] .training-interval.active{background:#24402b;border-color:#79ab82}html[data-theme=dark] .training-interval.complete{background:#1d2c23}html[data-theme=dark] .interval-index{color:#c8dbc9;background:#304436}html[data-theme=dark] .training-interval.active .interval-index{color:#102016;background:#79ab82}html[data-theme=dark] .training-interval.complete .interval-index{color:#c8e2ce;background:#2f5a3b}html[data-theme=dark] .interval-empty{color:#b4c4b6;border-color:#405747}html[data-theme=dark] .interval-empty strong{color:#d6e7d8}html[data-theme=dark] .interval-progress{background:#304436}html[data-theme=dark] .trainer-boundary-note{color:#b4c4b6;border-color:#304436}@media (width<=600px){.map-picker{height:210px}.route-map{height:240px}.map-picker-toolbar span{width:100%;margin-left:0}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.interval-summary{gap:4px;display:grid}.training-interval{grid-template-columns:26px minmax(0,1fr)}.interval-state{grid-column:2}.trainer-boundary-note .text-button{margin-left:0}}.mcp-panel{grid-column:1/-1}.mcp-panel .panel-heading{align-items:flex-start}.mcp-state{border:1px solid var(--po-border,#cbd9cc);color:var(--po-muted,#647267);border-radius:999px;flex:none;padding:5px 9px;font-size:11px;font-weight:700}.mcp-state-ready{border-color:var(--po-accent,#9eea00);color:var(--po-text,#24352a)}.mcp-scope-fieldset{border:1px solid var(--po-border,#cbd9cc);border-radius:16px;gap:12px;margin:16px 0;padding:15px;display:grid}.mcp-scope-fieldset legend{padding:0 6px;font-size:14px;font-weight:800}.mcp-scope-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.mcp-scope-option{border:1px solid var(--po-border,#cbd9cc);background:var(--po-surface,#fff);cursor:pointer;border-radius:12px;align-items:flex-start;gap:9px;min-width:0;padding:10px;display:flex}.mcp-scope-option.optional{background:var(--po-surface-raised,#f5f9f4)}.mcp-scope-option input[type=checkbox],.mcp-consent-scope input[type=checkbox]{cursor:pointer;flex:none;transition:background-color .16s,border-color .16s,box-shadow .16s;appearance:none!important;border:1px solid var(--po-border,#cbd9cc)!important;border-color:color-mix(in srgb, var(--po-muted,#647267) 58%, transparent)!important;width:18px!important;min-width:18px!important;height:18px!important;min-height:18px!important;max-height:18px!important;box-shadow:none!important;background:0 0!important;border-radius:5px!important;margin:2px 0 0!important;padding:0!important}.mcp-scope-option input[type=checkbox]:hover,.mcp-consent-scope input[type=checkbox]:hover{border-color:var(--po-accent,#9eea00)!important}.mcp-scope-option input[type=checkbox]:checked,.mcp-consent-scope input[type=checkbox]:checked{border-color:var(--po-accent,#9eea00)!important;background:var(--po-accent,#9eea00) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 6.4 4.8 9 10 3' fill='none' stroke='%231a2c1e' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 12px 12px no-repeat!important}.mcp-scope-option input[type=checkbox]:focus-visible,.mcp-consent-scope input[type=checkbox]:focus-visible{outline:2px solid color-mix(in srgb, var(--po-accent,#9eea00) 62%, transparent);outline-offset:2px}.mcp-scope-option input[type=checkbox]:disabled,.mcp-consent-scope input[type=checkbox]:disabled{cursor:not-allowed;opacity:.55}@media (forced-colors:active){.mcp-scope-option input[type=checkbox],.mcp-consent-scope input[type=checkbox]{appearance:auto!important;background:canvas!important;border:1px solid canvastext!important}.mcp-scope-option input[type=checkbox]:checked,.mcp-consent-scope input[type=checkbox]:checked{accent-color:highlight!important;background:canvas!important}}.mcp-scope-option span{gap:3px;min-width:0;display:grid}.mcp-scope-option strong{font-size:12px;line-height:1.4}.mcp-scope-option small{overflow-wrap:anywhere;color:var(--po-muted,#647267);font-size:10px;line-height:1.35}.mcp-scope-intro{color:var(--po-muted,#647267);margin:0;font-size:12px;line-height:1.55}.mcp-scope-advanced{margin-top:4px}.mcp-scope-advanced>.field-hint{margin:0 12px 10px}.mcp-scope-advanced>.mcp-scope-grid{margin:0 12px 12px}.mcp-scope-codes{border-style:dashed;margin:0 12px 12px}.mcp-create-row{justify-content:space-between;align-items:center;gap:14px;display:flex}.mcp-create-explainer{gap:4px;min-width:0;display:grid}.mcp-create-explainer strong{font-size:13px}.mcp-create-explainer span{color:var(--po-muted,#647267);font-size:12px;line-height:1.45}.mcp-create-row>button{flex:none}.mcp-label-details{margin-top:8px}.mcp-label-field{color:var(--po-text,#24352a);gap:7px;margin:0 12px 12px;font-size:12px;font-weight:700;display:grid}.mcp-token-reveal{border:1px solid var(--po-accent,#9eea00);background:color-mix(in srgb, var(--po-accent,#9eea00) 10%, var(--po-surface,#fff));border-radius:15px;gap:9px;margin-top:14px;padding:15px;display:grid}.mcp-token-reveal p{color:var(--po-muted,#647267);margin:0;font-size:12px;line-height:1.5}.mcp-token-reveal code{border:1px solid var(--po-border,#cbd9cc);background:var(--po-surface,#fff);color:var(--po-text,#24352a);-webkit-user-select:all;user-select:all;border-radius:9px;padding:10px;font:600 11px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;display:block;overflow-x:auto}.mcp-quick-start,.mcp-connections-list{gap:9px;margin-top:18px;display:grid}.mcp-quick-start h3,.mcp-connections-list h3{margin:0;font-size:15px}.mcp-quick-start p{margin:0}.mcp-quick-start pre{border:1px solid var(--po-border,#cbd9cc);background:var(--po-code-surface,#17231c);color:var(--po-code-text,#e8efe9);white-space:pre-wrap;border-radius:11px;margin:0;padding:12px;font:11px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;overflow-x:auto}.mcp-faq-link{justify-self:start;align-items:center;display:inline-flex}.mcp-faq-link.text-button{padding-inline:0}.mcp-intro-actions{border:1px solid var(--po-border,#cbd9cc);background:var(--po-surface-raised,#f5f9f4);color:var(--po-muted,#647267);border-radius:12px;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:-2px;padding:9px 11px;font-size:12px;line-height:1.45;display:flex}.mcp-intro-actions>span{min-width:0}.mcp-intro-actions .mcp-ai-setup-link{flex:none}.mcp-connection-row{border:1px solid var(--po-border,#cbd9cc);background:var(--po-surface,#fff);border-radius:12px;justify-content:space-between;align-items:flex-start;gap:14px;padding:12px;display:flex}.mcp-connection-row>div{gap:4px;min-width:0;display:grid}.mcp-connection-row strong{overflow-wrap:anywhere;font-size:13px}.mcp-connection-row span,.mcp-connection-row small{color:var(--po-muted,#647267);font-size:11px;line-height:1.4}.mcp-connection-row small{overflow-wrap:anywhere}.mcp-connection-details{margin-top:2px}.mcp-connection-details summary{cursor:pointer;color:var(--po-muted,#647267);font-size:11px}.mcp-connection-details small{margin-top:4px;display:block}.mcp-connection-row.revoked{opacity:.68}.mcp-connection-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:8px;display:flex}.mcp-revoked-label{color:var(--po-muted,#647267);font-size:11px}.mcp-connection-row .danger{flex:none}.mcp-panel .inline-message.error{color:var(--po-danger,#8b3e2e)}html[data-theme=dark] .mcp-scope-option,html[data-theme=dark] .mcp-connection-row,html[data-theme=dark] .mcp-token-reveal code{background:#17231c;border-color:#405747}html[data-theme=dark] .mcp-scope-option.optional{background:#1d2c23}html[data-theme=dark] .mcp-token-reveal{background:#203c27}html[data-theme=dark] .mcp-intro-actions{background:#1d2c23;border-color:#405747}.mcp-about,.mcp-advanced-details{border:1px solid var(--po-border,#cbd9cc);background:var(--po-surface-raised,#f5f9f4);border-radius:12px;margin-top:12px}.mcp-about summary,.mcp-advanced-details summary{cursor:pointer;color:var(--po-text,#24352a);padding:10px 12px;font-size:12px;font-weight:750}.mcp-about-body{color:var(--po-muted,#647267);gap:7px;padding:0 12px 12px;font-size:12px;line-height:1.6;display:grid}.mcp-about-body p{margin:0}.mcp-about-body ul{margin:0;padding-left:18px}.mcp-advanced-details{background:0 0}.mcp-advanced-details>ul{color:var(--po-muted,#647267);gap:6px;margin:0;padding:0 12px 12px 30px;font-size:11px;display:grid}.mcp-advanced-details li{align-items:baseline;gap:8px;min-width:0;display:flex}.mcp-advanced-details li code{flex:none;font-size:10px}.mcp-advanced-details li span{overflow-wrap:anywhere;min-width:0}.mcp-user-steps{color:var(--po-text,#24352a);gap:8px;margin:0;padding-left:22px;font-size:12px;line-height:1.55;display:grid}.mcp-cli-details{margin-top:4px}.mcp-cli-details .field-hint,.mcp-cli-details pre{margin:0 12px 10px}.mcp-consent-advanced{margin-top:16px}.mcp-consent-advanced p{color:var(--po-muted,#647267);margin:0;padding:0 12px 10px;font-size:11px;line-height:1.55}.mcp-consent-advanced code{overflow-wrap:anywhere}.settings-guide{grid-column:1/-1}.settings-guide .panel-heading{margin-bottom:10px}.settings-guide-steps{counter-reset:guide-step;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.settings-guide-steps li{border:1px solid var(--po-border,#cbd9cc);background:var(--po-surface-raised,#f5f9f4);counter-increment:guide-step;border-radius:13px;grid-template-columns:auto 1fr;gap:4px 9px;min-width:0;padding:13px;display:grid}.settings-guide-steps li:before{content:counter(guide-step);background:var(--po-accent,#9eea00);width:24px;height:24px;color:var(--po-text,#24352a);border-radius:50%;place-items:center;font-size:12px;font-weight:850;display:grid}.settings-guide-steps strong{align-self:center;font-size:13px}.settings-guide-steps span{color:var(--po-muted,#647267);grid-column:1/-1;font-size:12px;line-height:1.55}.settings-glossary{gap:9px;margin-top:18px;display:grid}.settings-glossary h3{margin:0;font-size:14px}.settings-glossary-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.settings-glossary details{border:1px solid var(--po-border,#cbd9cc);background:var(--po-surface,#fff);border-radius:11px;min-width:0}.settings-glossary summary{cursor:pointer;color:var(--po-text,#24352a);padding:9px 10px;font-size:12px;font-weight:800}.settings-glossary details p{color:var(--po-muted,#647267);margin:0;padding:0 10px 10px;font-size:11px;line-height:1.55}.settings-guide-link{justify-self:start;align-items:center;margin-top:4px;text-decoration:none;display:inline-flex}.help-nav-link{color:inherit;text-decoration:none;display:block}html[data-theme=dark] .settings-guide-steps li,html[data-theme=dark] .settings-glossary details,html[data-theme=dark] .mcp-about,html[data-theme=dark] .mcp-advanced-details{background:#1d2c23;border-color:#405747}@media (width<=680px){.mcp-scope-grid{grid-template-columns:1fr}.mcp-intro-actions{flex-direction:column;align-items:flex-start}.mcp-create-row{grid-template-columns:1fr;display:grid}.mcp-create-row>button{width:100%}.mcp-connection-row{flex-direction:column}.mcp-connection-row .danger{align-self:flex-start}.settings-guide-steps,.settings-glossary-grid{grid-template-columns:1fr}}.mcp-consent-card{width:min(560px,100% - 32px)}.mcp-consent-scopes{border:1px solid var(--po-border,#cbd9cc);border-radius:15px;gap:8px;margin:17px 0 8px;padding:14px;display:grid}.mcp-consent-scopes legend{padding:0 6px;font-size:14px;font-weight:800}.mcp-consent-scope{border:1px solid var(--po-border,#cbd9cc);cursor:pointer;border-radius:10px;align-items:flex-start;gap:9px;padding:9px;display:flex}.mcp-consent-scope input{flex:none}.mcp-consent-scope span{gap:2px;display:grid}.mcp-consent-scope strong{font-size:12px;line-height:1.4}.mcp-consent-scope small{color:var(--po-muted,#647267);font:10px/1.35 ui-monospace,SFMono-Regular,Consolas,monospace}.mcp-consent-actions{justify-content:flex-end;margin-top:18px}html[data-theme=dark] .mcp-consent-scopes,html[data-theme=dark] .mcp-consent-scope{border-color:#405747}.keep-awake-btn{cursor:pointer!important;border:1px solid #0000!important;border-radius:8px!important;align-items:center!important;gap:5px!important;padding:4px 9px!important;font-size:11px!important;font-weight:600!important;transition:all .18s ease-in-out!important;display:inline-flex!important}.keep-awake-btn .action-icon{flex-shrink:0}.keep-awake-btn.awake-active{color:var(--po-accent-strong,#1f6b43)!important;background:#2e75591f!important;border-color:#2e75594d!important}html[data-theme=dark] .keep-awake-btn.awake-active{color:#79e2a4!important;background:#4ab97e29!important;border-color:#4ab97e66!important}.pedaleon-keep-awake-video{pointer-events:none!important;-webkit-user-select:none!important;user-select:none!important}.app-icon{flex:none;width:17px;height:17px}.nav-item{align-items:center;gap:10px;display:inline-flex}.workspace-view[hidden]{display:none}.training-activity-bar{z-index:8;background:#f4faf4;border:1px solid #b9d3bd;border-radius:12px;align-items:center;gap:14px;margin:0 0 18px;padding:12px 14px;display:flex;position:sticky;top:12px;box-shadow:0 8px 24px #1d2e2412}.training-activity-bar.paused{background:#fffaf0;border-color:#e1c98f}.activity-state{color:#31583d;white-space:nowrap;align-items:center;gap:7px;font-size:12px;font-weight:750;display:inline-flex}.paused .activity-state{color:#785d25}.activity-title{gap:2px;min-width:0;display:grid}.activity-title strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.activity-title span,.activity-metrics span{color:#69786d;font-size:11px}.activity-metrics{white-space:nowrap;font-variant-numeric:tabular-nums;align-items:baseline;gap:10px;margin-left:auto;display:flex}.activity-metrics strong{font-size:16px}.training-activity-bar .actions{flex-wrap:nowrap;margin-left:auto}.training-activity-bar .primary,.training-activity-bar .secondary,.training-activity-bar .danger{padding:8px 10px;font-size:12px}html[data-theme=dark] .training-activity-bar{background:#172b1c;border-color:#466f50}html[data-theme=dark] .training-activity-bar.paused{background:#322a18;border-color:#735f30}html[data-theme=dark] .activity-title span,html[data-theme=dark] .activity-metrics span{color:#aec0b0}@media (width<=700px){.training-activity-bar{flex-wrap:wrap;align-items:flex-start;gap:8px 12px}.activity-title{flex:150px}.activity-metrics{margin-left:0}.training-activity-bar .actions{width:100%;margin-left:0}.training-activity-bar .actions button{flex:1}}:root{--po-canvas:#f3f3ef;--po-surface:#fff;--po-surface-raised:#fafaf7;--po-surface-active:#eef7df;--po-border:#c9cbc4;--po-border-strong:#73776d;--po-text:#151713;--po-muted:#50544d;--po-faint:#666b62;--po-accent:#4f7900;--po-accent-bright:#a6ff00;--po-on-accent:#101010;--po-danger:#9f2f2f;--po-warning-surface:#fff4d8;--po-warning-text:#654500;--po-success-surface:#e6f5d4;--po-success-text:#264d00;--po-today-surface:#e8f3fb;--po-today-text:#12354b;--po-today-border:#1b5e8c;--po-today-ring:#1b5e8c3d;--po-focus:#4f7900;--po-radius-card:28px;--po-radius-control:999px;--po-ease:.16s ease;color:var(--po-text);background:var(--po-canvas);font-family:Inter,Noto Sans TC,Segoe UI,system-ui,sans-serif;font-size:16px;line-height:1.5}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--po-canvas:#101010;--po-surface:#171717;--po-surface-raised:#1e1e1e;--po-surface-active:#243010;--po-border:#3d3d3d;--po-border-strong:#747474;--po-text:#fdfdfd;--po-muted:#b7b7b7;--po-faint:#9d9d9d;--po-accent:#a6ff00;--po-accent-bright:#a6ff00;--po-on-accent:#101010;--po-danger:#ff8a80;--po-warning-surface:#32270f;--po-warning-text:#ffd66f;--po-success-surface:#1d2e0c;--po-success-text:#c9ff79;--po-today-surface:#173247;--po-today-text:#f6fbff;--po-today-border:#71c5f3;--po-today-ring:#71c5f357;--po-focus:#a6ff00}html{scroll-behavior:smooth}body{background:var(--po-canvas);min-width:320px;color:var(--po-text)}button,input,select{min-height:44px}button,a,input,select{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--po-focus)!important;outline-offset:3px!important}.skip-link{z-index:100;border-radius:var(--po-radius-control);background:var(--po-accent-bright);color:#101010;padding:12px 18px;font-weight:800;text-decoration:none;position:fixed;top:12px;left:12px;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.app-shell{background:var(--po-canvas);grid-template-columns:264px minmax(0,1fr)}.sidebar{border-right:1px solid var(--po-border);background:var(--po-canvas);height:100vh;color:var(--po-text);padding:34px 22px 24px;position:sticky;top:0}.brand-mark{color:var(--po-text);letter-spacing:-.055em;font-size:24px}.brand-dot{border:4px solid var(--po-accent-bright);width:16px;height:16px;box-shadow:none;background:0 0}.brand-subtitle{color:var(--po-muted);margin:8px 0 38px}.sidebar nav{gap:6px}.nav-item{border-radius:var(--po-radius-control);min-height:48px;color:var(--po-muted);transition:background var(--po-ease), color var(--po-ease), border-color var(--po-ease);border:1px solid #0000;padding:11px 16px;font-size:14px}.nav-item:hover{border-color:var(--po-border);background:var(--po-surface);color:var(--po-text)}.nav-item.active{border-color:var(--po-accent-bright);background:var(--po-accent-bright);color:#101010;box-shadow:none}.nav-item.active .app-icon{stroke-width:2.4px}.theme-toggle{border-color:var(--po-border);border-radius:var(--po-radius-control);min-height:44px;color:var(--po-muted);margin-top:10px;padding:9px 14px}.theme-toggle:hover{background:var(--po-surface);color:var(--po-text)}.sidebar-foot{color:var(--po-muted)}.blog-link{border:1px solid var(--po-border);border-radius:var(--po-radius-control);min-height:42px;color:var(--po-muted);transition:background var(--po-ease), border-color var(--po-ease), color var(--po-ease);justify-content:space-between;align-items:center;gap:12px;padding:9px 14px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.sidebar-blog-link{margin-top:18px}.blog-link:hover,.blog-link:focus-visible{border-color:var(--po-accent);background:var(--po-surface);color:var(--po-text)}.blog-summary-link{align-self:flex-start}.content{max-width:1520px;padding:clamp(28px,4vw,64px) clamp(20px,5vw,76px) 84px;background:var(--po-canvas)!important}.topbar{align-items:center;margin-bottom:clamp(28px,4vw,54px)}.topbar h1{color:var(--po-text);letter-spacing:-.06em;font-size:clamp(30px,4vw,54px);line-height:1}.eyebrow{letter-spacing:.16em;font-size:12px;color:var(--po-muted)!important}.connection-badge,.data-badge{border-color:var(--po-border);border-radius:var(--po-radius-control);background:var(--po-surface);min-height:40px;color:var(--po-muted)}.data-badge.success{border-color:var(--po-accent);background:var(--po-success-surface);color:var(--po-success-text)}.status-dot.online,.status-dot{background:var(--po-accent-bright)}.hero-card,.metric-card,.panel,.feature-card,.calendar-card,.training-summary{color:var(--po-text);border:1px solid var(--po-border)!important;border-radius:var(--po-radius-card)!important;background:var(--po-surface)!important;box-shadow:none!important}.panel{padding:clamp(22px,3vw,36px)}.panel h2{color:var(--po-text);font-size:clamp(24px,2.4vw,34px)}.panel-heading{margin-bottom:26px}.panel-subheading h3,.instructions h3{color:var(--po-text)}.primary,.secondary,.danger,.map-links a,.map-links button{border-radius:var(--po-radius-control);min-height:44px;transition:background var(--po-ease), border-color var(--po-ease), color var(--po-ease), transform var(--po-ease);padding:10px 18px}.primary{border-color:var(--po-accent-bright);background:var(--po-accent-bright);color:#101010}.primary:hover{background:#c6ff5c;border-color:#c6ff5c}.secondary,.map-links a,.map-links button{border-color:var(--po-border-strong)!important;color:var(--po-text)!important;background:0 0!important}.secondary:hover,.map-links a:hover,.map-links button:hover{border-color:var(--po-accent)!important;background:var(--po-surface-active)!important}.danger{border-color:var(--po-danger);color:var(--po-danger);background:0 0}.text-button,.text-link,.align-left{font-weight:800;color:var(--po-accent)!important}.text-button{border-radius:10px;min-height:40px;padding:7px 8px}.text-button:hover{background:var(--po-surface-active)}.navigation-toggle{border:1px solid var(--po-border);border-radius:var(--po-radius-control);padding-inline:14px}.form-stack label,.panel>label,.trainer-controls label,.step-edit-grid label,.modal-card label,.interval-composer label{font-size:14px;color:var(--po-muted)!important}.form-stack input,.form-stack select,.panel input,.trainer-controls input[type=number],.step-edit-grid input,.modal-card input,.modal-card select,.interval-composer select{min-height:48px;padding:11px 13px;border:1px solid var(--po-border-strong)!important;background:var(--po-surface-raised)!important;color:var(--po-text)!important;border-radius:14px!important}input::placeholder{color:var(--po-faint);opacity:1}.disclaimer,.candidate-explainer,.route-preview-heading span,.route-preview-summary,.panel-subheading span,.interval-summary span,.activity-title span,.activity-metrics span,.metric-dashboard span,.telemetry-grid span,.result-metrics span,.device-status span,.saved-plans small,.preview-step-list small,.instructions li small{color:var(--po-muted)!important}.inline-message,.command-readout,.session-card,.device-status,.metric-dashboard div,.telemetry-grid div,.step-countdown,.workout-preview,.via-panel,.map-picker-panel,.detail-grid div,.finish-summary{border:1px solid var(--po-border)!important;background:var(--po-surface-raised)!important;color:var(--po-text)!important;border-radius:18px!important}.notice-box{background:var(--po-warning-surface)!important;color:var(--po-warning-text)!important}.safety-box,.progress-card,.ftp-suggestion{background:var(--po-success-surface)!important;color:var(--po-success-text)!important}.performance-home{gap:28px;display:grid}.performance-heading{justify-content:space-between;align-items:end;gap:24px;display:flex}.performance-heading h2{letter-spacing:-.075em;margin:8px 0 0;font-size:clamp(42px,7vw,88px);line-height:.95}.performance-layout{grid-template-columns:minmax(0,1.65fr) minmax(280px,.65fr);gap:18px;display:grid}.calendar-card{padding:clamp(22px,4vw,44px)}.calendar-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:34px;display:grid}.calendar-stats>div{border-top:1px solid var(--po-border);grid-template-columns:auto 1fr;align-items:baseline;column-gap:8px;padding-top:14px;display:grid}.calendar-stats span{color:var(--po-muted);grid-column:1/-1;font-size:14px}.calendar-stats strong{letter-spacing:-.06em;font-size:clamp(34px,5vw,64px);line-height:1}.calendar-stats small{color:var(--po-muted)}.calendar-weekdays,.training-calendar{grid-template-columns:repeat(7,minmax(44px,1fr));gap:10px;display:grid}.calendar-weekday{color:var(--po-muted);text-align:center;padding-block:6px;font-size:13px}.calendar-day{aspect-ratio:1;border:1px solid var(--po-border);min-height:48px;color:var(--po-text);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;display:grid;position:relative}.calendar-day.outside{border-color:#0000}.calendar-day.today{border:2px solid var(--po-text);font-weight:800}.calendar-day.has-activity{border-color:var(--po-accent-bright);background:var(--po-accent-bright);color:#101010;font-weight:800}.activity-mark{border:2px solid var(--po-surface);color:#fff;background:#101010;border-radius:50%;place-items:center;width:24px;height:24px;display:grid;position:absolute;bottom:-2px;right:-2px}.activity-mark .app-icon,.activity-mark .activity-type-icon{width:13px;height:13px}.activity-marks{z-index:2;align-items:center;max-width:calc(100% + 16px);display:flex;position:absolute;bottom:-3px;right:-3px}.activity-marks .activity-mark{border-width:1.5px;flex:none;width:21px;height:21px;margin:0;position:relative;inset:auto}.activity-marks>.activity-mark+.activity-mark{margin-left:-5px}.activity-marks .activity-mark-more{color:#101010;background:var(--po-accent);border-radius:999px;width:auto;min-width:21px;padding-inline:4px;font-size:10px;font-weight:800;line-height:1}.training-summary{flex-direction:column;align-items:flex-start;min-height:100%;padding:clamp(26px,4vw,42px);display:flex}.spectrum-ring{aspect-ratio:1;border-radius:50%;place-items:center;width:min(190px,70%);margin:0 auto 36px;display:grid;position:relative}.spectrum-ring:before{background:var(--po-surface);content:"";border-radius:50%;position:absolute;inset:20px}.spectrum-ring span{z-index:1;color:var(--po-text);font-variant-numeric:tabular-nums;letter-spacing:-.06em;position:relative}.spectrum-ring strong{font-size:54px;font-weight:800}.spectrum-ring small{color:var(--po-muted);letter-spacing:-.03em;font-size:19px;font-weight:700}.training-summary h3{letter-spacing:-.055em;margin:10px 0 8px;font-size:clamp(25px,3vw,40px);line-height:1.05}.training-summary p{color:var(--po-muted);margin:0 0 28px}.summary-link{background:0 0;border:0;min-height:44px;margin-top:auto;padding:8px 0}@media (width>=901px) and (height>=720px){.content-overview{padding-top:28px;padding-bottom:28px}.content-overview .topbar{margin-bottom:18px}.content-overview .topbar h1{font-size:clamp(30px,3vw,42px)}.content-overview .performance-home{gap:16px}.content-overview .performance-heading h2{font-size:clamp(42px,5vw,64px)}.content-overview .calendar-card{padding:clamp(20px,2.5vw,30px)}.content-overview .calendar-stats{margin-bottom:18px}.content-overview .calendar-stats strong{font-size:clamp(32px,3.5vw,48px)}.content-overview .calendar-weekdays,.content-overview .training-calendar{gap:7px}.content-overview .calendar-day{aspect-ratio:auto;border-radius:18px;height:clamp(48px,6vh,62px);min-height:48px}.content-overview .training-summary{padding:clamp(22px,2.5vw,30px)}.content-overview .spectrum-ring{width:min(150px,60%);margin-bottom:22px}.content-overview .spectrum-ring:before{inset:16px}.content-overview .spectrum-ring strong{font-size:44px}.content-overview .spectrum-ring small{font-size:16px}.content-overview .training-summary h3{font-size:clamp(24px,2.4vw,34px)}}.workspace-grid{grid-template-columns:minmax(340px,.72fr) minmax(0,1.28fr);gap:18px}.route-map-workspace{overflow:visible}.interactive-map,.route-map,.map-picker{border-radius:22px;min-height:360px;border:1px solid var(--po-border)!important}.route-preview,.elevation-chart{border:1px solid var(--po-border);border-radius:18px;background:var(--po-surface-raised)!important}.candidate-strip{gap:10px;padding:3px 3px 10px}.candidate-card{border-radius:18px;min-width:170px;min-height:92px;border:1px solid var(--po-border)!important;background:var(--po-surface-raised)!important;color:var(--po-text)!important}.candidate-card.selected{box-shadow:none;border:2px solid var(--po-accent-bright)!important;background:var(--po-surface-active)!important}.candidate-card span,.candidate-card small,.place-result-context,.place-results small,.place-search-status{color:var(--po-muted)!important}.place-results{border-color:var(--po-border);background:var(--po-surface);box-shadow:none;border-radius:18px}.place-results button{border-color:var(--po-border);background:var(--po-surface);min-height:58px;color:var(--po-text)}.place-results button:hover,.place-results button.active{background:var(--po-surface-active)}.route-map-line{stroke:var(--po-accent-bright);filter:none}.route-line,.elevation-chart polyline{stroke:var(--po-accent)}.interactive-via-marker{background:var(--po-accent-bright);color:#101010;width:36px;height:36px;box-shadow:none;border-color:#101010}.interactive-via-remove{background:var(--po-danger);width:24px;height:24px}.trainer-workspace-grid{grid-template-columns:minmax(0,1fr)}.trainer-stack .workspace-grid>.panel{resize:none;overflow:visible}.trainer-workspace-grid .workout-chart,.trainer-workspace-grid .chart-empty{aspect-ratio:auto;border:1px solid var(--po-border);border-radius:22px;width:100%;height:auto;min-height:320px;max-height:none;background:#111!important}.trainer-workspace-grid .power-timeline svg{width:100%;height:auto}.chart-surface{fill:#111}.chart-grid{stroke:#a0a0a0;stroke-opacity:.35}.chart-target{fill:#a6ff00;opacity:.68;stroke:#d9ff95}.chart-actual{stroke:#fff;filter:none}.chart-cursor,.chart-ftp{stroke:#a6ff00}.chart-ftp-label,.chart-axis-label,.chart-step-label{fill:#d7d7d7}.chart-ftp-label{fill:#c9ff79}.interval-composer{border-color:var(--po-border);background:var(--po-surface-raised);border-radius:22px}.interval-composer button{border-color:var(--po-border-strong);border-radius:var(--po-radius-control);min-height:44px}.interval-composer button.primary{background:var(--po-accent-bright);color:#101010}.training-interval{border-color:var(--po-border);background:var(--po-surface-raised);min-height:58px;color:var(--po-text);border-radius:16px}.training-interval.active{border-color:var(--po-accent-bright);background:var(--po-surface-active);box-shadow:inset 4px 0 var(--po-accent-bright)}.interval-index{background:var(--po-border);color:var(--po-text)}.training-interval.active .interval-index{background:var(--po-accent-bright);color:#101010}.interval-progress{background:var(--po-border);height:8px}.interval-progress span,.step-progress-value{background:var(--po-accent-bright);stroke:var(--po-accent-bright)}.trainer-boundary-note{color:var(--po-muted);border-color:var(--po-border)}.history-row,.settings-row,.instructions,.result-metrics,.saved-plans,.preview-step-list li{border-color:var(--po-border)!important}.history-row{min-height:76px}.history-detail-modal{width:min(760px,100vw - 28px);max-height:min(90vh,920px)}.history-detail-route{gap:10px;min-width:0;display:grid}.history-detail-route .interactive-map-shell{min-width:0}.history-detail-elevation{margin:0}.modal-backdrop{z-index:100;background:#000000c7}.modal-card{border-color:var(--po-border);border-radius:var(--po-radius-card);background:var(--po-surface);color:var(--po-text);box-shadow:none}.route-save-detail{color:var(--po-muted)}.route-save-question{color:var(--po-text)}.completion-backdrop{z-index:110}.completion-modal{width:min(520px,100vw - 32px);padding:30px}.completion-modal h2{margin:10px 0 4px}.completion-workout-name{color:var(--po-muted);overflow-wrap:anywhere;margin:0;font-weight:700}.completion-summary{margin-top:22px}.completion-actions{justify-content:flex-end;margin-top:22px}html[data-theme=dark] .completion-modal .completion-summary{color:#f8fff8!important;background:#1d2c23!important;border-color:#79ab82!important}html[data-theme=dark] .completion-modal .completion-summary span{color:#c8dbc9!important}html[data-theme=dark] .completion-modal .completion-summary strong{color:#f8fff8!important}.share-card-backdrop{z-index:130}.share-card-modal{gap:16px;width:min(820px,100vw - 24px);max-height:min(900px,100vh - 24px)}.share-card-heading{align-items:center;margin-bottom:0}.share-card-heading h2{margin-top:6px}.share-card-heading .text-button{color:var(--po-muted);padding:4px 8px;font-size:28px;line-height:1}.share-card-preview{background:#101010;border:1px solid #303b33;border-radius:18px;width:100%;overflow:hidden}.share-card-preview canvas{aspect-ratio:1200/630;width:100%;height:auto;display:block}.share-card-accessible-summary{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.share-card-accessible-summary div{border:1px solid var(--po-border);background:var(--po-surface-raised);border-radius:12px;gap:3px;min-width:0;padding:9px 10px;display:grid}.share-card-accessible-summary span{color:var(--po-muted);font-size:11px}.share-card-accessible-summary strong{overflow-wrap:anywhere;font-variant-numeric:tabular-nums;font-size:15px}.share-card-note,.share-card-message{color:var(--po-muted);margin:0;font-size:12px;line-height:1.6}.share-card-message{color:var(--po-success-text);font-weight:700}.share-card-fallback{margin:0;font-size:12px;line-height:1.6}.share-card-fallback a{color:var(--po-accent);text-underline-offset:3px;font-weight:800;text-decoration:underline}.share-card-actions{justify-content:flex-end;margin-top:2px}@media (width<=680px){.share-card-modal{padding:18px}.share-card-accessible-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.share-card-actions{grid-template-columns:1fr 1fr;display:grid}.share-card-actions button:last-child{grid-column:1/-1}}.auth-gate{background:var(--po-canvas)}.auth-card{border:1px solid var(--po-border);background:var(--po-surface);color:var(--po-text);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:36px}.legal-public-links{flex-wrap:wrap;align-items:center;gap:10px 16px;margin:4px 0 2px;font-size:13px;line-height:1.5;display:flex}.legal-public-links a{color:var(--po-accent);text-underline-offset:3px;text-decoration:underline}.legal-public-links a:hover{color:var(--po-accent-bright)}@media (width<=1100px){.performance-layout,.workspace-grid{grid-template-columns:1fr}.training-summary{grid-template-columns:auto 1fr;align-items:center;column-gap:28px;display:grid}.training-summary .spectrum-ring{grid-row:1/5;width:140px;margin:0}.training-summary .spectrum-ring:before{inset:15px}.training-summary .eyebrow,.training-summary h3,.training-summary p,.training-summary .summary-link,.training-summary>.support-button,.training-summary>.quota-status{grid-column:2}}@media (width<=900px){.sidebar{z-index:50;isolation:isolate;border-right:0;border-bottom:1px solid var(--po-border);background:color-mix(in srgb, var(--po-canvas) 94%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);height:auto;position:sticky}.sidebar nav{scrollbar-width:thin}.nav-item{min-width:max-content}.sidebar-blog-link{display:none}.content{padding-inline:18px}.performance-heading{flex-direction:column;align-items:flex-start}.performance-heading .hero-actions{width:100%}.performance-heading .hero-actions button{flex:1}}@media (width<=620px){.topbar{flex-direction:column;align-items:flex-start}.topbar-actions{justify-content:flex-start;width:100%}.navigation-toggle{align-items:center;min-height:44px;display:inline-flex}.performance-heading h2{font-size:clamp(38px,15vw,60px)}.calendar-card{padding:18px 12px}.calendar-stats{gap:8px;margin-bottom:24px}.calendar-stats>div{flex-wrap:wrap;gap:3px 6px;display:flex}.calendar-stats span{width:100%;font-size:12px}.calendar-stats strong{font-size:34px}.calendar-stats small{align-self:end;font-size:11px}.calendar-weekdays,.training-calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-day{min-height:38px;font-size:13px}.calendar-weekday{font-size:11px}.activity-mark{width:20px;height:20px}.activity-marks{max-width:calc(100% + 12px);bottom:-2px;right:-2px}.activity-marks .activity-mark{width:18px;height:18px}.activity-marks>.activity-mark+.activity-mark{margin-left:-4px}.activity-marks .activity-mark-more{min-width:18px;padding-inline:3px;font-size:9px}.training-summary{align-items:flex-start;display:flex}.training-summary .spectrum-ring{width:116px;margin:0 0 22px}.training-summary .spectrum-ring:before{inset:13px}.training-summary .spectrum-ring strong{font-size:38px}.training-summary .spectrum-ring small{font-size:14px}.interactive-map,.route-map,.map-picker{min-height:280px}.trainer-workspace-grid .workout-chart,.trainer-workspace-grid .chart-empty{min-height:250px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (forced-colors:active){.nav-item.active,.primary,.calendar-day.has-activity{border:2px solid buttontext!important}.spectrum-ring{border-color:buttontext}}.calendar-day{cursor:pointer;font:inherit;background:0 0}.calendar-day:hover,.calendar-day:focus-visible{outline:2px solid var(--po-accent-bright);outline-offset:2px}.calendar-day.has-plan:not(.has-activity){border-color:var(--po-accent);background:var(--po-surface-active)}.calendar-day.today,.calendar-day.today.has-plan{border:2px solid var(--po-today-border);background:var(--po-today-surface);color:var(--po-today-text);box-shadow:0 0 0 3px var(--po-today-ring);font-weight:800}.calendar-day.today.has-activity{border:2px solid var(--po-today-border);background:var(--po-accent-bright);color:var(--po-on-accent,#101010);box-shadow:0 0 0 3px var(--po-today-ring);font-weight:800}.calendar-day.today .calendar-today-mark{letter-spacing:.02em;border:1px solid;border-radius:5px;place-items:center;min-width:18px;height:18px;padding:0 3px;font-size:10px;font-weight:900;line-height:1;display:grid;position:absolute;top:5px;left:5px}.calendar-day.today .activity-mark{border-color:var(--po-today-surface)}.calendar-entry-count{background:var(--po-accent);color:#101010;border-radius:999px;place-items:center;min-width:15px;height:15px;font-size:10px;font-weight:800;display:grid;position:absolute;bottom:5px;left:6px}.calendar-modal{width:min(680px,100vw - 28px);max-height:min(88vh,860px);padding:clamp(20px,4vw,34px);overflow:auto}.calendar-entry-list{gap:8px;margin:18px 0;display:grid}.calendar-save-message{margin:0 0 12px}.calendar-add-entry{justify-self:start}.calendar-entry-row{border:1px solid var(--po-border);background:var(--po-surface-raised);border-radius:14px;justify-content:space-between;align-items:center;gap:14px;padding:12px;display:flex}.calendar-entry-row>div:first-child{gap:3px;min-width:0;display:grid}.calendar-entry-row strong{overflow-wrap:anywhere}.calendar-entry-row span{color:var(--po-muted);font-size:12px}.calendar-entry-actuals{color:var(--po-text);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:12px}.calendar-entry-row.completed{border-left:4px solid var(--po-accent-bright)}.calendar-entry-row.skipped{opacity:.62}.calendar-series-delete{border:1px dashed var(--po-border);background:var(--po-surface-raised);border-radius:14px;justify-content:space-between;align-items:center;gap:14px;margin:12px 0 18px;padding:12px;display:flex}.calendar-series-delete>div{gap:3px;min-width:0;display:grid}.calendar-series-delete span{color:var(--po-muted);overflow-wrap:anywhere;font-size:12px}.calendar-entry-form{border-top:1px solid var(--po-border);gap:13px;padding-top:18px;display:grid}.calendar-entry-form h3{margin:0;font-size:18px}.calendar-entry-form label{min-width:0;color:var(--po-muted);gap:6px;font-size:12px;font-weight:700;display:grid}.calendar-entry-form input,.calendar-entry-form select,.calendar-entry-form textarea{border:1px solid var(--po-border-strong);border-radius:var(--po-radius-control);background:var(--po-surface-raised);width:100%;min-height:42px;color:var(--po-text);font:inherit;padding:9px 11px}.calendar-entry-form textarea{resize:vertical;min-height:76px}.calendar-editor-backdrop{z-index:130}.calendar-editor-modal{width:min(720px,100vw - 28px);max-height:min(90vh,900px)}.calendar-editor-heading{margin-bottom:0}.calendar-editor-modal .calendar-entry-form{border-top:0;padding-top:0}.calendar-actuals{border:1px solid var(--po-border);border-radius:14px;gap:12px;margin:0;padding:13px;display:grid}.calendar-actuals legend{color:var(--po-muted);padding:0 5px;font-size:12px;font-weight:700}.calendar-entry-form .actions{justify-content:flex-end}@media (width<=620px){.calendar-day.today .calendar-today-mark{min-width:15px;height:15px;padding:0 2px;font-size:9px;top:3px;left:3px}.calendar-entry-row{flex-direction:column;align-items:flex-start}.calendar-entry-row .history-actions{flex-wrap:wrap;gap:8px;width:100%}.calendar-series-delete{flex-direction:column;align-items:flex-start}.calendar-entry-form .field-row{grid-template-columns:1fr}.calendar-entry-form .actions{justify-content:stretch}.calendar-entry-form .actions button{flex:1}}.equipment-panel{grid-column:1/-1}.equipment-defaults-bar{border:1px solid var(--po-border);background:var(--po-surface-raised);border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0 16px;padding:12px 14px;display:grid}.equipment-default-selector label{color:var(--po-text);flex-direction:column;gap:6px;font-size:12.5px;font-weight:700;display:flex}.equipment-default-selector select{width:100%;font-size:13px}.equipment-title-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.equipment-badge{padding:3px 7px!important;font-size:10.5px!important}.active-default-btn{font-weight:700;color:var(--po-accent-bright)!important}.equipment-list{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.equipment-card{border:1px solid var(--po-border);background:var(--po-surface-raised);border-radius:14px;gap:10px;min-width:0;padding:14px;display:grid}.equipment-card-heading{justify-content:space-between;align-items:flex-start;gap:12px;min-width:0;display:flex}.equipment-card-heading>div{gap:4px;min-width:0;display:grid}.equipment-card-heading strong{overflow-wrap:anywhere}.equipment-card-heading span,.equipment-card-meta{color:var(--po-muted);font-size:.78rem;line-height:1.45}.equipment-card-heading>b{color:var(--po-accent-bright);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none}.equipment-card-meta{justify-content:space-between;gap:10px;display:flex}.equipment-card-meta span:last-child{text-align:right}.equipment-card-actions{margin-top:0}.equipment-empty{border:1px dashed var(--po-border);background:var(--po-surface-raised);border-radius:14px;gap:8px;padding:16px;display:grid}.equipment-empty span{color:var(--po-muted);line-height:1.55}.equipment-editor-wrap{margin-top:16px}.equipment-editor{border:1px solid var(--po-border);background:var(--po-surface-raised);border-radius:14px;gap:14px;padding:16px;display:grid}.equipment-editor .panel-subheading{justify-content:space-between;align-items:center;gap:12px;display:flex}.equipment-editor .panel-subheading h3{margin:0}.activity-equipment-selector{border:1px solid var(--po-border);background:var(--po-surface-raised);border-radius:14px;grid-template-columns:minmax(0,1fr);gap:12px;margin:14px 0;padding:14px;display:grid}.activity-equipment-selector label{min-width:0;color:var(--po-text);gap:7px;font-size:.88rem;font-weight:700;display:grid}.activity-equipment-selector select,.activity-equipment-selector input{width:100%;min-width:0}html[data-theme=dark] .equipment-card,html[data-theme=dark] .equipment-empty,html[data-theme=dark] .equipment-editor,html[data-theme=dark] .activity-equipment-selector,html[data-theme=dark] .equipment-defaults-bar{background:#1d2c23;border-color:#405747}@media (width<=680px){.equipment-panel{grid-column:auto}.equipment-defaults-bar,.activity-equipment-selector{grid-template-columns:1fr}}button,.file-button,.map-links a{overflow-wrap:anywhere;white-space:normal;min-width:0;max-width:100%;line-height:1.3}.actions{align-items:stretch}.actions>button,.actions>.file-button,.map-links>*{flex:0 auto}.panel-heading,.panel-heading-actions,.panel-subheading,.route-preview-heading,.field-label-row{flex-wrap:wrap}.place-field{z-index:30;grid-template-columns:minmax(0,1fr) auto;align-items:end;position:relative}.place-field label{grid-column:1}.place-field>button{grid-column:2}.place-results{z-index:auto;grid-column:1/-1;width:100%;margin-top:-2px;position:static}.route-planner-layout{grid-template-columns:minmax(330px,.58fr) minmax(0,1.42fr);align-items:start}.route-settings-panel{z-index:20;position:sticky;top:20px;overflow:visible}.route-settings-panel .field-row{grid-template-columns:repeat(2,minmax(0,1fr))}.route-settings-panel .field-row:first-child{grid-template-columns:1fr}.route-advanced,.trainer-advanced,.composer-disclosure{border:1px solid var(--po-border);background:var(--po-surface-raised);border-radius:16px}.route-advanced>summary,.trainer-advanced>summary,.composer-disclosure>summary{min-height:44px;color:var(--po-text);cursor:pointer;padding:12px 14px;font-weight:800}.route-advanced[open]>summary,.trainer-advanced[open]>summary,.composer-disclosure[open]>summary{border-bottom:1px solid var(--po-border)}.route-advanced>:not(summary),.trainer-advanced>:not(summary),.composer-disclosure>:not(summary){margin-inline:14px}.route-advanced>:last-child,.trainer-advanced>:last-child,.composer-disclosure>:last-child{margin-bottom:14px}.route-advanced .via-panel{margin-top:14px}.waypoint-chips{flex-wrap:wrap;gap:8px;display:flex}.route-result{gap:16px;display:grid}.route-result>*{min-width:0}.route-primary-map{gap:10px;display:grid}.route-primary-map .interactive-map-shell{min-width:0}.route-primary-map+.elevation-panel{margin-top:0}.route-result .map-links,.route-result .result-metrics,.route-result .safety-box,.route-result .notice-box,.route-result .instructions,.route-result>.actions{margin-block:0}.trainer-mode-switch{border:1px solid var(--po-border);background:var(--po-surface);border-radius:18px;grid-template-columns:repeat(2,minmax(140px,1fr));align-self:start;gap:8px;padding:5px;display:inline-grid}.trainer-mode-switch button{min-height:44px}.session-recovery{border:1px solid var(--po-accent);background:var(--po-success-surface);border-radius:18px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px 24px;margin:14px 0;padding:16px;display:grid}.session-recovery h3{color:var(--po-text);margin:5px 0 6px;font-size:18px}.session-recovery p{color:var(--po-muted);margin:0;line-height:1.55}.session-recovery .actions{justify-content:flex-end}.workout-launcher{border:1px solid var(--po-border);background:var(--po-surface-raised);border-radius:18px;grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:12px 18px;margin:14px 0;padding:14px;display:grid}.workout-launcher label{gap:7px;min-width:0;display:grid}.workout-launcher select,.workout-builder select,.workout-builder input,.interval-composer input,.interval-composer select{width:100%;min-width:0}.workout-launcher-summary{color:var(--po-muted);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px 12px;display:flex}.workout-launcher-summary strong{color:var(--po-text)}.workout-launcher-summary .text-button{white-space:nowrap;flex:none}.workout-builder{min-width:0}.workout-builder .field-row,.interval-composer .field-row{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));align-items:end}.workout-builder .workout-name-field{grid-template-columns:minmax(0,1fr)}.workout-builder .field-row>label,.interval-composer .field-row>label{overflow-wrap:anywhere;min-width:0}.workout-builder .actions{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:12px;width:100%;padding-block:4px;display:grid}.workout-builder .actions>button,.workout-builder .actions>.file-button{text-align:center;justify-content:center;width:100%;min-width:0}.interval-composer .actions{gap:10px}.interval-composer .actions>button{flex:0 auto}.trainer-advanced{margin:12px 0 14px}.program-planner{width:min(760px,100vw - 28px);max-height:min(88vh,820px);overflow:auto}.program-goal{color:var(--po-muted);margin:14px 0;line-height:1.6}.program-tag{border:1px solid var(--po-border);color:var(--po-text);border-radius:999px;margin:0 4px;padding:2px 8px;font-size:12px;display:inline-flex}.program-preferences{border:1px solid var(--po-border);border-radius:16px;gap:12px;margin:14px 0;padding:14px;display:grid}.program-preferences legend{color:var(--po-text);padding-inline:6px;font-weight:800}.program-preferences>label{color:var(--po-muted);gap:7px;display:grid}.program-preferences .field-hint{color:var(--po-muted);font-size:12px;font-weight:500;line-height:1.45}.program-preferences .checkbox-label{border:1px solid var(--po-border);background:var(--po-surface);cursor:pointer;border-radius:14px;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:11px;height:auto;min-height:52px;padding:13px 14px;font-size:14px;font-weight:700;line-height:1.45;color:var(--po-text)!important;display:grid!important}.program-preferences .checkbox-label:hover{border-color:var(--po-border-strong);background:var(--po-surface-active)}.program-preferences .checkbox-label input[type=checkbox]{width:18px;min-width:18px;height:18px;min-height:18px;accent-color:var(--po-accent-bright);margin:0}.ftp-readiness-summary{border:1px solid var(--po-border);background:var(--po-surface-raised);border-radius:16px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px 18px;margin:16px 0;padding:14px 16px;display:grid}.ftp-readiness-summary>div{min-width:0}.ftp-readiness-summary h3{margin:3px 0 2px;font-size:16px}.ftp-readiness-summary p{color:var(--po-muted);margin:0;font-size:12px;line-height:1.5}.ftp-readiness-summary>strong{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:18px}.ftp-readiness-summary.needs-confirmation{border-color:var(--po-accent)}.ftp-readiness-summary.is-confirmed{background:var(--po-success-surface)}.ftp-readiness-dialog{width:min(560px,100vw - 28px)}.ftp-readiness-dialog label{color:var(--po-text)}.ftp-readiness-dialog .field-hint{color:var(--po-muted);font-size:12px;font-weight:500;line-height:1.45}.ftp-readiness-actions{margin-top:2px}.ftp-readiness-later{justify-self:start}.ftp-readiness-backdrop{z-index:140}.program-preview{border:1px solid var(--po-border);background:var(--po-surface-raised);border-radius:16px;gap:7px;margin:16px 0;padding:14px;display:grid}.program-preview h3{margin:0 0 4px}.program-preview>div{border-top:1px solid var(--po-border);grid-template-columns:100px minmax(86px,.55fr) minmax(0,1.45fr);align-items:baseline;gap:10px;padding:8px 0;display:grid}.program-preview time,.program-preview span{color:var(--po-muted);font-size:12px}.program-preview strong{overflow-wrap:anywhere;min-width:0}.trainer-advanced .trainer-controls{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;margin:14px}.trainer-advanced .trainer-controls>button{align-self:end}.trainer-advanced .trainer-controls .checkbox-label{border:1px solid var(--po-border);background:var(--po-surface);cursor:pointer;border-radius:14px;grid-column:1/-1;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:11px;height:auto;min-height:52px;padding:13px 14px;font-size:14px;font-weight:700;line-height:1.45;color:var(--po-text)!important;display:grid!important}.trainer-advanced .trainer-controls .checkbox-label:hover{border-color:var(--po-border-strong);background:var(--po-surface-active)}.trainer-advanced .trainer-controls .checkbox-label input[type=checkbox]{width:18px;min-width:18px;height:18px;min-height:18px;accent-color:var(--po-accent-bright);margin:1px 0 0}.trainer-advanced .trainer-controls>.disclaimer{grid-column:1/-1}.trainer-immersive{z-index:1000;background:var(--po-canvas);padding:clamp(12px,2vw,28px);position:fixed;inset:0;overflow:auto}.trainer-stack:fullscreen{z-index:1000;background:var(--po-canvas);padding:clamp(12px,2vw,28px);position:fixed;inset:0;overflow:auto}.trainer-immersive .trainer-mode-switch{position:static}.trainer-stack:fullscreen .trainer-mode-switch{position:static}.composer-disclosure{margin-block:14px}.composer-disclosure .field-row{margin-top:14px}.power-timeline svg g.is-editable{cursor:ns-resize;touch-action:none}.timeline-duration-handle{fill:var(--po-accent-bright);opacity:.8;cursor:ew-resize}.power-timeline svg g.is-selected>rect:first-of-type{stroke:var(--po-accent-bright);stroke-width:2px}.interactive-via-marker{aspect-ratio:1;border-radius:50%;flex:0 0 36px;width:36px;min-width:36px;max-width:none;height:36px;min-height:36px;max-height:none}.interactive-via-remove{aspect-ratio:1;border-radius:50%;flex:0 0 24px;width:24px;min-width:24px;max-width:none;height:24px;min-height:24px;max-height:none}.calendar-completion-facts{border:1px solid var(--po-border);border-radius:.9rem;gap:.75rem;margin:1rem 0;padding:1rem;display:grid}.calendar-completion-facts legend{padding:0 .35rem;font-weight:700}.difficulty-help{color:var(--po-text-muted);margin:0;font-size:.86rem;line-height:1.5}.body-current-fields{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:12px;margin-top:.85rem;display:grid}.body-current-fields>label.aligned-field{flex-direction:column;justify-content:flex-start;gap:6px;min-width:0;display:flex}.body-current-fields .field-label-text{white-space:nowrap;text-overflow:ellipsis;height:20px;color:var(--po-text-muted);font-size:13px;font-weight:700;line-height:20px;overflow:hidden}.body-current-fields .field-hint{color:var(--po-muted);margin-top:4px;font-size:11px;line-height:1.3}@media (width<=680px){.body-current-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}.body-measurement-panel{grid-column:span 2}.body-measurement-list{gap:.5rem;margin-top:1rem;display:grid}.body-measurement-list article{border-top:1px solid var(--po-border);grid-template-columns:minmax(6.5rem,.8fr) minmax(0,2fr) auto;align-items:center;gap:.75rem;padding:.7rem 0;display:grid}.body-measurement-list span{color:var(--po-text-muted)}.body-note-row{grid-template-columns:1fr;margin-top:.85rem}.body-measurement-note{color:var(--po-muted);margin-top:.25rem;font-size:.82rem;display:block}.body-chart-wrap{background:var(--po-surface-raised,#fafaf7);border:1px solid var(--po-border,#c9cbc4);border-radius:14px;gap:12px;margin:12px 0 16px;padding:16px;display:grid}.body-chart-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.body-chart-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.body-metric-tabs{background:var(--po-canvas,#f3f3ef);border:1px solid var(--po-border,#c9cbc4);border-radius:var(--po-radius-control,999px);gap:3px;padding:3px;display:inline-flex}.body-metric-tab-btn{color:var(--po-muted,#50544d);border-radius:var(--po-radius-control,999px);cursor:pointer;transition:var(--po-ease,.16s ease);background:0 0;border:0;padding:5px 12px;font-size:11px;font-weight:700}.body-metric-tab-btn.active{background:var(--po-surface,#fff);color:var(--po-text,#151713);box-shadow:0 1px 4px #00000014}.body-agg-tabs,.body-time-tabs{background:var(--po-canvas,#f3f3ef);border:1px solid var(--po-border,#c9cbc4);border-radius:var(--po-radius-control,999px);gap:3px;padding:3px;display:inline-flex}.body-agg-tab-btn,.body-time-tab-btn{color:var(--po-muted,#50544d);border-radius:var(--po-radius-control,999px);cursor:pointer;transition:var(--po-ease,.16s ease);background:0 0;border:0;padding:5px 10px;font-size:11px;font-weight:700}.body-agg-tab-btn.active,.body-time-tab-btn.active{background:var(--po-surface,#fff);color:var(--po-text,#151713);box-shadow:0 1px 4px #00000014}.body-chart-stats{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.body-chart-stat-chip{color:var(--po-muted,#50544d);align-items:baseline;gap:5px;font-size:12px;display:inline-flex}.body-chart-stat-chip strong{color:var(--po-text,#151713);font-size:14px}.body-chart-stat-chip .stat-delta{font-size:12px;font-weight:700}.stat-delta.negative{color:#2e7d32}.stat-delta.positive{color:#c62828}.body-measurement-svg{width:100%;height:auto;max-height:240px;display:block;overflow:visible}.body-selected-callout{background:var(--po-surface,#fff);border:1px solid var(--po-border,#c9cbc4);color:var(--po-text,#151713);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;font-size:12px;display:flex}.body-selected-callout strong{color:var(--po-accent,#4f7900)}.body-selected-note{color:var(--po-muted,#50544d);font-style:italic}.body-selected-breakdown{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.body-breakdown-chip{background:var(--po-canvas,#f3f3ef);border:1px solid var(--po-border,#c9cbc4);color:var(--po-muted,#50544d);border-radius:4px;align-items:baseline;padding:2px 7px;font-size:11px;display:inline-flex}.workout-library-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:1rem;margin-top:1.25rem;display:grid}.workout-library-cards>span{color:var(--po-text-muted);grid-column:1/-1;font-size:.9rem}.workout-library-cards>div{border:1px solid var(--po-border);background:var(--po-surface);border-radius:.9rem;grid-template-columns:minmax(0,1fr);align-content:start;gap:.65rem;min-width:0;min-height:136px;padding:1.15rem;display:grid}.workout-library-cards>div strong{overflow-wrap:break-word;word-break:normal;min-width:0;font-size:1rem;line-height:1.45}.workout-library-cards>div small{line-height:1.55}.workout-library-cards>div .text-button{justify-self:start;margin-top:.35rem}.panel select,.panel textarea,.workout-builder select,.workout-builder input,.workout-launcher select{width:100%;min-width:0;min-height:48px;font:inherit;padding:10px 12px;line-height:1.35;border:1px solid var(--po-border-strong)!important;background:var(--po-surface-raised)!important;color:var(--po-text)!important;border-radius:14px!important}.panel textarea{resize:vertical;min-height:96px}.panel select:focus-visible,.workout-builder select:focus-visible,.workout-launcher select:focus-visible{border-color:var(--po-accent-bright)!important}.settings-grid .actions{gap:10px;margin-top:14px;padding:2px 2px 0}.settings-grid .actions .text-button{min-height:44px;padding-inline:14px}.map-picker-panel>.actions{gap:10px;margin:0 2px 12px;padding:4px 2px 0}.map-picker-panel>.actions>button{padding-inline:clamp(14px,2vw,18px)}.body-measurement-mark{color:var(--po-accent-bright);font-size:1.15rem;line-height:1}@media (width<=1100px){.route-planner-layout{grid-template-columns:1fr}.route-settings-panel{position:static}}@media (width<=700px){.body-current-fields{grid-template-columns:1fr}.body-measurement-panel{grid-column:auto}.body-measurement-list article{grid-template-columns:1fr auto}.body-measurement-list article span{grid-area:2/1/auto/-1}.route-settings-panel .field-row,.route-settings-panel .field-row:first-child,.place-field{grid-template-columns:1fr}.place-field label,.place-field>button{grid-column:1}.place-results{overscroll-behavior:contain;grid-column:1;max-height:min(40svh,280px)}.trainer-mode-switch{grid-template-columns:1fr 1fr;width:100%;display:grid}.session-recovery{grid-template-columns:1fr;gap:12px}.session-recovery .actions{justify-content:stretch}.session-recovery .actions>button{flex:140px}.workout-launcher{grid-template-columns:1fr;align-items:stretch}.workout-launcher-summary{justify-content:flex-start}.workout-builder .field-row,.interval-composer .field-row,.trainer-advanced .trainer-controls{grid-template-columns:1fr}.actions>button,.actions>.file-button{flex:150px}}@media (width<=620px){.ftp-readiness-summary{grid-template-columns:minmax(0,1fr) auto}.ftp-readiness-summary>button{grid-column:1/-1;width:100%}}.calendar-action{justify-content:center;align-items:center;gap:.45rem;display:inline-flex}.calendar-action svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:1.1rem;height:1.1rem}.training-mini-window{z-index:1300;border:1px solid var(--po-border-strong);background:color-mix(in srgb, var(--po-surface-raised) 88%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);opacity:.72;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:16px;width:clamp(320px,30vw,460px);max-width:calc(100vw - 16px);padding:12px;transition:opacity .16s,box-shadow .16s;position:fixed;box-shadow:0 18px 42px #00000057}.training-mini-window:hover,.training-mini-window:focus-within,.training-mini-window.is-opaque{opacity:1;box-shadow:0 20px 46px #00000075}.training-mini-window header,.training-mini-window header>div,.training-mini-window footer{align-items:center;gap:8px;display:flex}.training-mini-window header{cursor:grab;justify-content:space-between;min-width:0}.training-mini-window header:active{cursor:grabbing}.training-mini-window header strong{letter-spacing:.04em;font-size:.93rem}.training-mini-window .text-button{white-space:nowrap;min-height:32px;padding:4px 7px;font-size:.78rem}.mini-chart{border-bottom:1px solid color-mix(in srgb, var(--po-accent-bright) 72%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--po-accent-bright) 12%, transparent), transparent);height:62px;margin:10px 0;overflow:hidden}.mini-chart svg{width:100%;height:100%;display:block}.mini-chart polyline{fill:none;stroke:var(--po-accent-bright);stroke-width:2.3px;vector-effect:non-scaling-stroke}.mini-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;display:grid}.mini-metrics>div{border:1px solid var(--po-border);background:color-mix(in srgb, var(--po-surface) 75%, transparent);border-radius:10px;min-width:0;padding:8px 6px}.mini-metrics span{color:var(--po-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;display:block;overflow:hidden}.mini-metrics strong{font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:.85rem;display:block;overflow:hidden}.training-mini-window footer{border-top:1px solid var(--po-border);justify-content:space-between;min-width:0;margin-top:10px;padding-top:9px}.training-mini-window footer span{min-width:0;color:var(--po-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.77rem;overflow:hidden}.training-mini-window footer strong{font-variant-numeric:tabular-nums;flex:none}.ftp-comparison{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0;display:grid}.ftp-comparison>div{border:1px solid var(--po-border);background:var(--po-surface-raised);border-radius:12px;min-width:0;padding:12px}.ftp-comparison span{color:var(--po-muted);font-size:.78rem;display:block}.ftp-comparison strong{font-variant-numeric:tabular-nums;margin-top:5px;display:block}.support-button{border:1px solid color-mix(in srgb, var(--po-accent-bright) 68%, var(--po-border));min-height:42px;color:var(--po-text);font:inherit;cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;gap:.42rem;padding:9px 14px;font-weight:750;display:inline-flex}.support-button:hover,.support-button:focus-visible{border-color:var(--po-accent-bright);background:color-mix(in srgb, var(--po-accent-bright) 12%, transparent)}.support-button-compact{min-height:36px;padding:7px 11px;font-size:.82rem}.training-summary .support-button{margin-top:15px}.support-builder-note{color:var(--po-muted);flex-wrap:wrap;align-items:center;gap:10px;margin:16px 2px 4px;font-size:.88rem;display:flex}.support-modal{overscroll-behavior:contain;width:min(430px,100vw - 20px);max-height:calc(100dvh - 20px);padding:clamp(18px,4vw,28px);overflow-y:auto;display:block!important}.support-modal .panel-heading{display:flex}.support-modal>p{line-height:1.65}.support-story{color:var(--po-muted);margin:10px 0 0;font-size:.88rem}.support-tiers{gap:8px;margin:16px 0;padding:0;list-style:none;display:grid}.support-tiers li{border:1px solid var(--po-border);background:var(--po-surface-raised);border-radius:12px;align-items:center;gap:10px;padding:10px 12px;display:flex}.support-tiers li>span{text-align:center;width:1.25rem}.support-scan-label{color:var(--po-muted);text-align:center;font-weight:750;margin:18px 0 10px!important}.support-twqr{border:1px solid var(--po-border);width:min(244px,75vw);height:auto;image-rendering:pixelated;background:#fff;border-radius:14px;margin:0 auto 14px;padding:8px;display:block}.support-note{color:var(--po-text);text-align:left;overflow-wrap:anywhere;margin:0;font-size:.9rem}.support-modal .disclaimer{text-align:left;overflow-wrap:anywhere;margin:14px 0 0;font-size:.78rem}.help-panel{gap:12px;display:grid}.help-panel h2{margin:0}.help-panel details{border:1px solid var(--po-border);background:var(--po-surface-raised);border-radius:12px;padding:12px 14px}.help-panel summary{cursor:pointer;font-weight:750}.help-panel details p{color:var(--po-muted);margin:10px 0 0;line-height:1.6}.help-contact-link{justify-self:start;text-decoration:none}@media (width<=620px){input,select,textarea{font-size:16px!important}.sidebar nav{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin-top:12px;display:grid;overflow:visible}.sidebar .nav-item{justify-content:center;min-width:0;min-height:46px;padding:8px 2px}.sidebar .nav-item span{display:none}.performance-heading .hero-actions{grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem;width:100%;padding:2px 0;display:grid;overflow:visible}.performance-heading .hero-actions button{aspect-ratio:1;min-width:0;height:48px;min-height:48px;padding:0}.performance-heading .calendar-action{justify-self:stretch}.performance-heading .calendar-action svg{width:1.25rem;height:1.25rem}.performance-heading .calendar-action-label{display:none}.workout-library-cards{grid-template-columns:1fr}.training-mini-window{width:min(370px,100vw - 16px);padding:10px}.training-mini-window .text-button{padding-inline:5px;font-size:.72rem}.mini-metrics{gap:5px}.mini-metrics>div{padding:7px 4px}.mini-metrics strong{font-size:.76rem}.ftp-comparison{grid-template-columns:1fr}.support-builder-note{align-items:flex-start}.support-modal{width:min(430px,100vw - 16px);max-height:calc(100dvh - 16px);padding:18px}.support-modal .panel-heading{gap:10px}.support-modal .panel-heading h2{font-size:clamp(1.45rem,7vw,1.9rem)}.support-twqr{width:min(244px,72vw)}.support-note{font-size:.88rem}.help-contact-link{justify-content:center;width:100%}}.settings-container{flex-direction:column;gap:18px;width:100%;display:flex}.settings-tab-bar{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%;display:grid}.settings-tab-btn{border:1px solid var(--po-border);background:var(--po-surface);color:var(--po-muted);cursor:pointer;text-align:left;border-radius:16px;align-items:center;gap:14px;padding:16px 20px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 4px 16px #0000000a}.settings-tab-btn:hover{border-color:var(--po-border-strong);background:var(--po-surface-raised);color:var(--po-text);transform:translateY(-1px)}.settings-tab-btn.active{border-color:var(--po-accent-bright);background:var(--po-surface-raised);color:var(--po-text);box-shadow:0 0 0 1px var(--po-accent-bright), 0 8px 24px #00e5991f}.settings-tab-icon{background:var(--po-surface-raised);border:1px solid var(--po-border);width:40px;height:40px;color:inherit;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:inline-flex}.settings-tab-btn.active .settings-tab-icon{border-color:var(--po-accent-bright);color:var(--po-accent-bright);background:#00e59929}.settings-tab-text{flex-direction:column;gap:3px;min-width:0;display:flex}.settings-tab-text strong{color:var(--po-text);letter-spacing:-.01em;font-size:15px;font-weight:700}.settings-tab-text small{color:var(--po-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.settings-tab-btn.active .settings-tab-text small{color:var(--po-accent)}.settings-quick-stats{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:2px;display:grid}.settings-stat-card{background:var(--po-surface);border:1px solid var(--po-border);border-radius:16px;flex-direction:column;gap:4px;padding:14px 18px;display:flex}.settings-stat-card span{text-transform:uppercase;letter-spacing:.04em;color:var(--po-muted);font-size:11.5px;font-weight:600}.settings-stat-card strong{color:var(--po-accent-bright);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:20px;font-weight:750}.settings-grid .rider-baseline-panel,.settings-grid .equipment-panel{grid-column:auto;min-width:0}.settings-grid .body-measurement-panel{grid-column:1/-1;min-width:0}.pwa-install-panel{flex-direction:column;grid-column:1/-1;gap:16px;display:flex}.pwa-features-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:4px 0 6px;display:grid}.pwa-feature-item{background:var(--po-surface-raised,#fafaf7);border:1px solid var(--po-border);border-radius:12px;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.pwa-feature-icon{background:var(--po-surface);border:1px solid var(--po-border);width:34px;height:34px;color:var(--po-accent-bright);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.pwa-feature-item strong{color:var(--po-text);margin-bottom:3px;font-size:13.5px;font-weight:700;display:block}.pwa-feature-item small{color:var(--po-muted);font-size:11.5px;line-height:1.45;display:block}.pwa-action-bar{border-top:1px solid var(--po-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-top:10px;display:flex}.pwa-action-bar .actions{align-items:center;gap:10px;display:flex}.pwa-action-bar .primary{align-items:center;gap:8px;display:inline-flex}.pwa-version-meta{color:var(--po-muted);align-items:center;gap:14px;font-size:12px;display:flex}.pwa-version-meta code{background:var(--po-surface-raised);border:1px solid var(--po-border);color:var(--po-accent-bright);border-radius:6px;padding:2px 7px;font-size:11.5px}html[data-theme=dark] .pwa-feature-item,html[data-theme=dark] .pwa-version-meta code{background:#1d2c23;border-color:#405747}html[data-theme=dark] .pwa-feature-icon{background:#142019;border-color:#405747}@media (width<=900px){.settings-tab-bar{grid-template-columns:1fr;gap:8px}.settings-quick-stats{grid-template-columns:repeat(2,1fr)}.pwa-features-grid{grid-template-columns:1fr}.pwa-action-bar{flex-direction:column;align-items:flex-start}}@media (width<=520px){.settings-quick-stats{grid-template-columns:1fr}.settings-tab-btn{padding:12px 14px}.settings-tab-icon{width:36px;height:36px}}
