/*! tailwindcss v4.3.5 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:block))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:host,:root{--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ease-out:cubic-bezier(0,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\!visible{visibility:visible!important}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.hidden{display:none}.table{display:table}.transform{transform:var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, )}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.border{border-style:var(--tw-border-style);border-width:1px}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.ring,.shadow{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.filter{filter:var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, )}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}@font-face{font-family:Inter Variable;src:url(/fonts/inter-latin-variable.woff2)format("woff2");font-style:normal;font-weight:100 900;font-display:swap}:root{--background:#070707;--background-raised:#0a0a0a;--panel:#0d0d0d;--surface:#111;--surface-hover:#181818;--foreground:#f7f7f7;--soft:#d4d4d4;--muted:#989898;--faint:#6d6d6d;--border:#ffffff0d;--line:#ffffff14;--accent:#f5f5f5;--accent-strong:#fff;--accent-soft:#ffffff0f;--accent-border:#ffffff29;--success:#e8e8e8;--warning:#cfcfcf;--danger:#d7d7d7;--chart-power:#8ea7ff;--content-width:1120px;--page-gutter:40px;--page-inset:80px;--radius-control:2px;--radius-card:4px;--radius-surface:4px;--radius-pill:4px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--motion-fast:.16s;--motion-base:.24s;--motion-enter:.36s;--ease-out:cubic-bezier(.22,1,.36,1);--ease-standard:cubic-bezier(.2,0,0,1);color:var(--foreground);background:var(--background);font-synthesis:none;color-scheme:dark;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-optical-sizing:auto;font-feature-settings:"cv02" 1,"cv03" 1,"cv04" 1,"cv11" 1;font-family:Inter Variable,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;font-weight:400}*{box-sizing:border-box}body{background:radial-gradient(circle at 50% -18%,#ffffff0a 0,transparent 34rem),var(--background);min-width:320px;margin:0}button,input,select{font:inherit}a,button,input,select{-webkit-tap-highlight-color:#ffffff14}a,button,select,summary{touch-action:manipulation}button{cursor:pointer;color:inherit;transition:background .18s,color .18s,border-color .18s,box-shadow .18s,transform var(--motion-fast) var(--ease-standard);background:0 0;border:0}button:disabled{opacity:.4;cursor:not-allowed}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,svg[tabindex]:focus-visible{outline:2px solid var(--accent-strong);outline-offset:4px}h1,h2,h3,p{margin:0}b,strong{font-weight:550}em{font-style:normal}svg{flex-shrink:0}input,select{min-width:0}::selection{color:#070707;background:#f5f5f5}.muted{color:var(--muted)}.app-shell{isolation:isolate;min-height:100dvh;position:relative}.app-nav{gap:var(--space-8);width:min(var(--content-width),calc(100% - var(--page-inset)));border-bottom:1px solid var(--border);height:88px;margin:0 auto;display:flex}.app-nav,.brand{align-items:center}.brand{letter-spacing:.3px;flex-shrink:0;gap:8px;font-size:18px;font-weight:600;display:inline-flex}.brand svg{width:25px;height:25px;color:var(--accent-strong);filter:drop-shadow(0 0 14px #ffffff1f)}.app-nav nav{flex:1;align-items:center;gap:6px;display:flex}.nav-item{color:var(--muted);white-space:nowrap;border-radius:var(--radius-control);justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:13px;display:inline-flex;position:relative}.nav-item>svg{display:none}.nav-item:hover{color:#eef0f5;background:#ffffff08}.nav-item.active{color:#fff;background:#ffffff0d;box-shadow:inset 0 0 0 1px #ffffff10,0 8px 24px #0000001f}.nav-item.active:after{content:"";background:var(--accent-strong);border-radius:1px;width:13px;height:1px;position:absolute;bottom:3px;left:50%;transform:translate(-50%);box-shadow:0 0 8px #fff9}.nav-utilities{align-items:center;gap:5px;margin-left:auto;display:flex}.nav-utilities .nav-item{border-radius:50%;width:36px;height:36px;padding:0}.nav-utilities .nav-item>svg{display:block}.nav-utilities .nav-item>span,.visually-hidden{clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.main-content{max-width:var(--content-width);padding:var(--space-10) 0 var(--space-6);width:calc(100% - var(--page-inset));margin:0 auto}.page-header{z-index:20;justify-content:space-between;align-items:center;gap:var(--space-6);margin-bottom:var(--space-6);display:flex;position:relative}h1{letter-spacing:-.8px;text-wrap:balance;font-size:27px;font-weight:560;line-height:1.4}.page-header p{color:var(--muted);margin-top:9px;font-size:13px;line-height:1.7}.header-actions{flex-shrink:0;align-items:center;gap:12px;display:flex}.device-pill{border:1px solid var(--line);border-radius:var(--radius-control);min-height:38px;color:var(--soft);white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-size:12px;display:inline-flex}.device-pill:hover{background:var(--surface);color:var(--foreground);border-color:#fff2}.status-dot,.tiny-dot{background:var(--faint);border-radius:50%;flex-shrink:0;width:5px;height:5px;display:inline-block}.status-dot.pending{background:var(--warning);animation:breathe 1.6s infinite}.icon-button{width:38px;height:38px;color:var(--muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.icon-button:hover{color:var(--foreground);background:#ffffff09}.text-button{color:#a8abb6;justify-content:center;align-items:center;gap:7px;padding:8px 0;font-size:12px;line-height:1.5;display:inline-flex}.text-button:hover:not(:disabled){color:var(--foreground)}.button{border:1px solid #0000;justify-content:center;align-items:center;gap:9px;min-height:42px;padding:11px 20px;font-size:13px;font-weight:500;line-height:1.5;display:inline-flex}.busy-indicator{border:2px solid;border-right:2px solid #0000;border-radius:50%;width:14px;height:14px;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.button.primary{color:#080808;background:#f5f5f5;border-color:#fff;box-shadow:inset 0 1px #fff,0 8px 24px #00000059}.button.primary:hover:not(:disabled){background:#fff;transform:translateY(-1px);box-shadow:inset 0 1px #fff,0 10px 32px #00000073}.button.secondary:hover:not(:disabled){background:var(--surface-hover);border-color:#ffffff24;transform:translateY(-1px)}.button.quiet{color:var(--soft);border-color:var(--line)}.full{width:100%}@keyframes content-enter{0%{opacity:0}}@keyframes card-enter{0%{opacity:0}}@keyframes message-enter{0%{opacity:0}}@keyframes stage-enter{0%{opacity:0;transform:translate(5px)}}@keyframes result-enter{0%{opacity:0;transform:scale(.82)}}@keyframes modal-enter{0%{opacity:0}}@keyframes backdrop-enter{0%{opacity:0}}@keyframes workout-line-draw{to{stroke-dashoffset:0}}@keyframes workout-area-enter{0%{opacity:0}}@keyframes live-pulse{50%{box-shadow:0 0 0 5px #ffffff0a}}.page-header{animation:content-enter var(--motion-enter) var(--ease-out) both}.active-ride-banner,.message-bar{animation:message-enter var(--motion-base) var(--ease-out) both}.course-create-bar,.history-summary,.home-launch,.ride-instrument,.ride-result,.settings-layout{animation:content-enter var(--motion-enter) var(--ease-out) both}.history-panel,.home-courses,.library-grid,.recent-section,.ride-workout{animation:content-enter var(--motion-enter) var(--ease-out) 65ms both}.ride-chart{animation:content-enter var(--motion-enter) var(--ease-out) .12s both}.page-footer{animation:content-enter var(--motion-base) var(--ease-out) .1s both}.history-summary>*,.home-course-grid>*,.library-grid>*,.records-list>*,.settings-layout>*{animation:card-enter var(--motion-enter) var(--ease-out) backwards}.history-summary>:nth-child(2),.home-course-grid>:nth-child(2),.library-grid>:nth-child(2),.records-list>:nth-child(2),.settings-layout>:nth-child(2){animation-delay:45ms}.history-summary>:nth-child(3),.home-course-grid>:nth-child(3),.library-grid>:nth-child(3),.settings-layout>:nth-child(3){animation-delay:90ms}.home-course-grid>:nth-child(4),.library-grid>:nth-child(4){animation-delay:.135s}.library-grid>:nth-child(5){animation-delay:.18s}.library-grid>:nth-child(6){animation-delay:.225s}.library-grid>:nth-child(n+7){animation-delay:.27s}.stage-heading{animation:stage-enter .22s var(--ease-out) both}.result-check{animation:result-enter .42s var(--ease-out) both}.session-status.running i{animation:live-pulse 2.2s var(--ease-standard) infinite}.workout-bars .workout-zone-area{animation:workout-area-enter .48s var(--ease-out) both}.workout-bars .workout-zone-line{stroke-dasharray:1;stroke-dashoffset:1px;animation:workout-line-draw .72s var(--ease-out) 40ms forwards}.home-page-header{justify-content:flex-end;min-height:38px;margin-bottom:16px}.home-launch{background:#191a20;border:1px solid #ffffff05;border-radius:20px;grid-template-columns:minmax(0,1fr) minmax(230px,.62fr);align-items:center;gap:46px;padding:32px 38px 30px;display:grid}.home-launch.is-free{grid-template-columns:minmax(0,620px)}.launch-context{color:#999;align-items:center;gap:8px;font-size:12px;display:flex}.launch-context svg{width:17px;height:17px}.launch-main h1{letter-spacing:-1.5px;margin:13px 0 11px;font-size:clamp(33px,3.6vw,45px);font-weight:500;line-height:1.25}.launch-selection{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.launch-selection strong{color:#c9c9c9;font-size:14px;font-weight:450}.launch-selection span{color:#868686;font-variant-numeric:tabular-nums;align-items:center;gap:9px;font-size:11px;display:inline-flex}.launch-selection span:before{content:"";background:#595959;border-radius:50%;width:2px;height:2px}.launch-actions{flex-wrap:wrap;align-items:center;gap:14px 20px;margin-top:22px;display:flex}.launch-button{min-width:158px;min-height:44px;padding:11px 19px;font-size:13px}.launch-button>svg:last-child{width:16px;margin-left:9px}.erg-inline-switch{color:#9a9a9a;white-space:nowrap;border:1px solid #ffffff12;border-radius:999px;align-items:center;gap:8px;min-height:38px;font-size:11px;display:flex}.erg-inline-switch input{appearance:none;cursor:pointer;background:#3f3f3f;border-radius:20px;flex-shrink:0;width:34px;height:20px;position:relative}.erg-inline-switch input:after{content:"";background:#a5a5a5;border-radius:50%;width:14px;height:14px;transition:transform .15s;position:absolute;top:3px;left:3px}.erg-inline-switch input:checked:after{background:#eee;transform:translate(14px)}.erg-inline-switch input:disabled{cursor:not-allowed}.launch-course-map{border-left:1px solid #ffffff0b;min-width:0;padding-left:36px}.launch-course-map>span{color:#777;text-align:right;font-variant-numeric:tabular-nums;font-size:10px;display:block}.launch-course-map .workout-bars{height:54px;margin-top:12px}.section-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.section-heading h2{letter-spacing:-.3px;font-size:17px;font-weight:500}.section-heading p{color:var(--muted);margin-top:8px;font-size:12px}.home-courses{margin-top:30px}.home-course-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.home-course-card{text-align:left;background:#ffffff02;border:1px solid #ffffff0a;border-radius:12px;flex-direction:column;min-width:0;padding:14px 14px 12px;transition:border-color .18s,background .18s;display:flex}.home-course-card:hover{background:#ffffff06;border-color:#ffffff20}.home-course-meta{color:#8a8a8a;font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;font-size:10px;display:flex}.home-course-meta svg{width:13px;transition:transform .18s}.home-course-card:hover .home-course-meta svg{transform:translate(2px)}.home-course-card>strong{color:#c8c8c8;text-overflow:ellipsis;white-space:nowrap;margin-top:10px;font-size:13px;font-weight:450;display:block;overflow:hidden}.home-course-card .workout-bars{opacity:.78;height:28px;margin:10px 0 8px}.home-course-card:hover .workout-bars{opacity:1}.home-course-card>small{color:#8a8a8a;font-variant-numeric:tabular-nums;font-size:10px}.course-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;display:grid}.course-entry{text-align:left;border-bottom:1px solid var(--line);min-width:0;padding:4px 0 24px}.course-entry-heading{color:#8f8f8f;justify-content:space-between;gap:12px;font-size:11px;display:flex}.course-entry .workout-bars{opacity:.8;height:76px;margin:18px 0 20px;transition:opacity .2s}.course-entry:hover .workout-bars{opacity:1}.course-entry-title{justify-content:space-between;align-items:center;gap:12px;display:flex}.course-entry h3{font-size:17px;font-weight:500}.course-entry-title>svg{color:#777;width:16px;transition:transform .2s,color .2s}.course-entry:hover .course-entry-title>svg{color:#ddd;transform:translate(3px)}.course-entry p{color:#8f8f8f;margin-top:8px;font-size:12px;line-height:1.8}.course-intensity{color:#aaa;font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:8px;margin-top:15px;font-size:11px;display:flex}.workout-bars{width:100%;height:76px;position:relative}.workout-bars>svg{width:100%;height:100%;display:block;overflow:visible}.workout-bars.large{height:135px;margin:6px 0 25px}.workout-chart .workout-bars.large{margin-bottom:0}.workout-bars.is-interactive{cursor:pointer;touch-action:pan-y}.workout-bars.is-interactive:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.workout-chart-axis{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;gap:8px;font-size:11px;display:flex}.workout-chart-axis span:nth-child(2){color:var(--faint)}.workout-chart-selection{color:var(--soft);font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:3px 10px;padding:7px 0;font-size:12px;display:flex}.workout-chart-selection>span:first-child{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;min-width:0;display:inline-flex;overflow:hidden}.workout-chart-selection>span:last-child{white-space:nowrap}.workout-chart-selection i{border-radius:50%;flex:0 0 6px;width:6px;height:6px}.workout-bar-labels{pointer-events:none;position:absolute;inset:0}.workout-bar-labels span{color:#e0e2e3;text-align:center;font-variant-numeric:tabular-nums;padding-top:6px;font-size:10px;font-weight:550;line-height:1;position:absolute}.workout-baseline{stroke:#ffffff0e;stroke-width:1px;vector-effect:non-scaling-stroke}.workout-position{background:var(--workout-zone-color,#fff);width:1px;transition:left .45s linear;position:absolute;top:6%;bottom:3%;transform:translate(-.5px);box-shadow:0 0 10px #ffffff26}.workout-position:before{content:"";background:var(--workout-zone-color,#f5f5f5);border-radius:50%;width:5px;height:5px;position:absolute;top:-2px;left:-2px}.repeat-workout{border-bottom:1px solid var(--border);align-items:center;gap:18px;padding:21px 0;display:flex}.repeat-workout>svg{color:#898989}.repeat-workout>div{flex:1;align-items:center;gap:18px;display:flex}.repeat-workout>div>span{color:var(--muted);font-size:12px}.repeat-workout .muted{font-size:12px}.recent-section{margin-top:28px}.recent-section .section-heading{margin-bottom:4px}.recent-ride-row{text-align:left;border-bottom:1px solid #ffffff0a;align-items:center;gap:18px;width:100%;padding:14px 0;display:flex}.recent-ride-row:last-child{border-bottom:0}.recent-ride-main{flex:1;min-width:0}.recent-ride-main strong{color:#bdbdbd;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:450;display:block;overflow:hidden}.recent-ride-main small{color:#8a8a8a;margin-top:5px;font-size:10px;display:block}.recent-ride-meta{color:#8e8e8e;font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:9px;font-size:11px;display:inline-flex}.recent-ride-meta i{background:#565656;border-radius:50%;width:2px;height:2px}.recent-ride-row>svg{color:#676767}.recent-ride-row:hover .recent-ride-main strong{color:#eee}.history-empty-line{color:#888;align-items:center;gap:12px;padding:17px 0;font-size:12px;line-height:1.8;display:flex}.record-row{border-bottom:1px solid var(--border);text-align:left;align-items:center;gap:20px;width:100%;padding:20px 0;display:flex}.record-row:last-child{border-bottom:0}.record-row:hover .record-name strong{color:#fff}.record-icon{color:#858585;justify-content:center;align-items:center;width:35px;display:flex}.record-name{flex:1;min-width:0}.record-name strong{color:#c4c4c4;font-size:13px;font-weight:450;display:block}.record-name small{color:var(--muted);align-items:center;gap:8px;margin-top:7px;font-size:11px;display:flex}.record-duration,.record-watts{font-variant-numeric:tabular-nums;min-width:100px;font-size:16px}.record-duration small,.record-watts small{color:var(--muted);margin-top:5px;font-size:11px;display:block}.record-watts em{color:var(--muted);font-size:11px}.record-row>svg{color:#777}.page-footer{color:#8a8a8a;justify-content:space-between;gap:16px;margin-top:25px;padding:24px 0 8px;display:flex}.page-footer,.site-icp a{align-items:center;font-size:11px}.site-icp a{min-height:44px;color:var(--muted);white-space:nowrap;justify-content:center;padding:0 8px;line-height:1.3;display:inline-flex}.site-icp a:focus-visible{outline:2px solid var(--accent);outline-offset:-3px;border-radius:4px}.focus-mode .app-nav{display:none}.ride-page .main-content{max-width:1040px;padding-top:34px;padding-bottom:25px}.ride-page .page-header>div:first-child{align-items:center;gap:15px;min-width:0;display:flex}.ride-page h1{letter-spacing:-.6px;font-size:22px;font-weight:500}.ride-back{background:#ffffff04;border-radius:50%;flex-shrink:0;width:36px;height:36px;padding:0;display:inline-flex}.ride-back>svg{transform:rotate(180deg)}.ride-page .device-pill{border:1px solid #ffffff0a;border-radius:50%;width:37px;min-height:37px;padding:0;position:relative}.ride-page .device-pill>span{display:none}.ride-page .device-pill>.tiny-dot{width:4px;height:4px;position:absolute;top:7px;right:7px}.ride-page .header-actions{gap:8px}.ride-instrument{background:#191a20;border:1px solid #ffffff05;border-radius:22px;padding:23px 30px 0}.ride-topline{justify-content:space-between;gap:16px;font-size:11px}.ride-state,.ride-topline{align-items:center;display:flex}.ride-state{gap:12px}.session-status{color:#b5b5b5;white-space:nowrap;align-items:center;gap:7px;font-size:12px;display:inline-flex}.session-status i{background:#a2a2a2;border-radius:50%;width:4px;height:4px}.session-status.paused i{background:#777}.ride-meta{color:#838383;font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:9px;font-size:11px;display:flex}.ride-meta>i{background:#555;border-radius:50%;width:2px;height:2px}.ride-erg-toggle{color:#858585;font-variant-numeric:tabular-nums;white-space:nowrap;background:#ffffff03;border:1px solid #ffffff14;border-radius:999px;align-items:center;gap:6px;min-height:24px;padding:3px 8px;font-size:10px;display:inline-flex}.ride-erg-toggle>i{background:#666;border-radius:50%;width:5px;height:5px}.ride-erg-toggle:hover:not(:disabled){color:#eee;border-color:#ffffff35}.ride-erg-toggle:disabled{opacity:.55}.ride-readout-bar{grid-template-columns:1.5fr .75fr 1.45fr;align-items:center;gap:30px;padding:29px 0 26px;display:grid}.ride-readout-bar.free{grid-template-columns:1.5fr 1.4fr}.reading-label{color:#8f8f8f;align-items:center;gap:6px;font-size:12px;font-weight:400;display:flex}.reading-label svg{color:#898989}.power-reading{align-items:baseline;gap:10px;padding-top:9px;display:flex}.power-reading strong{letter-spacing:-.065em;font-variant-numeric:tabular-nums;font-size:clamp(80px,8.5vw,112px);font-weight:420;line-height:1}.power-reading>span{color:#969696;font-size:19px;font-weight:400}.ride-target{align-self:center;padding-top:5px}.ride-target strong{color:#c6c6c6;letter-spacing:-.8px;white-space:nowrap;font-variant-numeric:tabular-nums;margin-top:12px;font-size:31px;font-weight:420;display:block}.ride-target small{letter-spacing:0;color:#858585;font-size:11px;font-weight:400}.ride-secondary{border-left:1px solid #ffffff0b;grid-template-columns:1fr 1fr;gap:29px;padding:4px 0 0 29px;display:grid}.secondary-reading{align-items:baseline;gap:7px;margin-top:11px;display:flex}.secondary-reading strong{letter-spacing:-1.2px;font-variant-numeric:tabular-nums;font-size:clamp(32px,3.2vw,42px);font-weight:420;line-height:1.2}.secondary-reading>span{color:#858585;font-size:11px}.sensor-note{color:#aaa;max-width:160px;margin-top:6px;font-size:11px;line-height:1.5;display:block}.ride-control-dock{border-top:1px solid #ffffff0a;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:17px 0;display:grid}.ride-timer{align-items:center;gap:16px;display:flex}.ride-timer>span{color:#858585;font-size:11px}.ride-timer strong{letter-spacing:-.6px;font-variant-numeric:tabular-nums;font-size:28px;font-weight:450;line-height:1.2}.ride-controls{align-items:center;gap:13px;display:flex}.ride-controls .button{min-width:120px}.ride-icon-action{color:#9f9f9f;border:1px solid #ffffff17;border-radius:50%;justify-content:center;align-items:center;width:39px;height:39px;display:inline-flex}.ride-icon-action.toggle{color:#202020;background:#e9e9e9;border:0;width:50px;height:50px;box-shadow:inset 0 1px #fffa,0 3px 10px #00000018}.ride-save-note{color:#999;grid-column:1/-1;align-items:center;gap:6px;font-size:11px;display:flex}.ride-save-note .text-button{color:#ccc;padding:0;font-size:12px}.ride-disconnected{color:#b9b9b9;background:#ffffff06;border:1px solid #ffffff12;border-radius:7px;justify-content:space-between;align-items:center;gap:12px;margin-top:17px;padding:9px 12px;font-size:12px;display:flex}.ride-disconnected .text-button{flex-shrink:0;padding:0}.ride-workout{margin:30px 4px 0}.stage-heading{justify-content:space-between;gap:16px}.stage-current,.stage-heading{align-items:center;display:flex}.stage-current{gap:15px}.stage-number{font-variant-numeric:tabular-nums;color:#b0b0b0;font-size:12px}.stage-heading h2{letter-spacing:-.2px;font-size:16px;font-weight:500}.stage-time{color:#818181;align-items:center;gap:11px;font-size:11px;display:inline-flex}.stage-time b{color:#c5c5c5;font-variant-numeric:tabular-nums;font-size:14px;font-weight:450}.ride-workout .workout-bars{height:83px;margin-top:20px}.stage-meta{color:#858585;justify-content:space-between;align-items:center;gap:14px;margin-top:10px;font-size:11px;display:flex}.stage-meta>span{align-items:center;gap:8px;display:inline-flex}.stage-meta b{color:#ababab;font-variant-numeric:tabular-nums;font-weight:450}.ride-chart{border-top:1px solid var(--border);margin:25px 4px 0;padding-top:22px}.ride-result{text-align:center;padding:52px 0 42px}.result-check{color:#cecece;background:#ffffff05;border:1px solid #ffffff10;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:24px;display:inline-flex}.ride-result h2{font-size:25px;font-weight:500}.ride-result>p{color:var(--muted);margin-top:12px;font-size:13px}.ride-result .record-detail-stats{justify-content:center;gap:60px;margin:34px 0 24px;display:flex}.live-chart{min-width:0;position:relative}.chart-toolbar,.live-chart-top{justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;display:flex}.live-chart-legend{align-items:center;gap:22px;display:flex}.live-chart-legend>span{color:#a8a8a8;align-items:center;gap:7px;font-size:12px;display:inline-flex}.live-chart-legend i{border-radius:1px;width:12px;height:2px}.live-chart-legend small{color:#6e6e6e;margin-left:-2px;font-size:11px}.range-tabs{background:#ffffff03;border-radius:7px;align-items:center;gap:2px;padding:3px;display:inline-flex}.range-tabs button{color:#7e7e7e;border-radius:5px;min-height:26px;padding:6px 10px;font-size:11px}.range-tabs button:hover{color:#d1d1d1}.live-chart-lanes,.plot-wrap{position:relative}.live-chart-lanes{touch-action:pan-y;cursor:crosshair}.live-chart-lanes>svg,.plot-wrap>svg{width:100%;height:auto;display:block;overflow:visible}.live-grid-line{stroke:#ffffff08;stroke-width:1px;stroke-dasharray:2 5}.live-baseline,.live-grid-line{vector-effect:non-scaling-stroke}.live-baseline{stroke:#ffffff09;stroke-width:1px}.live-scale,.live-time,.plot-wrap svg text{fill:#828282;font-variant-numeric:tabular-nums;font-size:11px}.live-missing{fill:#777;font-size:11px}.live-chart-hover{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#909090;pointer-events:none;font-variant-numeric:tabular-nums;background:#202020f0;border:1px solid #ffffff16;border-radius:7px;align-items:center;gap:14px;padding:9px 12px;font-size:11px;display:flex;position:absolute;top:45px;right:0;box-shadow:0 8px 24px #00000028}.live-chart-hover>span{white-space:nowrap;align-items:baseline;gap:5px;display:inline-flex}.live-chart-hover b{color:#e1e1e1;font-size:12px;font-weight:500}.metric-tabs{align-items:center;gap:20px;display:flex}.metric-tabs button{color:#919191;border-bottom:1px solid #0000;align-items:center;gap:7px;padding:6px 0;font-size:12px;display:flex}.metric-tabs i{border-radius:1px;width:10px;height:2px}.metric-tabs button span{color:#737373;font-size:11px}.chart-empty{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex;position:absolute;inset:0}.chart-empty>span{color:#a5a5a5;font-size:13px}.chart-empty small{color:#858585;font-size:11px}.chart-tooltip{color:#a0a0a0;white-space:nowrap;pointer-events:none;background:#242424;border:1px solid #ffffff15;border-radius:6px;padding:8px 12px;font-size:11px;position:absolute;top:2px}.chart-tooltip strong{color:#ededed;margin:0 5px;font-size:14px}.active-ride-banner,.message-bar{color:#b5b5b5;border:1px solid var(--border);border-radius:8px;align-items:center;gap:10px;margin-bottom:20px;padding:11px 15px;font-size:12px;line-height:1.7;display:flex}.active-ride-banner>span,.message-bar>span{flex:1}.message-bar.error{color:#dedede;border-color:#ffffff24}.message-bar .icon-button{width:25px;height:25px}.skip-link{z-index:100;color:#151515;background:#eee;border-radius:6px;padding:12px 20px;position:fixed;top:-60px;left:20px}.skip-link:focus{top:10px}.course-create-bar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:24px;margin-bottom:27px;padding:0 0 21px;display:flex}.course-create-bar>div{align-items:center;gap:12px;display:flex}.course-create-icon{color:#a8a8a8;background:#191919;border:1px solid #ffffff0d;border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.course-create-bar strong{color:#d6d6d6;font-size:13px;font-weight:500;display:block}.course-create-bar small{color:#828282;margin-top:4px;font-size:11px;line-height:1.6;display:block}.course-create-bar .button{min-height:37px;padding:8px 15px;font-size:12px}.preview-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:10px;display:grid}.preview-actions .preview-delete{color:#d8a0a0;min-width:64px;padding-inline:10px}.course-preview-steps-heading{display:none}.library-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:27px 23px}.library-grid .course-entry{border-right:0;border-bottom:1px solid var(--border);flex-direction:column;height:100%;margin-bottom:0;padding:12px 0 17px;display:flex}.library-grid .course-entry-heading{font-size:10px}.library-grid .workout-bars{height:76px;margin:14px 0 15px}.library-grid .course-entry h3{font-size:15px}.library-grid .course-entry p{min-height:36px;margin-top:6px;font-size:11px;line-height:1.65}.library-grid .course-intensity{margin-top:auto;padding-top:13px}.history-summary{grid-template-columns:repeat(3,1fr);margin:15px 0 40px;display:grid}.history-summary article{border-right:1px solid var(--border);flex-direction:column;gap:19px;padding:12px 30px;display:flex}.history-summary article:first-child{padding-left:0}.history-summary article:last-child{border-right:0}.history-summary article>span{color:var(--muted);font-size:13px}.history-summary strong{letter-spacing:-1px;font-variant-numeric:tabular-nums;font-size:36px;font-weight:500}.history-summary small{color:var(--muted);margin-left:10px;font-size:12px;font-weight:400}.panel-heading{justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px;display:flex}.panel-heading h2{font-size:17px;font-weight:550}.panel-heading p{color:var(--muted);margin-top:7px;font-size:13px;line-height:1.7}.subtle-badge{color:var(--muted);font-size:12px}.history-panel{border-top:1px solid var(--border);padding-top:25px}.empty-state{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:16px;padding:65px 20px;display:flex}.empty-state h3{color:#dfdfdf;font-size:18px;font-weight:500}.empty-state p{font-size:14px}.empty-state .button{margin-top:8px}.settings-layout{flex-direction:column;gap:30px;max-width:900px;display:flex}.settings-panel{border-top:1px solid var(--border);padding:25px 0}.settings-panel .panel-heading{border-bottom:1px solid var(--border);margin-bottom:15px;padding-bottom:20px}.settings-panel .panel-heading>svg{color:var(--muted)}.setting-field,.setting-row{justify-content:space-between;align-items:center;gap:20px;padding:15px 0 26px;display:flex}.setting-field>span,.setting-row>div{flex-direction:column;gap:8px;display:flex}.setting-field strong,.setting-row strong{font-size:14px;font-weight:500}.setting-field small,.setting-row small{color:var(--muted);font-size:12px;line-height:1.7}.unit-input{background:var(--panel);border:1px solid #414141;border-radius:6px;align-items:center;padding-right:14px;display:flex}.unit-input.invalid{border-color:#8f6262}.unit-input input{color:#ececec;font-variant-numeric:tabular-nums;background:0 0;border:0;width:105px;padding:11px 12px;font-size:20px}.unit-input>span{color:var(--muted);font-size:12px}.setting-control{align-items:flex-end}.setting-value{color:var(--soft);white-space:nowrap;gap:8px}.local-note,.setting-value{align-items:center;font-size:12px;display:flex}.local-note{color:var(--muted);gap:9px;line-height:1.8}.switch-row{justify-content:space-between;align-items:center;gap:16px;margin:20px 0 25px;display:flex}.switch-row>div{flex-direction:column;gap:8px;display:flex}.switch-row strong{font-size:14px;font-weight:500}.switch-row small{color:var(--muted);font-size:12px;line-height:1.7}.switch-row input{appearance:none;cursor:pointer;background:#414141;border-radius:18px;flex-shrink:0;width:40px;height:24px;position:relative}.switch-row input:after{content:"";background:#acacac;border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:3px;left:3px}.switch-row input:checked:after{background:#ebebeb;transform:translate(16px)}.modal{color:#eee;overscroll-behavior:contain;background:#191919;border:1px solid #424242;border-radius:18px;width:min(680px,100vw - 32px);max-height:90dvh;margin:auto;padding:0;position:fixed;inset:0;overflow:auto;box-shadow:0 30px 100px #0008}.modal[open]{animation:modal-enter var(--motion-base) var(--ease-out) both}.modal[open]::backdrop{animation:backdrop-enter var(--motion-fast) var(--ease-standard) both}.modal.modal-wide{width:min(920px,100vw - 32px)}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:start;gap:20px;padding:25px 28px;display:flex}.modal-header h2{font-size:22px;font-weight:550}.modal-header p{color:var(--muted);margin-top:9px;font-size:12px;line-height:1.8}.template-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.template-card{text-align:left;background:#171717;border:1px solid #ffffff0c;border-radius:13px;flex-direction:column;min-width:0;padding:17px 18px 18px;transition:border-color .18s,background .18s;display:flex}.template-card-top{color:#7f7f7f;justify-content:space-between;align-items:center;gap:12px;font-size:10px;display:flex}.template-card .workout-bars{opacity:.8;height:62px;margin:14px 0 15px;transition:opacity .18s}.template-card:hover .workout-bars{opacity:1}.template-card-title{justify-content:space-between;align-items:center;gap:12px;display:flex}.template-card-title strong{color:#e4e4e4;font-size:15px;font-weight:520}.template-card-title svg{color:#777;transition:color .18s,transform .18s}.template-card:hover .template-card-title svg{color:#ddd;transform:translate(3px)}.template-card-copy{color:#858585;margin-top:7px;font-size:11px;line-height:1.75}.template-picker-note{color:#797979;align-items:center;gap:7px;margin-top:17px;font-size:11px;line-height:1.7;display:flex}.course-name-field{flex-direction:column;gap:8px;margin-bottom:17px;display:flex}.course-name-field>span{color:#888;font-size:11px}.course-name-field input{color:#ededed;letter-spacing:-.4px;background:#151515;border:1px solid #ffffff12;border-radius:8px;outline:0;width:100%;padding:12px 13px;font-size:20px;font-weight:500}.course-name-field input:focus{border-color:#ffffff2b}.course-name-field input::placeholder{color:#666}.field-error{color:#d8b1b1;font-size:11px;line-height:1.5}.course-name-field input[aria-invalid=true],.editor-step input[aria-invalid=true]{border-color:#8f6262}.editor-preview{background:#171717;border:1px solid #ffffff08;border-radius:13px;padding:17px 20px 12px}.editor-preview-heading{color:#7f7f7f;font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:14px;font-size:10px;display:flex}.editor-preview .workout-bars{height:112px;margin:10px 0 9px}.workout-zone-legend{color:#a3a5ab;flex-wrap:wrap;align-items:center;gap:6px 16px;font-size:11px;display:flex}.workout-zone-legend>span{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.workout-zone-legend>span>span{color:#898c94}.workout-zone-legend i{border-radius:50%;flex:0 0 6px;width:6px;height:6px}.course-preview-overview .workout-zone-legend{margin-bottom:10px}.editor-steps-heading{justify-content:space-between;align-items:center;gap:18px;margin:23px 0 7px;display:flex}.editor-steps-heading h3{font-size:15px;font-weight:520}.editor-steps-heading p{color:#818181;margin-top:5px;font-size:11px;line-height:1.7}.editor-steps-heading .text-button{color:#bdbdbd;flex-shrink:0}.editor-step-list{border-top:1px solid var(--border)}.editor-step{border-bottom:1px solid var(--border);grid-template-columns:23px minmax(105px,1fr) 92px minmax(260px,1.25fr) auto;align-items:center;gap:10px;padding:11px 0;display:grid}.editor-field{flex-direction:column;gap:4px;min-width:0;display:flex}.editor-step-index{color:#727272;font-variant-numeric:tabular-nums;font-size:10px}.editor-duration input,.editor-step-name{color:#d8d8d8;background:#171717;border:1px solid #0000;border-radius:6px;outline:0;min-width:0;height:35px;padding:0 9px;font-size:12px}.editor-duration input:focus,.editor-step-name:focus{background:#1b1b1b;border-color:#ffffff24}.editor-duration{align-items:center;gap:6px;display:flex}.editor-duration input{text-align:right;font-variant-numeric:tabular-nums;appearance:textfield;width:55px;padding-right:3px}.editor-duration input::-webkit-inner-spin-button,.editor-duration input::-webkit-outer-spin-button{appearance:none;margin:0}.editor-duration span{color:#777;white-space:nowrap;font-size:10px}.editor-intensity{gap:7px;min-width:0;display:grid}.editor-intensity-control{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.editor-intensity input{appearance:none;cursor:ew-resize;background:0 0;width:100%;height:28px;margin:0}.editor-intensity input::-webkit-slider-runnable-track{background:linear-gradient(to right,var(--zone-color) 0,var(--zone-color) var(--intensity-progress),#333 var(--intensity-progress),#333 100%);border-radius:999px;height:5px}.editor-intensity input::-webkit-slider-thumb{appearance:none;background:var(--zone-color);border:2px solid #191919;border-radius:50%;width:15px;height:15px;margin-top:-5px;transition:box-shadow .16s,transform .16s;box-shadow:0 0 0 1px #ffffff38}.editor-intensity input:hover::-webkit-slider-thumb{box-shadow:0 0 0 1px #ffffff70,0 0 0 5px #ffffff0b}.editor-intensity input:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 1px #ffffff70,0 0 0 5px #ffffff0b}.editor-intensity input:active::-webkit-slider-thumb{transform:scale(1.1)}.editor-intensity input::-moz-range-track{background:#333;border:0;border-radius:999px;height:5px}.editor-intensity input::-moz-range-progress{background:var(--zone-color);border-radius:999px;height:5px}.editor-intensity input::-moz-range-thumb{background:var(--zone-color);border:2px solid #191919;border-radius:50%;width:11px;height:11px;box-shadow:0 0 0 1px #ffffff38}.editor-intensity input:focus-visible{outline-offset:3px;border-radius:999px;outline:2px solid #ffffff52}.editor-intensity output{font-variant-numeric:tabular-nums;justify-items:end;gap:2px;min-width:56px;display:grid}.editor-intensity output strong{color:#d7d7d7;font-size:12px;font-weight:520;line-height:1.2}.editor-intensity output small{color:#777;white-space:nowrap;font-size:9px;line-height:1.2}.editor-zones{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.editor-zones button{color:#858585;letter-spacing:.02em;background:#ffffff02;border:1px solid #ffffff0b;border-radius:6px;min-width:0;height:27px;padding:0;font-size:9px;font-weight:500}.editor-zones button:hover{color:#bcbcbc;background:#ffffff07;border-color:#fff2}.editor-zones button.active{background:var(--zone-color);color:#171717}.editor-zones button:focus-visible{outline-offset:2px}@media (max-width:780px){.editor-step{grid-template-columns:23px minmax(0,1fr) 92px;grid-template-areas:"index name duration"".intensity intensity"".actions actions";align-items:start}.editor-step-index{grid-area:index}.editor-step-name-field{grid-area:name}.editor-step-duration-field{grid-area:duration}.editor-intensity{grid-area:intensity}.editor-step-actions{grid-area:actions}}.editor-step-actions{justify-content:flex-end;align-items:center;gap:0;display:flex}.editor-step-actions .icon-button{color:#777;border-radius:5px;width:28px;height:29px}.icon-button.danger:hover:not(:disabled),.text-button.danger:hover:not(:disabled){color:#d8b1b1}.editor-power-note{color:#7f7f7f;align-items:center;gap:7px;margin-top:13px;font-size:10px;line-height:1.7;display:flex}.editor-power-note strong{color:#b3b3b3;font-weight:500}.course-editor .inline-error{margin:15px 0 0}.editor-actions{z-index:2;border-top:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#191919f5;justify-content:space-between;align-items:center;gap:16px;margin:22px -28px -28px;display:flex;position:sticky;bottom:-28px}.editor-actions>div{align-items:center;gap:10px;display:flex}.editor-actions .button{white-space:nowrap}.editor-actions .text-button.danger{padding-left:0}.text-button.danger{color:#8e7d7d}.device-popover-anchor{display:flex;position:relative}.device-popover{z-index:100;overscroll-behavior:contain;width:min(390px,100vw - 32px);max-height:min(680px,100dvh - 190px);animation:popover-enter .18s var(--ease-out) both;background:#191919;border:1px solid #3b3b3b;border-radius:16px;padding:0;position:absolute;top:calc(100% + 10px);right:0;overflow:auto;box-shadow:0 24px 70px #000000a6,inset 0 1px #ffffff08}.device-popover:focus{outline:none}@keyframes popover-enter{0%{opacity:0}}.device-popover-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:18px;padding:13px 14px 13px 16px;display:flex}.device-popover-header>div{align-items:baseline;gap:9px;display:flex}.device-popover-header strong{font-size:13px;font-weight:520}.device-popover-header span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:10px}.device-popover-header .icon-button{width:32px;height:32px}.device-row{border-bottom:1px solid var(--border);padding:14px 0}.device-row-main{gap:11px;min-width:0}.device-icon,.device-row-main{align-items:center;display:flex}.device-icon{width:32px;height:32px;color:var(--soft);background:#ffffff03;border:1px solid #ffffff0d;border-radius:9px;flex-shrink:0;justify-content:center}.device-row-copy{flex:1;min-width:0}.device-row-title{align-items:center;gap:8px;display:flex}.device-row h3{font-size:12px;font-weight:520}.device-row-title>span{color:#777;font-size:9px;line-height:1}.device-current{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:10px;display:block;overflow:hidden}.device-connected-actions{justify-content:flex-end;align-items:center;gap:12px;margin-top:7px;display:flex}.device-connected-actions .text-button,.reconnect{padding:2px 0;font-size:10px}.device-connect-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:9px;margin-top:11px;display:grid}.device-connect-row label{gap:5px;min-width:0;display:grid}.device-connect-row label>span{color:#777;font-size:9px}.device-connect-row select{width:100%;min-height:34px;color:var(--soft);background:#141414;border:1px solid #383838;border-radius:8px;padding:6px 28px 6px 9px;font-size:10px}.device-connect-row .button{border-radius:8px;min-height:34px;padding:7px 12px;font-size:10px}.native-list{flex-direction:column;align-items:flex-start;gap:2px;margin-top:5px;display:flex}.native-list .text-button{padding:5px 0;font-size:10px}.reconnect{margin-top:5px;display:inline-flex}.forget-button{color:#777;margin-top:8px;padding:3px 0;font-size:9px;text-decoration:underline;display:block}.device-connected-actions .forget-button{margin:0;display:inline-flex}.device-lock-note{color:#777;margin-top:9px;font-size:9px;display:block}.debug-options{border-top:1px solid var(--border);color:var(--muted);margin-top:10px;padding-top:9px;font-size:10px}.debug-options summary{cursor:pointer}.debug-options button{color:var(--soft);padding:6px 0;font-size:10px;display:block}.device-popover-footer .switch-row{gap:12px;margin:0}.device-popover-footer .switch-row>div{gap:3px}.device-popover-footer .switch-row strong{font-size:11px;font-weight:450}.device-popover-footer .switch-row small{font-size:9px}.device-popover-footer .switch-row input{width:34px;height:20px}.device-popover-footer .switch-row input:after{width:14px;height:14px}.device-popover-footer .switch-row input:checked:after{transform:translate(14px)}.inline-error{color:#bbb;background:#282828;border-radius:7px;margin:10px 0 0;padding:9px 10px;font-size:10px;line-height:1.7}@media (max-width:520px){.device-connect-row{grid-template-columns:1fr}.device-connect-row .button{width:100%}.device-connect-row .button,.device-connect-row select,.device-connected-actions .text-button,.device-popover-header .icon-button,.forget-button,.reconnect{min-height:44px}.device-connect-row .button,.device-connect-row select{font-size:12px}}.step-list{margin:22px 0 27px}.step-list>div{border-bottom:1px solid var(--border);align-items:center;gap:14px;padding:14px 0;display:flex}.step-list>div>span{color:var(--muted);font-size:12px}.step-list strong{flex:1;font-size:13px;font-weight:500}.step-list small{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.step-list b{color:var(--soft);text-align:right;min-width:70px;font-size:12px;font-weight:500}.course-description{color:var(--muted);font-size:14px;line-height:1.8}.record-detail-stats{grid-template-columns:repeat(3,1fr);gap:20px;margin:3px 0 28px;display:grid}.record-detail-stats>div{flex-direction:column;gap:12px;display:flex}.record-detail-stats span{color:var(--muted);font-size:12px}.record-detail-stats strong{font-variant-numeric:tabular-nums;font-size:28px;font-weight:500}.record-detail-stats small{color:var(--muted);font-size:12px;font-weight:400}.detail-footnote{color:var(--muted);border-top:1px solid var(--border);margin-top:22px;padding-top:20px;font-size:12px;line-height:1.8}.detail-export{justify-content:space-between;align-items:center;gap:16px;display:flex}.detail-export>span{min-width:0}.detail-export .button{flex-shrink:0}.help-steps{flex-direction:column;gap:30px;margin:10px 0 32px;display:flex}.help-steps>div{gap:20px;display:flex}.help-steps b{color:var(--accent);font-size:14px}.help-steps strong{font-size:16px;font-weight:500}.help-steps p{color:var(--muted);margin-top:8px;font-size:13px;line-height:1.9}.startup-error{max-width:700px;margin:auto;padding:80px 32px}.startup-error h1{margin:20px 0}.startup-error p{color:var(--muted);font-size:14px;line-height:1.9}.home-launch{background:#15161d;border-color:#ffffff12;box-shadow:inset 0 1px #ffffff0a,0 24px 70px #0003}.launch-context{color:#a6a9b4}.launch-main h1{color:#f7f8fb}.launch-selection span{color:#898c97}.launch-course-map>span{color:var(--faint)}.erg-inline-switch{color:#a1a4af;border-color:#ffffff12}.home-course-card{background:#ffffff05;border-color:#ffffff0d}.home-course-card:hover{border-color:var(--accent-border);background:#ffffff08;box-shadow:0 14px 30px #00000024}.home-course-card>small,.home-course-meta{color:#828590}.home-course-card>strong{color:#e2e4e9}.course-entry p,.course-entry-heading{color:#8d909b}.course-entry h3{color:#e8e9ee}.course-entry-title>svg{color:var(--faint)}.course-entry:hover .course-entry-title>svg{color:var(--accent-strong)}.course-intensity>span{color:#7f828d}.workout-baseline{stroke:#ffffff12}.workout-position{background:var(--workout-zone-color,var(--accent-strong));box-shadow:0 0 12px #ffffff3d}.workout-position:before{background:var(--workout-zone-color,#fff);box-shadow:0 0 0 3px #ffffff1a}.workout-zone-line,.workout-zone-played-line{stroke-linecap:round}.workout-zone-played-line{filter:drop-shadow(0 0 3px #00000038)}.course-create-bar{background:#ffffff04;border:1px solid #ffffff0d;border-radius:12px;margin-bottom:22px;padding:14px 16px}.course-create-icon{border-color:var(--accent-border);background:var(--accent-soft);color:var(--accent-strong)}.course-create-bar small{color:#858893}.library-grid .course-entry{background:#ffffff04;border:1px solid #ffffff0d;border-radius:12px;padding:14px;transition:border-color .18s,background .18s,box-shadow .18s,transform .18s}.library-grid .course-entry:hover{border-color:var(--accent-border);background:#ffffff08;transform:translateY(-1px);box-shadow:0 16px 34px #0000002b}.library-grid .course-entry-heading{color:#7f828d}.library-grid .course-entry h3{color:#e8e9ee}.library-grid .course-entry p{color:#8d909b}.history-summary{background:#ffffff04;border:1px solid #ffffff0d;border-radius:13px;padding:6px 20px}.recent-ride-row{border-bottom-color:#ffffff0b}.recent-ride-main strong{color:#d3d5dc}.record-name strong{color:#d7d9e0}.page-footer{color:#747783}.settings-panel{background:#ffffff03;border:1px solid #ffffff0d;border-radius:13px;padding:22px 24px}.unit-input{background:#0d0e12;border-color:#ffffff14}.switch-row input{background:#343743}.active-ride-banner,.message-bar{color:#c0c2cb;background:#ffffff04;border-color:#ffffff10}.active-ride-banner{border-color:var(--accent-border);background:#ffffff05}.field-error,.text-button.danger{color:#e7a1a8}.modal{background:#121319;border-color:#ffffff16;box-shadow:inset 0 1px #ffffff0b,0 32px 120px #00000080}.modal-header{background:#ffffff02;border-bottom-color:#ffffff0d}.modal-header h2{color:#f4f5f8;font-weight:560}.template-card{background:#ffffff04;border-color:#ffffff0d}.template-card:hover{border-color:var(--accent-border);background:#ffffff08}.template-card-copy,.template-picker-note{color:#898c97}.course-name-field input{background:#0c0d11;border-color:#ffffff12}.course-name-field input:focus{border-color:var(--accent-border);box-shadow:0 0 0 3px #ffffff12}.editor-preview{background:#14151b;border-color:#ffffff0d}.editor-preview-heading,.editor-steps-heading p{color:#7f828d}.editor-step-index{color:#8f8f8f}.editor-duration input,.editor-step-name{color:#d7d9e0;background:#0d0e12}.editor-duration input:focus,.editor-step-name:focus{border-color:var(--accent-border);background:#111218;box-shadow:0 0 0 3px #ffffff10}.editor-intensity input::-webkit-slider-runnable-track{background:linear-gradient(to right,var(--zone-color) 0,var(--zone-color) var(--intensity-progress),#292b35 var(--intensity-progress),#292b35 100%)}.editor-intensity input::-webkit-slider-thumb{border-color:#111218;box-shadow:0 0 0 1px #ffffff38,0 0 12px #0003}.editor-intensity input::-moz-range-track{background:#292b35}.editor-intensity output strong{color:#e3e5eb}.editor-intensity output small{color:#858893}.editor-zones button{color:#898c97;background:#ffffff03;border-color:#ffffff10}.editor-zones button.active,.editor-zones button:hover{border-color:var(--zone-color);background:var(--zone-tint);color:var(--zone-color)}.editor-zones button.active{box-shadow:none}.editor-step-actions .icon-button{color:#7f828d}.editor-step-actions .icon-button:hover:not(:disabled){color:var(--foreground);background:#ffffff08}.editor-actions{background:#111218ed;border-top-color:#ffffff0d}.device-popover{background:#121319;border-color:#ffffff16;box-shadow:inset 0 1px #ffffff0b,0 26px 80px #000000a6}.device-popover-header,.device-row{border-bottom-color:#ffffff0b}.device-icon{background:#ffffff04;border-color:#ffffff10}.device-connect-row select{background:#0c0d11;border-color:#ffffff12}.device-popover-footer{background:#0e0f13}.inline-error{color:#e9b0b5;background:#e388910f}.ride-instrument{background:#171820;border-color:#ffffff10;box-shadow:inset 0 1px #ffffff0a,0 22px 60px #0000002b}.ride-back{background:#ffffff05;border:1px solid #ffffff0d}.ride-page .device-pill{background:#ffffff04;border-color:#ffffff0d}.session-status{color:#bfc2cc}.session-status i{background:#777b87}.reading-label,.ride-meta,.ride-target small,.ride-timer>span,.secondary-reading>span,.stage-meta,.stage-time{color:#858893}.ride-erg-toggle{color:#8d909b;background:#ffffff04;border-color:#ffffff12}.ride-erg-toggle.enabled{border-color:var(--accent-border);background:var(--accent-soft);color:#fff}.power-reading strong{color:#f7f8fb}.power-reading>span{color:#898c97}.secondary-reading strong{color:#f0f1f5}.ride-icon-action{color:#a2a5b0;border-color:#ffffff16}.ride-icon-action.end:hover:not(:disabled){color:var(--foreground);background:#ffffff08;border-color:#ffffff26}.ride-disconnected{color:#d8c49f;background:#e0b76e0c;border-color:#e0b76e33}.stage-number em{color:#626571}.ride-result .result-check{color:var(--success);background:#70d0a012;border-color:#70d0a038}.range-tabs{background:#ffffff04}.range-tabs button.selected{background:var(--accent-soft);box-shadow:inset 0 0 0 1px #ffffff24}.metric-tabs button.selected{color:#eceef3;border-bottom-color:var(--accent-strong)}.live-baseline,.live-grid-line{stroke:#ffffff0c}.live-scale,.live-time,.plot-wrap svg text{fill:#858893}.chart-tooltip,.live-chart-hover{background:#1a1b22f2;border-color:#ffffff16;box-shadow:0 12px 34px #0000003d}.skip-link{color:#fff;box-shadow:0 10px 30px #5b65c733}@keyframes breathe{50%{opacity:.45}}@media (max-width:1050px){.app-nav,.main-content{width:calc(100% - 64px)}.home-launch{gap:32px;padding:30px 32px 28px}.course-grid{gap:26px}.library-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ride-instrument{padding-left:26px;padding-right:26px}.ride-readout-bar{grid-template-columns:1.25fr .7fr 1.4fr;gap:23px}.power-reading strong{font-size:94px}.ride-target strong{font-size:27px}.ride-secondary{gap:23px;padding-left:23px}.secondary-reading strong{font-size:36px}}@media (max-width:780px){.app-nav,.main-content{width:calc(100% - 48px)}.app-nav{gap:24px}.home-launch.has-course{grid-template-columns:minmax(0,1fr) minmax(180px,.42fr)}.home-launch.is-free{grid-template-columns:1fr}.launch-course-map{padding-left:22px}.home-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-grid{gap:21px}.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-entry p{min-height:43px}.ride-readout-bar{grid-template-columns:1.15fr .75fr 1.25fr;gap:20px;padding:25px 0}.power-reading strong{font-size:82px}.power-reading>span{font-size:17px}.ride-target strong{font-size:25px}.ride-secondary{gap:18px;padding-left:18px}.secondary-reading{gap:5px}.secondary-reading strong{font-size:31px}}@media (max-width:600px){.app-nav{gap:17px;width:calc(100% - 40px);height:72px}.brand{gap:5px;font-size:16px}.brand svg{width:22px;height:22px}.app-nav nav{gap:0}.nav-item{border-radius:7px;min-height:44px;padding:10px;font-size:12px}.nav-utilities{gap:0}.nav-utilities .nav-item{width:44px;height:44px}.nav-utilities .help-entry{display:none}.main-content{width:calc(100% - 40px);padding-top:27px;padding-bottom:20px}.page-header{align-items:center;gap:14px;margin-bottom:25px}h1{letter-spacing:-.6px;font-size:23px}.page-header p{max-width:240px;margin-top:7px;font-size:12px}.header-actions{gap:7px}.device-pill{width:44px;min-height:44px;padding:0;position:relative}.device-pill>span{display:none}.device-pill>.tiny-dot{width:4px;height:4px;position:absolute;top:7px;right:7px}.home-launch{border-radius:17px;gap:0;padding:24px 22px 20px}.home-launch,.home-launch.has-course{grid-template-columns:1fr}.launch-context{font-size:11px}.home-page-header{min-height:34px;margin-bottom:10px}.launch-main h1{letter-spacing:-1.1px;margin:12px 0 10px;font-size:32px}.launch-selection{flex-direction:column;align-items:flex-start;gap:5px}.launch-selection span:before{display:none}.launch-actions{gap:12px 16px;margin-top:19px}.launch-button{min-width:160px;min-height:44px;padding:12px 17px;font-size:13px}.launch-button>svg{width:16px;height:16px}.launch-button>svg:last-child{margin-left:7px}.launch-actions .text-button{font-size:11px}.button,.text-button{min-height:44px}.icon-button{width:44px;height:44px}.erg-inline-switch{min-height:44px;padding-top:10px;padding-bottom:10px}.launch-course-map{display:none}.home-courses{margin-top:24px}.home-course-grid{gap:9px}.home-course-card{padding:12px 12px 10px}.home-course-card>strong{margin-top:8px;font-size:12px}.home-course-card .workout-bars{height:24px;margin:8px 0 6px}.section-heading{gap:13px;margin-bottom:17px}.section-heading h2{font-size:16px}.section-heading p{margin-top:7px;font-size:11px;line-height:1.7}.section-heading .text-button{flex-shrink:0;font-size:11px}.course-grid{grid-template-columns:1fr;gap:23px}.course-entry{padding:4px 0 22px}.course-entry .workout-bars{height:67px;margin:12px 0 17px}.course-entry p{min-height:auto;font-size:11px}.course-entry h3{font-size:16px}.course-entry-heading,.course-intensity{font-size:11px}.repeat-workout{gap:12px}.repeat-workout>div{flex-direction:column;align-items:start;gap:7px}.repeat-workout>.muted{display:none}.recent-section{margin-top:22px}.recent-ride-row{gap:12px;padding:12px 0}.recent-ride-meta{gap:7px;font-size:10px}.history-empty-line{align-items:start;gap:10px;font-size:11px}.history-empty-line svg{width:15px;margin-top:2px}.record-row{gap:12px}.record-icon{width:25px}.record-name strong{font-size:12px}.record-name small{gap:5px;font-size:11px}.record-duration{min-width:63px;font-size:14px}.record-watts{display:none}.record-row>svg{width:13px}.page-footer{gap:10px;margin-top:18px;padding-top:18px;font-size:11px}.ride-page .main-content{padding-top:22px;padding-bottom:22px}.ride-page .page-header{gap:10px;margin-bottom:24px}.ride-page .page-header>div:first-child{gap:10px}.ride-page h1{letter-spacing:-.4px;font-size:17px;font-weight:500}.ride-back{background:0 0;width:44px;height:44px;margin-left:-9px}.ride-page .header-actions{gap:2px}.ride-page .device-pill{border:0;width:44px;min-height:44px}.ride-page .focus-toggle{width:44px;height:44px}.ride-page .focus-toggle svg{width:17px}.ride-instrument{border-radius:18px;padding:18px 20px 0}.ride-topline{gap:10px}.ride-state{gap:8px}.ride-meta,.session-status{gap:6px;font-size:11px}.ride-meta>i:first-of-type,.ride-meta>span{display:none}.ride-erg-toggle{min-height:44px;padding:8px 10px;font-size:11px}.ride-readout-bar,.ride-readout-bar.free{grid-template-columns:1fr auto;gap:22px 16px;padding:25px 0 20px}.reading-label{gap:5px;font-size:11px}.reading-label>svg{width:13px;height:13px}.power-reading{gap:8px;padding-top:8px}.power-reading strong{letter-spacing:-.07em;font-size:82px}.power-reading strong.four-digits{letter-spacing:-.065em;font-size:66px}.power-reading>span{font-size:15px}.ride-target{align-self:center;padding-top:0;padding-right:2px}.ride-target strong{letter-spacing:-.7px;margin-top:9px;font-size:23px}.ride-target small{font-size:11px}.ride-secondary{border-left:0;grid-column:1/-1;gap:23px;padding:0}.ride-secondary>div{flex-wrap:wrap;align-items:baseline;gap:9px;display:flex}.ride-secondary>div+div{border-left:1px solid #ffffff0a;padding-left:22px}.secondary-reading{gap:5px;margin-top:0}.secondary-reading strong{letter-spacing:-.7px;font-size:27px}.secondary-reading>span,.sensor-note{font-size:11px}.sensor-note{width:100%;max-width:none;margin:0}.ride-readout-bar.free .ride-power{grid-column:1/-1}.ride-control-dock{gap:9px;padding:14px 0}.ride-timer{flex-wrap:wrap;gap:10px}.ride-timer>span{font-size:11px}.ride-timer strong{font-size:24px}.ride-controls{gap:10px}.ride-icon-action{width:44px;height:44px}.ride-icon-action.toggle{width:48px;height:48px}.ride-controls .button{min-width:0;padding:10px 14px;font-size:12px}.ride-save-note{font-size:11px}.ride-disconnected{flex-wrap:wrap;gap:7px;margin-top:13px;padding:9px;font-size:11px;line-height:1.7}.ride-disconnected .text-button{font-size:11px}.ride-workout{margin:26px 1px 0}.stage-current{gap:12px}.stage-number{font-size:11px}.stage-heading h2{font-size:14px}.stage-time{gap:7px;font-size:11px}.stage-time b{font-size:13px}.ride-workout .workout-bars{height:62px;margin-top:20px}.stage-meta{gap:9px;margin-top:9px;font-size:11px}.stage-meta>span{gap:6px}.stage-meta .next-stage>svg{width:12px}.ride-chart{margin:23px 1px 0;padding-top:18px}.chart-toolbar,.live-chart-top{gap:12px;margin-bottom:13px}.live-chart-legend{gap:12px}.live-chart-legend>span{gap:5px;font-size:11px}.live-chart-legend small{display:none}.live-chart-legend i{width:8px}.range-tabs{gap:0;padding:2px}.range-tabs button{min-width:44px;min-height:44px;padding:8px 9px;font-size:11px}.live-scale,.live-time,.plot-wrap svg text{font-size:11px}.live-chart-hover{flex-wrap:wrap;gap:9px;max-width:100%;padding:7px 8px;font-size:11px}.live-chart-hover b{font-size:11px}.metric-tabs{gap:12px}.metric-tabs button{gap:5px;min-height:44px;font-size:11px}.metric-tabs button span{display:none}.chart-empty small{font-size:11px}.ride-result{padding:35px 0}.ride-result h2{font-size:21px;line-height:1.6}.ride-result .record-detail-stats{gap:26px}.ride-result .record-detail-stats strong{font-size:21px}.library-grid .course-entry{margin-bottom:0;padding:13px}.library-grid .workout-bars{height:58px;margin:11px 0 13px}.library-grid .course-entry p{display:none}.library-grid .course-intensity{padding-top:10px}.history-summary{margin:0 0 27px}.history-summary article{gap:15px;padding:10px 18px}.history-summary article>span{font-size:11px}.history-summary strong{font-size:28px}.history-summary small{margin:7px 0 0;font-size:11px;display:block}.panel-heading h2{font-size:16px}.panel-heading p{font-size:12px}.subtle-badge{font-size:11px}.setting-field,.setting-row{gap:14px}.setting-field strong,.setting-row strong{font-size:13px}.setting-field small,.setting-row small{font-size:11px}.unit-input input{width:80px;font-size:18px}.setting-value{font-size:11px}.switch-row strong{font-size:13px}.local-note,.switch-row small{font-size:11px}.local-note{align-items:start}.active-ride-banner,.message-bar{padding:10px 12px;font-size:11px}.modal-header{padding:22px 20px}.modal-header h2{font-size:20px}.modal-header p{font-size:11px}.modal-body{padding:22px 20px}.record-detail-stats{gap:12px}.record-detail-stats strong{font-size:24px}.record-detail-stats small,.record-detail-stats span{font-size:11px}.step-list>div{gap:10px}.step-list b,.step-list small,.step-list strong{font-size:12px}.course-create-bar{gap:12px;margin-bottom:22px;padding-bottom:17px}.course-create-bar>div{gap:9px;min-width:0}.course-create-icon{border-radius:9px;width:34px;height:34px}.course-create-bar strong{font-size:12px}.course-create-bar small{display:none}.course-create-bar .button{min-height:44px;padding:10px 13px;font-size:12px}.preview-actions,.template-picker-grid{grid-template-columns:1fr}.template-picker-grid{gap:9px}.template-card{padding:15px 16px 16px}.template-card .workout-bars{height:66px;margin:11px 0 13px}.template-picker-note{align-items:flex-start;font-size:10px}.course-name-field input{padding:11px 12px;font-size:18px}.editor-preview{padding:14px 15px 10px}.editor-preview .workout-bars{height:88px}.editor-steps-heading{align-items:flex-start;gap:10px;margin-top:20px}.editor-steps-heading h3{font-size:14px}.editor-steps-heading p{max-width:220px;font-size:10px}.editor-step{grid-template-columns:22px minmax(0,1fr) auto;grid-template-areas:"index name duration"".intensity intensity"".actions actions";gap:9px;padding:13px 0}.editor-step-index{grid-area:index;align-self:center}.editor-step-name-field{grid-area:name}.editor-step-duration-field{grid-area:duration}.editor-intensity{grid-area:intensity;gap:8px}.course-editor select,.editor-duration input,.editor-step-name{min-height:44px;font-size:16px}.editor-duration input{width:64px}.editor-intensity input{height:36px}.editor-intensity input::-webkit-slider-thumb{width:18px;height:18px;margin-top:-7px}.editor-intensity input::-moz-range-thumb{width:13px;height:13px}.editor-intensity output strong{font-size:13px}.editor-intensity output small{font-size:10px}.editor-zones button{height:34px;font-size:10px}.editor-step-actions{border-top:1px solid var(--border);grid-area:actions;justify-content:flex-end;padding-top:9px}.editor-step-actions .icon-button{width:44px;height:44px}.editor-step-actions .icon-button svg{width:13px}.editor-power-note{align-items:flex-start;font-size:10px}.editor-actions{flex-direction:column-reverse;align-items:stretch;gap:11px;margin:22px -20px -20px;padding:16px 20px 18px}.editor-actions>div{width:100%}.editor-actions>div .button{flex:1}.editor-actions>.text-button{align-self:flex-start}}@media (max-width:360px){.app-nav{gap:10px}.nav-item{padding-left:7px;padding-right:7px}.brand>span{display:none}.editor-step{grid-template-columns:22px minmax(0,1fr) 84px;gap:8px}.editor-duration input{width:53px}.editor-zones{gap:3px}.ride-instrument{padding-left:16px;padding-right:16px}.power-reading strong{font-size:74px}.ride-timer>span,.stage-time>span{display:none}.secondary-reading strong{font-size:25px}.ride-secondary{gap:18px}.ride-secondary>div+div{padding-left:16px}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition:none!important;animation:none!important}.button:hover,.library-grid .course-entry:hover{transform:none}.workout-bars .workout-zone-line{stroke-dasharray:none;stroke-dashoffset:0}}.pip-toggle.active{border:1px solid var(--accent-border);background:var(--accent-soft);color:var(--accent-strong)}.ride-pip{width:100%;height:100%;color:var(--foreground);background:#111216;flex-direction:column;display:flex;overflow:hidden}.ride-pip-top{border-bottom:1px solid #ffffff0c;align-items:center;gap:8px;min-height:39px;padding:0 12px;display:flex}.ride-pip-device{color:#6f7480;background:#191a1f;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:25px;height:25px;display:inline-flex;position:relative}.ride-pip-device.connected{color:#d4d7df}.ride-pip-device>i{background:#5b5f68;border:1px solid #111216;border-radius:50%;width:5px;height:5px;position:absolute;bottom:3px;right:3px}.ride-pip-device.connected>i{background:var(--success)}.ride-pip-top time{color:#e6e8ee;letter-spacing:-.35px;font-variant-numeric:tabular-nums;font-size:14px;font-weight:500}.ride-pip-close{color:#777c87;border-radius:50%;justify-content:center;align-items:center;width:25px;height:25px;margin-left:auto;display:inline-flex}.ride-pip-close:hover{color:#f3f4f7;background:#ffffff08}.ride-pip-readout{grid-template-columns:minmax(120px,1fr) auto;align-items:end;gap:14px;padding:10px 12px 9px;display:grid}.ride-pip-readout.has-target{grid-template-columns:minmax(118px,1fr) 70px auto}.ride-pip-power>span,.ride-pip-target>span{color:#777c87;align-items:center;gap:5px;font-size:10px;display:flex}.ride-pip-power>div{align-items:baseline;gap:5px;margin-top:2px;display:flex}.ride-pip-power strong{color:#f3f4f7;letter-spacing:-2.4px;font-variant-numeric:tabular-nums;font-size:46px;font-weight:430;line-height:1}.ride-pip-power small{color:#777c87;font-size:10px}.ride-pip-target{min-width:0;padding-bottom:3px}.ride-pip-target strong{color:#f5f5f5;letter-spacing:-.5px;white-space:nowrap;font-variant-numeric:tabular-nums;margin-top:7px;font-size:20px;font-weight:450;line-height:1.1;display:block}.ride-pip-target small{color:#777c87;font-size:9px;font-weight:400}.ride-pip-sensors{border-left:1px solid #ffffff0d;flex-direction:column;justify-content:center;gap:6px;min-width:92px;padding-left:12px;display:flex}.ride-pip-sensors>span{color:#777c87;white-space:nowrap;align-items:baseline;gap:4px;font-size:10px;display:flex}.ride-pip-sensors svg{align-self:center}.ride-pip-sensors b{color:#dadde5;font-variant-numeric:tabular-nums;font-size:13px;font-weight:460}.ride-pip-sensors small{color:#656a75;font-size:8px}.ride-pip-stage{grid-template-columns:auto minmax(35px,1fr) auto;align-items:center;gap:10px;padding:7px 12px 8px;display:grid}.ride-pip-stage>span{align-items:baseline;gap:7px;min-width:0;display:flex}.ride-pip-stage b{color:#cfd2da;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:500;overflow:hidden}.ride-pip-stage em{color:#747985;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:9px;font-style:normal}.ride-pip-stage-track{background:#ffffff0b;border-radius:999px;height:2px;overflow:hidden}.ride-pip-stage-track i{background:#8ea7ff;height:100%;display:block}.ride-pip-stage>small{color:#666b76;font-variant-numeric:tabular-nums;font-size:9px}.ride-pip-chart{background:#0b0c0f;border:1px solid #ffffff0a;border-radius:8px;flex-direction:column;flex:1;min-height:96px;margin:0 12px;padding:8px 9px 6px;display:flex}.ride-pip-chart-meta{color:#747985;align-items:center;gap:12px;min-height:16px;font-size:9px;display:flex}.ride-pip-chart-meta>span{align-items:center;gap:5px;display:inline-flex}.ride-pip-chart-meta i{background:#8ea7ff;border-radius:999px;width:12px;height:2px;display:inline-block}.ride-pip-chart-meta i.target{background:0 0;border-top:1px dashed #686e7c;height:0}.ride-pip-chart-meta small{color:#5f6470;margin-left:auto;font-size:9px}.ride-pip-chart svg{flex:1;width:100%;min-height:62px;margin-top:3px;display:block}.ride-pip-chart-grid{stroke:#ffffff09;stroke-width:1px;vector-effect:non-scaling-stroke}.ride-pip-chart-power,.ride-pip-chart-target{fill:none;vector-effect:non-scaling-stroke}.ride-pip-chart-power{stroke:#8ea7ff;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round}.ride-pip-chart-target{stroke:#686e7c;stroke-width:1px;stroke-dasharray:3 4}.ride-pip-chart-tip{fill:#8ea7ff}.ride-pip-chart-empty{fill:#686d78;font-size:10px}.ride-pip-actions{justify-content:flex-end;align-items:center;gap:8px;padding:8px 12px 10px;display:flex}.ride-pip-play{color:#16171c;background:#eceef4;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.ride-pip-play:hover:not(:disabled){background:#fff}.ride-pip-return{color:#b9bcc7;white-space:nowrap;background:#ffffff05;border:1px solid #ffffff12;border-radius:999px;align-items:center;gap:6px;min-height:34px;padding:0 13px;font-size:10px;display:inline-flex}.ride-pip-return:hover{color:#f1f2f6;background:#ffffff0a;border-color:#ffffff25}.ride-pip-body{background:#111216;width:100vw;min-width:0;height:100vh;overflow:hidden}.ride-pip-root{width:100%;height:100%}@media (max-width:380px){.ride-pip-readout.has-target{grid-template-columns:minmax(108px,1fr) 64px}.ride-pip-sensors{border-top:1px solid #ffffff0a;border-left:0;flex-direction:row;grid-column:1/-1;justify-content:flex-start;gap:16px;min-width:0;padding:6px 0 0}.ride-pip-power strong{font-size:42px}.ride-pip-chart{min-height:84px}}@media (max-height:300px){.ride-pip-stage{display:none}.ride-pip-readout{padding-top:6px;padding-bottom:6px}.ride-pip-chart{min-height:76px}.ride-pip-actions{padding-top:5px;padding-bottom:6px}}@media (max-width:380px) and (max-height:300px){.ride-pip-readout.has-target .ride-pip-sensors{display:none}}@media (max-height:230px){.ride-pip-readout{grid-template-columns:minmax(108px,1fr) auto}.ride-pip-sensors{display:none}.ride-pip-power strong{font-size:36px}.ride-pip-chart{min-height:68px}}.app-shell{background:linear-gradient(#ffffff02,#0000 32rem)}.app-nav nav{gap:var(--space-1)}.nav-item.active:after{width:16px;bottom:4px;box-shadow:0 0 10px #fff6}.brand{color:#fff}.device-pill{color:#d0d0d0;background:#ffffff04;border-color:#ffffff14}.device-pill:hover{background:#111;border-color:#ffffff29}.icon-button{color:#9a9a9a}.icon-button:hover{background:#ffffff0b}.text-button{color:#a8a8a8}.button{border-radius:var(--radius-control)}.button.secondary{color:#d8d8d8;background:#ffffff04;border-color:#ffffff17}.button.secondary:hover:not(:disabled){background:#171717;border-color:#ffffff29}.button.quiet{background:0 0;border-color:#ffffff1a}.button.quiet:hover:not(:disabled){background:#ffffff08;border-color:#fff3}.status-dot.online,.tiny-dot.online{background:#f5f5f5;box-shadow:0 0 0 3px #ffffff10}.home-launch{padding:var(--space-10);border-radius:var(--radius-surface);background:radial-gradient(circle at 0 0,#ffffff0a,#0000 28rem),linear-gradient(135deg,#101010,#0a0a0a 72%);border:1px solid #ffffff1a;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff10,0 28px 80px #00000059}.home-launch:before{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(105deg,#ffffff07,#0000 36%);position:absolute;inset:0}.home-launch>*{position:relative}.launch-context,.launch-selection span{color:#a0a0a0}.launch-context svg{color:#fff}.launch-main h1{color:#fff;letter-spacing:-1.8px}.launch-selection strong{color:#e8e8e8}.launch-selection span:before{background:#666}.erg-inline-switch{border-radius:var(--radius-pill);color:#a8a8a8;background:#ffffff04;border-color:#ffffff17;padding:7px 9px 7px 12px}.erg-inline-switch input{background:#343434}.erg-inline-switch input:after{background:#c9c9c9}.erg-inline-switch input:checked{background:#f5f5f5}.erg-inline-switch input:checked:after{background:#0b0b0b}.launch-course-map{border-left-color:#ffffff17}.section-heading{margin-bottom:var(--space-4)}.panel-heading h2,.section-heading h2{color:#f3f3f3}.home-courses,.recent-section{margin-top:var(--space-10)}.home-course-grid{gap:var(--space-4)}.home-course-card{border-radius:var(--radius-card);background:#0c0c0c;border-color:#ffffff0f;padding:18px}.home-course-card:hover{background:#101010;border-color:#ffffff29;box-shadow:0 18px 40px #00000059}.course-entry h3,.home-course-card>strong,.library-grid .course-entry h3{color:#e9e9e9}.course-entry p,.course-entry-heading,.course-intensity>span,.home-course-card>small,.home-course-meta,.library-grid .course-entry p{color:#939393}.course-intensity{color:#b8b8b8}.recent-ride-row,.repeat-workout{border-bottom-color:#ffffff0f}.recent-ride-main strong,.record-name strong{color:#d7d7d7}.history-empty-line,.recent-ride-main small,.recent-ride-meta{color:#8f8f8f}.page-footer{margin-top:var(--space-8);padding-top:var(--space-6);color:#777;border-top:1px solid #ffffff0b}.course-create-bar{margin-bottom:var(--space-6);border-radius:var(--radius-card);background:#0c0c0c;border-color:#ffffff0f;padding:16px 20px}.course-create-icon{border-radius:var(--radius-control);color:#f5f5f5;background:#ffffff08;border-color:#ffffff1a}.course-create-bar strong{color:#ededed}.course-create-bar small,.template-card-copy,.template-picker-note{color:#8e8e8e}.library-grid{gap:var(--space-4)}.library-grid .course-entry{border-radius:var(--radius-card);background:#0c0c0c;border-color:#ffffff0f;padding:20px}.library-grid .course-entry:hover{background:#101010;border-color:#ffffff29;box-shadow:0 18px 40px #00000059}.course-entry-title>svg,.library-grid .course-entry-title>svg{color:#777}.course-entry:hover .course-entry-title>svg,.library-grid .course-entry:hover .course-entry-title>svg{color:#fff}.history-summary{margin:0 0 var(--space-8);border-radius:var(--radius-card);background:#0c0c0c;border-color:#ffffff0f;padding:6px 24px}.history-summary article{border-right-color:#ffffff0f}.history-summary article>span,.history-summary small{color:#8f8f8f}.history-summary strong{color:#f5f5f5}.history-panel{border-top-color:#ffffff0f}.record-row{border-bottom-color:#ffffff0f}.empty-state h3{color:#ececec}.settings-layout{gap:var(--space-4);max-width:none}.settings-panel{border-radius:var(--radius-card);background:#0c0c0c;border-color:#ffffff0f;padding:24px}.settings-panel .panel-heading{border-bottom-color:#ffffff0f}.unit-input{border-radius:var(--radius-control);background:#080808;border-color:#ffffff1a}.unit-input:focus-within{border-color:#ffffff4d;box-shadow:0 0 0 3px #ffffff0d}.switch-row input{border-radius:var(--radius-pill);background:#343434}.switch-row input:after{background:#c9c9c9}.switch-row input:checked{background:#f5f5f5}.switch-row input:checked:after{background:#0b0b0b}.local-note{color:#8f8f8f}.active-ride-banner,.message-bar{margin-bottom:var(--space-5);border-radius:var(--radius-card);color:#c8c8c8;background:#0c0c0c;border-color:#ffffff14;padding:12px 16px}.active-ride-banner{background:#101010;border-color:#ffffff24}.message-bar.error{color:#eee;background:#121212;border-color:#ffffff29}.device-popover,.modal{border-radius:var(--radius-surface);background:#0c0c0c;border:1px solid #ffffff1f;box-shadow:inset 0 1px #ffffff0b,0 32px 120px #0009}.modal::backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000c7}.modal-header{background:0 0;border-bottom-color:#ffffff0f;padding:24px 28px}.modal-header h2{color:#f7f7f7}.modal-body{padding:24px 28px 28px}.template-picker-grid{gap:var(--space-3)}.template-card{border-radius:var(--radius-card);background:#111;border-color:#ffffff0f;padding:20px}.template-card:hover{background:#151515;border-color:#ffffff29}.template-card-title strong{color:#ededed}.template-card-title svg{color:#8a8a8a}.template-card:hover .template-card-title svg{color:#fff}.course-name-field input,.device-connect-row select,.unit-input{border-radius:var(--radius-control);color:#ededed;background:#080808;border-color:#ffffff17}.course-name-field input:focus,.editor-duration input:focus,.editor-step-name:focus{background:#101010;border-color:#ffffff40;box-shadow:0 0 0 3px #ffffff0d}.editor-preview{border-radius:var(--radius-card);background:#101010;border-color:#ffffff0f;padding:20px 20px 14px}.editor-step-list{border-top-color:#ffffff0f}.editor-step{border-bottom-color:#ffffff0d}.editor-duration input,.editor-step-name{border-radius:var(--radius-control);color:#dedede;background:#080808}.editor-duration input:hover,.editor-step-name:hover{border-color:#ffffff1f}.editor-intensity input::-webkit-slider-thumb{border-color:#0c0c0c}.editor-intensity input::-moz-range-thumb{border-color:#0c0c0c}.editor-zones button{border-radius:var(--radius-control)}.editor-actions{background:#080808f2;border-top-color:#ffffff0f;margin:24px -28px -28px;padding:18px 28px 22px}.field-error,.icon-button.danger,.text-button.danger{color:#cfcfcf}.inline-error{border-radius:var(--radius-control);color:#d6d6d6;background:#141414;border:1px solid #ffffff14;padding:10px 12px}.device-popover-header{border-bottom-color:#ffffff0f;padding:16px 18px}.device-popover-body{padding:0 18px}.device-row{border-bottom-color:#ffffff0f}.device-icon{border-radius:var(--radius-control);background:#ffffff05;border-color:#ffffff17;width:34px;height:34px}.device-row-title>span.connected{color:#f5f5f5}.device-row-title>span.connecting{color:#bdbdbd}.device-connect-row select{min-height:36px}.device-connect-row .button{border-radius:var(--radius-control)}.device-popover-footer{background:#080808;padding:14px 18px 16px}.ride-page .main-content{padding-top:var(--space-8)}.ride-page .page-header{margin-bottom:var(--space-6)}.ride-instrument{border-radius:var(--radius-surface);background:linear-gradient(145deg,#ffffff04,#0000 42%),#0c0c0c;border:1px solid #ffffff1a;padding:24px 32px 0;box-shadow:inset 0 1px #ffffff0b,0 26px 70px #00000059}.ride-back,.ride-page .device-pill{background:#ffffff05;border-color:#ffffff14}.session-status.running i{background:#f5f5f5;box-shadow:0 0 0 3px #ffffff0d}.ride-erg-toggle{background:#ffffff05;border-color:#ffffff17}.ride-erg-toggle.enabled{color:#f5f5f5;background:#ffffff0d;border-color:#ffffff29}.ride-erg-toggle.enabled>i{background:#fff;box-shadow:0 0 0 3px #ffffff10}.ride-target strong{color:#f5f5f5}.ride-readout-bar.reference .ride-target strong{color:#9f9f9f}.ride-secondary{border-left-color:#ffffff12}.ride-control-dock{border-top-color:#ffffff0f}.ride-icon-action.end{border-color:#ffffff1f}.ride-icon-action.toggle{color:#080808;background:#f5f5f5;box-shadow:inset 0 1px #fff,0 8px 24px #00000073}.ride-icon-action.toggle:hover:not(:disabled){background:#fff;box-shadow:inset 0 1px #fff,0 0 0 5px #ffffff08,0 10px 30px #00000080}.ride-disconnected{border-radius:var(--radius-control);color:#d1d1d1;background:#ffffff05;border-color:#ffffff1f}.stage-number{color:#b8b8b8}.stage-heading h2{color:#f2f2f2}.stage-meta b,.stage-time b{color:#d2d2d2}.ride-chart{border-top-color:#ffffff0f}.result-check{color:#f5f5f5;background:#ffffff08;border-color:#ffffff1f}.range-tabs{border-radius:var(--radius-control);background:#0c0c0c}.range-tabs button.selected{color:#fff;background:#ffffff0d;box-shadow:inset 0 0 0 1px #ffffff1a}.metric-tabs button.selected{border-bottom-color:#fff}.chart-tooltip,.live-chart-hover{border-radius:var(--radius-control);background:#111111f2;border-color:#ffffff1f}.skip-link{border-radius:var(--radius-control);color:#070707;background:#f5f5f5;box-shadow:0 12px 32px #00000080}.pip-toggle.active{color:#fff;background:#ffffff0d;border-color:#ffffff29}.ride-pip{background:#080808}.ride-pip-chart{border-radius:var(--radius-control);background:#070707;border-color:#ffffff12}.ride-pip-stage-track i{background:#f5f5f5}.home-launch,.home-launch.has-course,.home-launch.is-free{gap:var(--space-8);min-height:320px;padding:var(--space-8);grid-template-columns:minmax(0,1.16fr) minmax(340px,.84fr);align-items:stretch}.launch-main{justify-content:center;align-items:flex-start}.launch-course-picker,.launch-main{flex-direction:column;min-width:0;display:flex}.launch-course-picker{border-radius:var(--radius-card);background:linear-gradient(145deg,#ffffff05,#0000 45%),#080808d9;border:1px solid #ffffff17;padding:18px;box-shadow:inset 0 1px #ffffff08}.launch-course-picker-header{justify-content:space-between;align-items:center;gap:var(--space-3);border-bottom:1px solid #ffffff0d;padding-bottom:14px;display:flex}.launch-course-picker-header>div{flex-direction:column;gap:4px;display:flex}.launch-course-picker-header>div>span{color:#eee;font-size:12px;font-weight:550}.launch-course-picker-header>div>small{color:#747474;font-size:10px}.launch-course-picker-header .text-button{color:#8e8e8e;flex-shrink:0;padding:4px 0;font-size:10px}.launch-course-list{flex-direction:column;min-width:0;display:flex}.launch-course-option{color:#a6a6a6;border-bottom:1px solid #ffffff0d;grid-template-columns:68px minmax(0,1fr) 16px;align-items:center;gap:12px;min-width:0;min-height:58px;padding:8px 5px;transition:background .18s,color .18s,box-shadow .18s;display:grid}.launch-course-option:hover{color:#fff;background:#ffffff06}.launch-course-option.is-selected{background:#ffffff07;box-shadow:inset 2px 0 #f5f5f5}.launch-course-option .workout-bars{opacity:.78;width:68px;height:26px;margin:0}.launch-course-option.is-selected .workout-bars,.launch-course-option:hover .workout-bars{opacity:1}.launch-course-option>span{flex-direction:column;gap:4px;min-width:0;display:flex}.launch-course-option>span>strong{color:#dedede;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;overflow:hidden}.launch-course-option>span>small{color:#777;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.launch-course-option>svg{color:#666;transition:transform .18s}.launch-course-option:hover>svg{color:#fff;transform:translate(2px)}@media (max-width:1050px){.home-launch{padding:var(--space-8)}}@media (max-width:900px){.home-launch,.home-launch.has-course,.home-launch.is-free{gap:var(--space-6);min-height:0;padding:var(--space-6);grid-template-columns:minmax(0,1fr)}.launch-main{justify-content:flex-start}.launch-course-picker{padding:16px}}@media (max-width:780px){.home-launch{gap:var(--space-6);padding:28px}.home-course-grid,.library-grid{gap:var(--space-4)}}@media (max-width:600px){:root{--radius-surface:4px}.main-content{padding-top:var(--space-6)}.page-header{margin-bottom:var(--space-6)}.home-launch{gap:var(--space-5);padding:24px 20px 22px}.home-launch,.home-launch.has-course,.home-launch.is-free{gap:18px;padding:22px 18px 18px}.launch-course-picker{padding:14px}.launch-course-picker-header{padding-bottom:12px}.launch-course-picker-header .text-button{min-height:0}.launch-course-option{grid-template-columns:52px minmax(0,1fr) 14px;gap:9px;min-height:54px;padding:7px 4px}.launch-course-option .workout-bars{width:52px;height:23px}.home-courses,.recent-section{margin-top:var(--space-6)}.home-course-grid,.library-grid{gap:var(--space-3)}.home-course-card{padding:14px}.course-create-bar{margin-bottom:var(--space-5);padding:14px}.library-grid .course-entry{padding:14px}.history-summary{margin-bottom:var(--space-6);padding:4px}.history-summary article{padding:12px 14px}.settings-layout{gap:var(--space-3)}.settings-panel{padding:20px 18px}.modal-body,.modal-header{padding:20px}.template-card{padding:16px}.editor-actions{margin:24px -20px -20px;padding:16px 20px 18px}.ride-page .main-content{padding-top:var(--space-5)}.ride-instrument{padding:18px 20px 0}.page-footer{margin-top:var(--space-6);padding-top:var(--space-5)}}.icon-button,.nav-utilities .nav-item,.ride-back,.ride-icon-action,.ride-icon-action.toggle,.ride-page .device-pill,.ride-pip-close,.ride-pip-play,.ride-pip-return{border-radius:var(--radius-control)}.ride-pip-device{border-radius:var(--radius-card)}.erg-inline-switch input,.range-tabs button,.ride-pip-stage-track,.switch-row input{border-radius:var(--radius-control)}.road-motion{isolation:isolate;flex-direction:column;width:100%;min-width:0;height:172px;display:flex;position:relative}.road-motion-viewport{flex:1 1 0;min-height:0;position:relative;overflow:hidden}.road-motion-three,.road-motion-three-wrap{position:absolute;inset:0;overflow:hidden}.road-motion-three{background:radial-gradient(at 52% 78%,#c9dca610,#0000 48%),linear-gradient(#0000 58%,#ffffff03)}.road-motion-poster{object-fit:contain;pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.road-motion-three-wrap[data-model-state=ready] .road-motion-poster{visibility:hidden}.road-motion-three-canvas{pointer-events:none;width:100%;height:100%;display:block;position:relative}.road-motion-model-state{z-index:2;color:var(--muted);pointer-events:none;align-items:center;gap:5px;font-size:10px;display:inline-flex;position:absolute;bottom:5px;left:8px}.road-motion-model-state i{background:var(--accent);border-radius:50%;width:4px;height:4px}.road-motion-model-state.is-loading i{animation:road-model-pulse 1s ease-in-out infinite}.road-motion-controls{z-index:2;flex:none;justify-content:flex-end;align-items:center;gap:8px;min-height:32px;padding:0 6px;display:flex;position:relative}.road-motion-gender{border-radius:var(--radius-control);background:#ffffff05;gap:1px;display:inline-flex}.road-motion-gender button{border-radius:var(--radius-control);min-width:38px;min-height:28px;color:var(--muted);padding:0 7px;font-size:10px}.road-motion-gender button[aria-pressed=true]{color:var(--foreground);background:var(--accent-soft)}.road-motion-gender button:hover,.road-motion-toggle:hover{color:var(--foreground);background:#ffffff08}.road-motion-gender button:focus-visible,.road-motion-toggle:focus-visible{outline:1px solid var(--accent);outline-offset:-2px}.road-motion-toggle{border-radius:var(--radius-control);min-width:44px;min-height:32px;color:var(--muted);justify-content:center;align-items:center;gap:5px;padding:0 8px;font-size:10px;display:inline-flex}.road-motion--ride .road-motion-toggle span{display:none}.road-motion--home{height:188px;margin:16px 0 -8px}.road-motion--ride{margin-top:-12px;margin-bottom:4px}.home-launch .launch-course-picker{align-self:center}@media (max-width:600px){.road-motion--home{height:178px;margin-top:12px}.road-motion--ride{height:180px;margin-top:0;margin-bottom:2px}.road-motion-controls{min-height:44px}.road-motion-gender button,.road-motion-toggle{min-width:44px;min-height:44px}}@keyframes road-model-pulse{0%,to{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}.ride-instrument{padding:16px 24px 0}.ride-instrument-head{border-bottom:1px solid #ffffff12;justify-content:space-between;align-items:center;gap:24px;padding-bottom:14px;display:flex}.ride-instrument-head .ride-topline{flex:1;justify-content:flex-start;gap:20px;min-width:0}.ride-instrument-head .ride-control-dock{border:0;flex-shrink:0;gap:22px;padding:0;display:flex}.ride-instrument-head .ride-timer{gap:9px}.ride-instrument-head .ride-timer strong{letter-spacing:-.5px;font-size:22px}.ride-instrument-head .ride-controls{gap:8px}.ride-instrument-head .ride-icon-action{width:34px;height:34px}.ride-instrument-head .ride-icon-action.toggle{width:38px;height:38px}.ride-readings{grid-template-columns:1.14fr 1fr 1fr;min-width:0;padding:19px 0 16px;display:grid}.ride-reading{min-width:0;padding:0 26px}.ride-reading:first-child{padding-left:0}.ride-reading:last-child{padding-right:0}.ride-reading+.ride-reading{border-left:1px solid #ffffff13}.ride-reading.power{--reading-color:#9bacff}.ride-reading.heart{--reading-color:#f098ad}.ride-reading.cadence{--reading-color:#72d4b4}.ride-reading-label{color:#aaaaaf;align-items:center;gap:6px;font-size:12px;display:flex}.ride-reading-label>span{align-items:center;gap:6px;display:inline-flex}.ride-reading-label svg{color:var(--reading-color)}.ride-reading-label small{color:#82848d;font-size:11px}.ride-reading-value{font-variant-numeric:tabular-nums;letter-spacing:-3px;color:#f4f5f7;margin:5px 0 9px;font-size:clamp(52px,5.7vw,76px);font-weight:500;line-height:1.15;display:block}.ride-reading-value.four-digits{font-size:clamp(46px,5vw,66px)}.ride-reading-stats{color:#888c96;flex-wrap:wrap;align-items:baseline;gap:22px;font-size:11px;display:flex}.ride-reading-stats>span{white-space:nowrap;align-items:baseline;gap:7px;display:inline-flex}.ride-reading-stats b{color:#d9dce4;font-variant-numeric:tabular-nums;font-size:16px;font-weight:500}.ride-reading-note{color:#8d8f96;margin-top:7px;font-size:11px;display:block}.ride-data-strip{color:#92969f;border-top:1px solid #ffffff0f;border-bottom:1px solid #ffffff0f;flex-wrap:wrap;align-items:center;gap:12px 28px;min-height:43px;padding:9px 0;font-size:11px;display:flex}.ride-data-strip>span{align-items:baseline;gap:7px;display:inline-flex}.ride-data-strip b{color:#e4e6ed;font-variant-numeric:tabular-nums;font-size:16px;font-weight:500}.ride-data-strip small{color:#888c96;font-size:10px}.ride-data-strip .ride-target{align-items:baseline;gap:9px;margin-left:auto;padding:0;display:inline-flex}.ride-data-strip .ride-target strong{letter-spacing:-.3px;margin:0;font-size:18px;display:inline}.ride-data-strip .ride-target small{font-size:11px}.ride-metrics-panel{text-align:left;min-width:0}.ride-metrics-grid{grid-template-columns:repeat(6,minmax(0,1fr));margin:0;display:grid}.ride-metrics-grid>div{border-bottom:1px solid var(--border);min-width:0;padding:17px 14px 15px 0}.ride-metrics-grid dt{color:var(--muted);align-items:center;gap:5px;font-size:11px;display:flex}.ride-metrics-grid dt small{color:var(--faint);font-size:9px}.ride-metrics-grid dd{flex-wrap:wrap;align-items:baseline;gap:5px;margin:9px 0 0;display:flex}.ride-metrics-grid strong{color:var(--foreground);letter-spacing:-.5px;font-variant-numeric:tabular-nums;font-size:25px;font-weight:500}.ride-metrics-grid dd span{color:var(--muted);font-size:10px}.ride-metrics-grid p{color:var(--faint);margin:5px 0 0;font-size:10px;line-height:1.6}.ride-metrics-help{border-bottom:1px solid var(--border);color:var(--muted);padding:11px 0;font-size:11px;line-height:1.8}.ride-metrics-help summary{cursor:pointer}.ride-metrics-help summary span{color:var(--faint);margin-left:12px;font-size:10px}.ride-metrics-help p{color:var(--muted);margin:9px 0;font-size:11px}.ride-metrics-help a{text-underline-offset:3px;text-decoration:underline}.ride-metrics-note{color:var(--muted);font-size:12px}.record-extra-metrics{color:var(--muted);flex-wrap:wrap;gap:5px 14px;margin-top:9px;font-size:10px;line-height:1.7;display:flex}.record-extra-metrics>span{white-space:nowrap}.history-summary article:nth-child(3n){border-right:0}.history-summary article:nth-child(n+4){border-top:1px solid var(--border)}.ride-result .ride-metrics-panel{width:100%;margin:20px 0}.modal .ride-metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:800px){.ride-metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:520px){.modal .ride-metrics-grid,.ride-metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ride-metrics-grid>div{padding:12px 8px 12px 0}.ride-metrics-grid strong{font-size:21px}.ride-metrics-grid dt{flex-wrap:wrap;font-size:10px}}.ride-context-row{align-items:center;gap:26px;min-height:95px;display:flex}.ride-context-row .road-motion--ride{flex:0 0 240px;height:94px;margin:0 0 0 auto}.ride-context-row .road-motion-toggle{font-size:9px;top:1px;right:-4px}.ride-average-note{color:#737983;font-size:11px;line-height:1.8}.ride-context-row .ride-workout{min-width:0;box-shadow:none;background:0 0;border:0;flex:1;margin:0;padding:14px 0}.ride-context-row .stage-heading{gap:12px;margin:0 0 7px}.ride-context-row .stage-current{gap:11px}.ride-context-row .stage-heading h2{font-size:13px}.ride-context-row .stage-number{font-size:12px}.ride-context-row .stage-number em{font-size:10px}.ride-context-row .stage-time{gap:8px;font-size:10px}.ride-context-row .stage-time b{font-size:17px}.ride-context-row .workout-bars{height:26px;margin:0}.ride-context-row .stage-meta{gap:10px;margin-top:7px;font-size:10px}.ride-chart{border:0;margin:17px 0 0;padding:0}.ride-trends{min-width:0}.ride-trends-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:11px;display:flex}.ride-trends-key{color:#bfc3cd;align-items:center;gap:16px;font-size:12px;display:flex}.ride-trends-key>small{color:#8b909c;align-items:center;gap:5px;font-size:10px;display:inline-flex}.ride-trends-key i{border-top:1px dashed #8b909c;width:12px;height:0;display:inline-block}.ride-trends-key i.target{border-top:1px dotted #d4d8e2}.ride-trend-plots{grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:12px;display:grid}.ride-trend-card{background:linear-gradient(#ffffff03,#0000 80%),#0d0e10;border:1px solid #ffffff10;border-radius:4px;min-width:0;padding:13px 12px 5px}.ride-trend-title{justify-content:space-between;align-items:center;gap:9px;margin-bottom:9px;display:flex}.ride-trend-title>span{color:#d8dce5;white-space:nowrap;align-items:baseline;gap:6px;font-size:12px;display:inline-flex}.ride-trend-title>span>i{background:var(--trend-color);border-radius:50%;align-self:center;width:5px;height:5px}.ride-trend-title small{color:#818895;font-size:10px}.ride-trend-title .ride-trend-average{color:#8e95a2;font-size:10px}.ride-trend-average b{color:#e0e3ec;font-variant-numeric:tabular-nums;font-size:17px;font-weight:500}.ride-trend-plot{touch-action:pan-y;min-width:0}.ride-trend-plot svg{width:100%;height:auto;display:block;overflow:visible}.ride-trend-axis{fill:#8d95a3;font-variant-numeric:tabular-nums;font-size:10px}.ride-trend-grid{stroke:#ffffff0c;stroke-width:1px}.ride-trend-mean{stroke-width:1px;stroke-dasharray:5 4;opacity:.6}.ride-trend-target{fill:none;stroke:#d1d6e0;stroke-width:1.2px;stroke-dasharray:2 4;opacity:.75}.ride-trends-caption{color:#838b98;font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:7px 14px;min-height:25px;margin-top:5px;font-size:10px;display:flex}.ride-trends-caption b{color:#d9deea;font-weight:500}.ride-trends-missing{flex-wrap:wrap;gap:8px 24px;padding:10px 0 0;display:flex}.ride-trend-missing{color:#9095a0;align-items:center;gap:10px;min-height:25px;font-size:11px;display:flex}.ride-trend-missing>span{align-items:center;gap:6px;display:inline-flex}.ride-trend-missing i{opacity:.6;border-radius:50%;width:5px;height:5px}.ride-trend-missing small{color:#7e8794;font-size:11px}.bike-computer{scrollbar-width:thin;background:#0c0e12;overflow-y:auto}.bike-computer .ride-pip-top{flex-shrink:0;gap:7px;min-height:38px;padding:0 10px}.bike-computer .ride-pip-top time{letter-spacing:-.5px;font-size:17px}.ride-pip-top-actions{align-items:center;gap:6px;margin-left:auto;display:flex}.bike-computer .ride-pip-play{width:27px;height:27px}.bike-computer .ride-pip-return{justify-content:center;width:27px;min-height:27px;padding:0}.bike-computer .ride-pip-close{width:25px;height:27px;margin:0}.bike-computer .ride-readings{flex-shrink:0;grid-template-columns:repeat(3,minmax(0,1fr));padding:11px 12px 10px}.bike-computer .ride-reading{padding:0 12px}.bike-computer .ride-reading:first-child{padding-left:0}.bike-computer .ride-reading:last-child{padding-right:0}.bike-computer .ride-reading-label{color:#898f9a;gap:5px;font-size:11px}.bike-computer .ride-reading-label>span{gap:4px}.bike-computer .ride-reading-label small{font-size:10px}.bike-computer .ride-reading-label svg{width:13px;height:13px}.bike-computer .ride-reading-value{letter-spacing:-1.8px;margin:4px 0 5px;font-size:clamp(30px,10.2vw,46px)}.bike-computer .ride-reading-value.four-digits{font-size:clamp(27px,8.3vw,37px)}.bike-computer .ride-reading-stats{color:#7e8591;gap:4px;font-size:11px}.bike-computer .ride-reading-stats>span{gap:4px}.bike-computer .ride-reading-stats b{font-size:13px}.ride-reading-average-label{color:#7e8591;letter-spacing:.08em;font-size:8px;font-weight:600}.ride-pip-aux{color:#8b93a1;border-top:1px solid #ffffff0e;border-bottom:1px solid #ffffff0e;flex-shrink:0;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:5px 0;padding:6px 12px;font-size:10px;display:grid}.ride-pip-stat{align-items:center;gap:4px;min-width:0;display:inline-flex}.ride-pip-stat+.ride-pip-stat{padding-left:12px}.ride-pip-stat-label{color:#8992a1;letter-spacing:.04em;white-space:nowrap;font-size:9px}.ride-pip-aux b{color:#dfe4ed;font-variant-numeric:tabular-nums;font-size:13px;font-weight:500}.ride-pip-aux small{font-size:10px}.ride-pip-course{color:#9ba2af;flex-wrap:wrap;flex-shrink:0;justify-content:space-between;gap:5px 10px;padding:8px 12px 6px;font-size:10px;display:flex}.ride-pip-course-name,.ride-pip-course-time{align-items:center;gap:4px;display:inline-flex}.ride-pip-course-name{text-overflow:ellipsis;white-space:nowrap;color:#d3d9e4;max-width:62%;overflow:hidden}.ride-pip-course-name svg,.ride-pip-course-time svg{color:#8992a1;flex:none}.ride-pip-course-time{white-space:nowrap}.ride-pip-course-time b{color:#e4e8ef;font-variant-numeric:tabular-nums;font-size:12px;font-weight:500}.ride-pip-course-track{background:#ffffff0d;width:100%;height:2px}.ride-pip-course-track i{background:#9bacff;height:100%;display:block}.bike-computer .ride-trends{flex:1;min-height:0;padding:8px 12px 0}.ride-trends.is-compact .ride-trends-toolbar{gap:8px;margin-bottom:4px}.ride-trends.is-compact .ride-trends-key{gap:10px;font-size:10px}.ride-trends.is-compact .ride-trends-key>span{color:#8992a1;align-items:center;display:inline-flex}.ride-trends.is-compact .range-tabs{padding:1px}.ride-trends.is-compact .range-tabs button{min-height:23px;padding:3px 6px;font-size:10px}.ride-trends.is-compact .ride-trend-plots{flex-direction:column;gap:2px;display:flex}.ride-trends.is-compact .ride-trend-card{background:0 0;border:0;border-top:1px solid #ffffff09;border-radius:0;grid-template-columns:22px minmax(0,1fr);align-items:center;column-gap:7px;padding:3px 0 0;display:grid}.ride-trends.is-compact .ride-trend-title{justify-content:center;align-self:stretch;align-items:center;margin:0;padding:0;display:flex}.ride-trends.is-compact .ride-trend-title>span{color:var(--trend-color);gap:4px;font-size:10px}.ride-trends.is-compact .ride-trend-title>span svg{flex:none}.ride-trends.is-compact .ride-trend-title>span>small{display:none}.ride-trends.is-compact .ride-trend-axis{font-size:10px}.ride-trends.is-compact .ride-trends-caption{gap:4px 9px;min-height:0;margin-top:4px;font-size:9px}.ride-trends.is-compact .ride-trends-caption>span{align-items:center;gap:3px;display:inline-flex}.ride-trends.is-compact .ride-trends-missing{padding-top:3px}.ride-trends.is-compact .ride-trend-missing{border-top:1px solid #ffffff09;grid-template-columns:22px minmax(0,1fr);column-gap:7px;min-height:22px;padding:3px 0 0;font-size:10px;display:grid}.ride-trends.is-compact .ride-trend-empty-mark{opacity:.35;width:14px;height:1px}.ride-pip-notice{color:#e3bd86;background:#e3bd860b;align-items:center;gap:5px;padding:5px 12px;font-size:10px;display:flex}@media (max-width:900px){.ride-instrument-head{gap:14px}.ride-instrument-head .ride-topline{flex-direction:column;align-items:flex-start;gap:6px}.ride-instrument-head .ride-timer>span{display:none}.ride-reading{padding:0 20px}.ride-reading-stats{gap:5px 13px}.ride-context-row .road-motion--ride{flex-basis:190px}}@media (max-width:600px){.ride-instrument{padding:12px 14px 0}.ride-instrument-head{align-items:flex-start;gap:9px;padding-bottom:11px}.ride-instrument-head .ride-topline{gap:5px}.ride-instrument-head .ride-meta{white-space:normal;flex-wrap:wrap;gap:5px;font-size:10px}.ride-instrument-head .ride-erg-toggle{min-height:36px;padding:5px 8px}.ride-instrument-head .ride-control-dock{flex-direction:column;align-items:flex-end;gap:8px}.ride-instrument-head .ride-timer strong{font-size:17px}.ride-instrument-head .ride-controls{gap:5px}.ride-instrument-head .ride-icon-action,.ride-instrument-head .ride-icon-action.toggle{width:44px;min-width:44px;height:44px}.ride-readings{grid-template-columns:repeat(3,minmax(0,1fr));padding:15px 0 12px}.ride-reading{padding:0 12px}.ride-reading-label{flex-wrap:wrap;gap:3px;font-size:11px}.ride-reading-label>span{gap:4px}.ride-reading-label small{font-size:10px}.ride-reading-label svg{width:11px;height:11px}.ride-reading-value{letter-spacing:-1.5px;margin:7px 0 8px;font-size:clamp(33px,10.5vw,50px)}.ride-reading-value.four-digits{font-size:clamp(28px,8.5vw,40px)}.ride-reading-stats{flex-direction:column;align-items:flex-start;gap:3px;font-size:10px;display:flex}.ride-reading-stats>span{gap:5px}.ride-reading-stats b{font-size:13px}.ride-reading-note{font-size:10px;line-height:1.4}.ride-data-strip{gap:8px 17px;padding:8px 0;font-size:10px}.ride-data-strip b{font-size:14px}.ride-data-strip .ride-target{gap:6px}.ride-data-strip .ride-target strong{font-size:15px}.ride-context-row{gap:10px;min-height:80px}.ride-context-row .road-motion--ride{flex-basis:125px;height:78px}.ride-context-row .road-motion-toggle{gap:3px;min-height:30px;font-size:9px;top:-3px}.ride-context-row:has(.ride-workout){flex-wrap:wrap}.ride-context-row .ride-workout{flex:100%;padding:11px 0}.ride-context-row:has(.ride-workout) .road-motion--ride{display:none}.ride-context-row .stage-heading{flex-wrap:wrap;gap:5px;display:flex}.ride-context-row .stage-heading h2{font-size:12px}.ride-context-row .stage-time b{font-size:15px}.ride-context-row .stage-meta{flex-wrap:wrap;font-size:10px}.ride-average-note{font-size:10px}.ride-trends-key{gap:9px;font-size:11px}.ride-trends-key>small{font-size:9px}.ride-trends .range-tabs button{padding:6px 8px}.ride-trend-plots{grid-template-columns:1fr;gap:9px}.ride-trend-card{padding:11px 11px 2px}.ride-trend-title{margin-bottom:4px}.ride-trends-caption{font-size:10px}.bike-computer .ride-reading-stats{flex-direction:row}}@media (max-width:350px){.ride-reading{padding:0 8px}.ride-reading-label svg{display:none}.ride-data-strip{column-gap:12px}.ride-data-strip .ride-target{margin-left:0}.ride-trends-key>small{display:none}.bike-computer .ride-reading{padding:0 8px}}@media (max-height:370px){.bike-computer .ride-pip-top{min-height:30px}.bike-computer .ride-readings{padding-top:5px;padding-bottom:4px}.bike-computer .ride-reading-value{margin:3px 0;font-size:33px}.bike-computer .ride-pip-aux,.bike-computer .ride-pip-course{padding-top:3px;padding-bottom:3px}.bike-computer .ride-trends{padding-top:3px}.ride-trends.is-compact .ride-trends-toolbar{margin-bottom:1px}.ride-trends.is-compact .range-tabs button{min-height:19px;padding:1px 5px}}html[data-desktop-mini],html[data-desktop-mini] #root,html[data-desktop-mini] body{min-width:0;min-height:0;background:0 0!important}body.ride-mini-body{overflow:hidden}.desktop-mini-page{--desktop-mini-glass:rgba(11,13,17,var(--mini-background-opacity,.55));background:0 0;width:100vw;height:100vh;padding:10px;position:relative;overflow:hidden}.desktop-mini-page>.ride-pip.is-transparent{box-shadow:0 8px 24px rgba(0,0,0,calc(var(--mini-background-opacity,.55) * .3))}.desktop-mini-loading,.desktop-mini-page>.ride-pip.is-transparent{border:1px solid rgba(255,255,255,calc(var(--mini-background-opacity,.55) * .14));background:var(--desktop-mini-glass);text-shadow:0 1px 3px #000000b3;border-radius:8px}.desktop-mini-loading{color:#9da4b1;letter-spacing:.02em;justify-content:center;align-items:center;gap:9px;width:100%;height:100%;font-size:12px;display:flex}.desktop-mini-loading>span{background:#9bacff;border-radius:50%;width:6px;height:6px;animation:desktop-mini-pulse 1.4s ease-in-out infinite;box-shadow:0 0 0 4px #9bacff14}@keyframes desktop-mini-pulse{50%{opacity:.35;transform:scale(.72)}}.bike-computer{position:relative}.ride-pip-settings{border-radius:var(--radius-control);color:#a6adba;border:1px solid #0000;justify-content:center;align-items:center;width:27px;height:27px;display:inline-flex}.ride-pip-settings.active,.ride-pip-settings:hover{border-color:var(--accent-border);background:var(--accent-soft);color:var(--foreground)}.mini-settings-popover{z-index:5;overscroll-behavior:contain;border-radius:var(--radius-card);width:min(248px,100% - 14px);max-height:calc(100% - 49px);text-shadow:none;scrollbar-width:thin;background:#0c0e12;border:1px solid #ffffff12;padding:6px 10px;position:absolute;top:42px;right:7px;overflow-y:auto;box-shadow:0 3px 10px #0000001f}.mini-settings-controls{min-width:0}.mini-settings-row{grid-template-columns:28px minmax(0,1fr);align-items:center;gap:10px;min-height:36px;display:grid}.mini-settings-row+.mini-settings-row{border-top:1px solid #ffffff08}.mini-settings-label{color:#8992a1;font-size:11px}.mini-layout-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;min-width:0;display:grid}.mini-layout-option{cursor:pointer;min-width:0;display:block;position:relative}.mini-layout-option input{z-index:1;opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.mini-layout-option>span{border-radius:var(--radius-control);color:#8992a1;border:1px solid #0000;justify-content:center;align-items:center;min-height:32px;font-size:11px;display:flex}.mini-layout-option:hover>span{color:#c0c7d2}.mini-layout-option input:checked+span{color:#dfe4ed;background:#ffffff06;border-color:#ffffff1c}.mini-layout-option input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.mini-opacity-control{grid-template-columns:minmax(0,1fr) 34px;align-items:center;gap:10px;min-width:0;display:grid}.mini-opacity-control output{color:#8992a1;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:11px}.mini-opacity-slider{appearance:none;cursor:pointer;background:0 0;width:100%;min-width:0;height:32px;margin:0;padding:0;display:block}.mini-opacity-slider::-webkit-slider-runnable-track{background:linear-gradient(to right,#a7b0c0 0 var(--mini-opacity-position,0),#ffffff1a var(--mini-opacity-position,0) 100%);border-radius:1px;height:2px}.mini-opacity-slider::-webkit-slider-thumb{appearance:none;background:#d0d5df;border:0;border-radius:50%;width:10px;height:10px;margin-top:-4px}.mini-opacity-slider::-moz-range-track{background:#ffffff1a;border-radius:1px;height:2px}.mini-opacity-slider::-moz-range-progress{background:#a7b0c0;border-radius:1px;height:2px}.mini-opacity-slider::-moz-range-thumb{background:#d0d5df;border:0;border-radius:50%;width:10px;height:10px}.mini-preferences-panel .mini-settings-controls{max-width:440px}@media (pointer:coarse){.mini-settings-row{min-height:48px}.mini-layout-option>span,.mini-opacity-slider{min-height:44px}}.bike-computer.layout-medium .ride-reading-value{font-size:35px}.bike-computer.layout-medium .ride-reading-value.four-digits{font-size:31px}.bike-computer.layout-medium .ride-trend-plots{flex:1}.bike-computer.layout-small .ride-pip-top{gap:5px;min-height:32px;padding:0 8px}.bike-computer.layout-small .ride-pip-top time{font-size:15px}.bike-computer.layout-small .ride-pip-top-actions{gap:3px}.bike-computer.layout-small .ride-readings{flex:1;align-items:center;padding:8px 10px}.bike-computer.layout-small .ride-reading{padding:0 9px}.bike-computer.layout-small .ride-reading:first-child{padding-left:0}.bike-computer.layout-small .ride-reading:last-child{padding-right:0}.bike-computer.layout-small .ride-reading-value{letter-spacing:-1px;margin:5px 0 0;font-size:34px}.bike-computer.layout-small .ride-reading-value.four-digits{font-size:28px}.bike-computer.layout-small .ride-reading-stats{display:none}.bike-computer.layout-small .ride-pip-course{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;gap:3px 8px;padding:5px 10px 7px;display:grid}.bike-computer.layout-small .ride-pip-course-name{grid-column:1/-1;max-width:100%;font-size:9px}.bike-computer.layout-small .ride-pip-course-time{justify-self:end}.bike-computer.layout-small .ride-pip-course-track{grid-column:1/-1}.ride-pip-small-target{color:#a4acba;align-items:baseline;gap:4px;font-size:9px;display:inline-flex}.ride-pip-small-target b{color:var(--foreground);font-variant-numeric:tabular-nums;font-size:12px;font-weight:500}.ride-pip-small-target small{font-size:9px}.desktop-mini-error{z-index:6;border-radius:var(--radius-control);color:#e3bd86;background:#241e17;border:1px solid #e3bd8640;align-items:center;gap:8px;padding:8px 10px;font-size:11px;display:flex;position:absolute;bottom:14px;left:14px;right:14px}.desktop-mini-error button{margin-left:auto;font-size:18px}.editor-intensity-values{white-space:nowrap;align-items:baseline;gap:6px;display:inline-flex}.editor-intensity-values strong{color:var(--soft);font-size:11px}.editor-intensity-values b{border-left:1px solid var(--line);color:var(--foreground);padding-left:6px;font-size:11px;font-weight:550}.editor-intensity output{min-width:112px}.template-card-target{color:var(--soft);font-variant-numeric:tabular-nums;white-space:nowrap;margin:-2px 0 11px;font-size:10px;line-height:1.5}.editor-preview-targets{gap:var(--space-2);margin-top:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.editor-preview-targets>span{justify-content:space-between;align-items:baseline;gap:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-control);background:var(--accent-soft);min-width:0;padding:7px 9px;display:flex}.editor-preview-targets small{color:var(--faint);font-size:9px}.editor-preview-targets strong{color:var(--soft);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.course-detail-summary{margin:var(--space-5) 0 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.course-detail-summary>div{border-right:1px solid var(--border);flex-direction:column;gap:5px;min-width:0;padding:11px 12px;display:flex}.course-detail-summary>div:last-child{border-right:0}.course-detail-summary span{color:var(--faint);font-size:9px}.course-detail-summary strong{color:var(--soft);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:520;overflow:hidden}.step-list b{white-space:nowrap;min-width:112px}@media (max-width:600px){.editor-preview-targets>span{padding:7px 8px}.course-detail-summary{margin-top:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr))}.course-detail-summary>div:nth-child(2){border-right:0}.course-detail-summary>div:nth-child(-n+2){border-bottom:1px solid var(--border)}}@media (max-width:700px) and (max-height:400px){.modal{max-height:calc(100dvh - 24px)}.modal-header{padding:10px 18px}.modal-header h2{font-size:18px}.modal-header p{display:none}.modal-header .icon-button{width:40px;height:40px}.modal-body{padding:10px 18px 8px}.course-name-field{gap:4px;margin-bottom:9px}.course-name-field>span{font-size:9px}.course-name-field input{height:40px;padding:8px 10px;font-size:16px}.editor-preview{padding:8px 10px 6px}.editor-preview-heading{font-size:9px}.editor-preview-targets{margin-top:6px}.editor-preview-targets>span{padding:5px 7px}.editor-preview .workout-bars{height:52px;margin:4px 0 0}.editor-actions{margin:14px -18px -8px;padding:4px 18px 5px;bottom:-8px}.modal:not(.modal-wide) .workout-bars.large{height:70px;margin:2px 0 8px}.course-description{-webkit-line-clamp:1;-webkit-box-orient:vertical;font-size:11px;line-height:1.45;display:-webkit-box;overflow:hidden}.course-detail-summary{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:8px}.course-detail-summary>div{border-bottom:0;padding:7px 8px}.course-detail-summary>div,.course-detail-summary>div:nth-child(2){border-right:1px solid var(--border)}.course-detail-summary>div:nth-child(-n+2){border-bottom:0}.step-list{margin:10px 0 0}.step-list>div{padding:8px 0}}.device-panel-notice{color:var(--muted);margin:12px 0 0;font-size:12px;line-height:1.6}@media (max-height:500px) and (pointer:coarse),(max-width:600px){.app-shell{padding:env(safe-area-inset-top,0) env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0)}.device-popover{z-index:100;width:auto;max-width:none;max-height:calc(100dvh - env(safe-area-inset-top,0px) - 16px);overscroll-behavior:contain;padding-bottom:env(safe-area-inset-bottom,0);background:#101112;border-radius:20px 20px 0 0;position:fixed;inset:auto 0 0;overflow-y:auto;box-shadow:0 -20px 70px #000b}.device-popover:before{content:"";background:#ffffff30;border-radius:4px;width:32px;height:4px;margin:10px auto 0;display:block}.device-connected-actions button,.device-popover-header .icon-button,.native-list button{min-height:44px}.device-connected-actions button{font-size:12px}.modal{max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 24px)}input:not([type=range]):not([type=checkbox]),select,textarea{font-size:16px}}.language-picker{min-height:36px;color:var(--soft);align-items:center;gap:4px;display:inline-flex;position:relative}.language-picker select{max-width:110px;min-height:36px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;font-size:12px}.language-picker option{color:#f5f5f5;background:#161616}.language-picker:has(select:disabled){opacity:.48}.language-picker select:disabled{cursor:not-allowed}.language-locked-note{color:var(--muted);font-size:12px}.mobile-shell{--mobile-safe-top:env(safe-area-inset-top,0px);--mobile-safe-right:env(safe-area-inset-right,0px);--mobile-safe-bottom:env(safe-area-inset-bottom,0px);--mobile-safe-left:env(safe-area-inset-left,0px);--mobile-viewport-height:100vh;-webkit-text-size-adjust:100%;padding:0}@supports (height:100dvh){.mobile-shell{--mobile-viewport-height:100dvh}}.mobile-settings-help{align-items:center;gap:8px;min-height:44px;display:inline-flex}.mobile-shell :is(button,a,summary,label){-webkit-tap-highlight-color:transparent}.mobile-shell :is(button,a):active{opacity:.7}.mobile-shell :is(input,select,textarea){scroll-margin-block:70px}.mobile-shell .modal-header>div{min-width:0}.mobile-shell .modal-header :is(h2,p){overflow-wrap:anywhere}.mobile-shell .modal-header .icon-button{flex-shrink:0}.mobile-shell .modal[open]{flex-direction:column;display:flex;overflow:hidden}.mobile-shell .modal-header{flex-shrink:0}.mobile-shell .modal-body{overscroll-behavior:contain;min-height:0;overflow:auto}.settings-support{margin-top:16px}.settings-support .mobile-settings-help{margin-top:8px}.mobile-shell input[type=number]{appearance:textfield}.mobile-shell input[type=number]::-webkit-inner-spin-button,.mobile-shell input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}.mobile-shell.mobile-landscape{--ios-background:var(--background);--ios-group:var(--panel);--ios-raised:var(--surface);--ios-separator:var(--line);--ios-tint:var(--accent);--mobile-control-height:44px;--mobile-bar-height:44px;--mobile-gutter:14px;grid-template-columns:minmax(0,1fr);grid-template-rows:var(--mobile-bar-height) minmax(0,1fr) var(--mobile-bar-height);height:var(--mobile-viewport-height);min-height:0;padding:var(--mobile-safe-top) var(--mobile-safe-right) var(--mobile-safe-bottom) var(--mobile-safe-left);background:var(--background);letter-spacing:normal;font-family:-apple-system,BlinkMacSystemFont,Helvetica Neue,PingFang SC,sans-serif;display:grid;overflow:hidden}.mobile-shell.mobile-landscape .main-content{width:100%;min-width:0;max-width:none;min-height:0;padding:8px var(--mobile-gutter);overscroll-behavior:contain;scrollbar-width:thin;grid-row:2;margin:0;overflow:auto}.mobile-shell.mobile-landscape.workouts-page .main-content{flex-direction:column;display:flex;overflow:hidden}.mobile-landscape.workouts-page .active-ride-banner{flex-shrink:0;min-height:44px;margin:0 0 6px;padding:0 10px}.mobile-landscape.workouts-page .active-ride-banner .text-button{min-height:44px}.mobile-landscape .course-create-bar{flex-shrink:0}.mobile-landscape .course-grid.library-grid{overscroll-behavior:contain;scrollbar-width:thin;flex:1;align-content:start;min-height:0;overflow:auto}.mobile-shell.mobile-landscape.home-page .main-content{padding:8px var(--mobile-gutter);flex-direction:column;display:flex;overflow:hidden}.mobile-landscape .main-content:focus{outline:none}.mobile-landscape .button{min-height:var(--mobile-control-height);font-size:12px}.mobile-landscape .button.primary{background:var(--ios-tint);color:#000;border-color:#0000}.mobile-landscape .button.secondary{background:var(--ios-raised);color:var(--ios-tint);border-color:#0000}.mobile-landscape .button.primary:hover:not(:disabled){background:var(--ios-tint);box-shadow:none;transform:none}.mobile-landscape .button.secondary:hover:not(:disabled){background:var(--ios-raised);color:var(--ios-tint);box-shadow:none;transform:none}.mobile-landscape .main-content>.page-header{display:none}.mobile-landscape .page-header h1{letter-spacing:-.4px;font-size:18px;font-weight:500}.mobile-landscape .page-footer,.mobile-landscape .page-header p{display:none}.mobile-landscape .main-content>.message-bar{z-index:60;top:calc(var(--mobile-safe-top) + var(--mobile-bar-height) + 6px);left:calc(var(--mobile-safe-left) + 12px);right:calc(var(--mobile-safe-right) + 12px);width:fit-content;max-width:calc(100vw - var(--mobile-safe-left) - var(--mobile-safe-right) - 24px);border-radius:var(--radius-control);background:#232325;border:1px solid #ffffff25;gap:8px;min-height:44px;margin:0;padding:0 4px 0 12px;font-size:12px;position:fixed;box-shadow:0 8px 28px #0009}.mobile-landscape .message-bar>span{flex:1;min-width:0}.mobile-landscape .landscape-lobby{flex:1;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:16px;min-height:0;display:grid}.mobile-landscape .mobile-lobby-world{flex-direction:column;min-height:0;display:flex;overflow:hidden}.mobile-lobby-welcome{flex-shrink:0;padding:2px 0 8px}.mobile-lobby-welcome>span{display:none}.mobile-lobby-welcome h2{letter-spacing:-.4px;margin:0;font-size:17px;font-weight:600;line-height:1.4}.mobile-landscape .landscape-lobby .mobile-lobby-scene{border-radius:var(--radius-card);background:radial-gradient(at 55%,#ffffff03,#0000 75%);border:0;flex:1 1 0;height:auto;min-height:60px}.mobile-landscape .mobile-lobby-scene .road-motion-controls{justify-content:center;padding:0}.mobile-landscape .mobile-lobby-scene .road-motion-toggle{width:44px;padding:0}.mobile-landscape .mobile-lobby-scene .road-motion-toggle>span{display:none}.mobile-landscape .landscape-lobby .mobile-lobby-profile{flex-shrink:0;padding:2px 0}.mobile-landscape .mobile-lobby-profile>*{flex-direction:row;place-content:center;align-items:baseline;gap:4px;min-height:44px;font-size:10px}.mobile-landscape .mobile-lobby-profile strong{font-size:15px;line-height:1.1}.mobile-landscape .mobile-lobby-profile small{font-size:10px}.mobile-latest-ride{min-height:44px;color:var(--muted);flex-shrink:0;align-items:center;gap:8px;display:flex}.mobile-latest-ride>span{flex:1;min-width:0}.mobile-latest-ride small{margin-bottom:3px;font-size:9px;display:block}.mobile-latest-ride strong{text-overflow:ellipsis;white-space:nowrap;color:var(--soft);font-size:11px;font-weight:450;display:block;overflow:hidden}.mobile-latest-ride time{font-variant-numeric:tabular-nums;font-size:11px}.mobile-landscape .mobile-planner{flex-direction:column;min-height:0;display:flex}.mobile-landscape .landscape-lobby .mobile-planner>.mobile-lobby-section-heading{display:none}.mobile-landscape .mobile-lobby-section-heading h2{font-size:13px;font-weight:500}.mobile-landscape .mobile-lobby-section-heading a{font-size:11px}.mobile-landscape .landscape-lobby .mobile-plan-options{overscroll-behavior:contain;border-radius:var(--radius-card);background:var(--ios-group);scrollbar-width:thin;flex-direction:column;flex:1;gap:0;min-height:0;margin:0;padding:0;scroll-padding-block:0;display:flex;overflow-y:auto}.mobile-landscape .mobile-plan{background:0 0;border:0;border-radius:0;flex-shrink:0;position:relative}.mobile-landscape .mobile-plan+.mobile-plan:before{content:"";z-index:1;border-top:.5px solid var(--ios-separator);pointer-events:none;position:absolute;top:0;left:37px;right:0}.mobile-landscape .mobile-plan.is-selected{background:var(--accent-soft)}.mobile-landscape .landscape-lobby .mobile-plan-select{border-radius:0;gap:9px;min-height:44px;padding:5px 11px}.mobile-landscape .mobile-plan-copy strong{gap:7px;font-size:13px}.mobile-landscape .mobile-plan-copy small{font-size:10px}.mobile-landscape .mobile-plan-copy>span{margin-top:2px;font-size:10px;line-height:1.3}.mobile-landscape .mobile-plan-select .workout-bars{flex-basis:40px;width:40px;height:22px}.mobile-landscape .mobile-plan-select>svg{width:22px;height:22px}.mobile-landscape .mobile-plan-check{width:17px;height:17px;color:var(--ios-tint);background:0 0;border:0;border-radius:0}.mobile-landscape .mobile-plan-check>svg{stroke-width:2.3px;width:15px;height:15px}.mobile-landscape .mobile-plan-info{width:44px;color:var(--ios-tint);flex-basis:44px}.mobile-landscape .landscape-lobby .mobile-departure{border:0;flex-shrink:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:5px 0 0;display:grid}.mobile-landscape .mobile-departure-summary{flex-wrap:wrap;place-content:center flex-start;gap:3px 8px;min-height:44px;margin:0}.mobile-landscape .mobile-departure-summary>strong{font-size:12px}.mobile-landscape .mobile-departure-summary>span{flex-basis:100%;font-size:10px}.mobile-landscape .mobile-departure-summary:has(.mobile-erg){flex-wrap:nowrap}.mobile-landscape .mobile-start{isolation:isolate;width:140px;min-height:var(--mobile-control-height);border-radius:var(--radius-control);white-space:nowrap;background:0 0;gap:7px;padding:0 10px;font-size:13px;position:relative}.mobile-landscape .mobile-start:before{content:"";z-index:-1;border-radius:var(--radius-control);background:var(--accent);position:absolute;inset:4px 0}.mobile-landscape .mobile-start>svg:first-child{width:16px;height:16px;margin:0}.mobile-landscape .mobile-preflight,.mobile-landscape .mobile-start>svg:last-child{display:none}.mobile-landscape .mobile-erg{gap:5px;font-size:10px}.mobile-landscape .mobile-erg input{background:#343434;border:0}.mobile-landscape .mobile-erg input:after{background:#c9c9c9;width:14px;height:14px;top:2px}.mobile-landscape .mobile-erg input:checked{background:var(--ios-tint)}.mobile-landscape .mobile-erg input:checked:after{background:#0b0b0b}.mobile-shell.mobile-landscape.ride-page .main-content{padding:8px var(--mobile-gutter);flex-direction:column;display:flex}.mobile-landscape .mobile-ride--landscape{flex-direction:column;flex:1;min-height:0;display:flex}.mobile-landscape .mobile-ride-cockpit{flex:1;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:stretch;gap:16px;display:grid}.mobile-landscape .mobile-ride-command{grid-template-rows:44px minmax(0,1fr) 44px;min-width:0}.mobile-ride-instruments{flex-direction:column;min-width:0;display:flex}.mobile-landscape .mobile-ride-readings{flex-direction:column;flex:1;min-height:0;display:flex}.mobile-landscape .mobile-ride .ride-readings{border-radius:var(--radius-card);background:var(--ios-group);grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);padding:0;display:grid;overflow:hidden}.mobile-landscape .mobile-ride .ride-reading{flex-direction:column;justify-content:center;min-height:0;padding:6px 10px;display:flex}.mobile-landscape .mobile-ride .ride-reading.power{border:0;border-right:.5px solid var(--ios-separator);grid-area:1/1/-1;padding:8px 12px}.mobile-landscape .mobile-ride .ride-reading.heart{border:0;grid-area:1/2}.mobile-landscape .mobile-ride .ride-reading.cadence{border:0;border-top:.5px solid var(--ios-separator);grid-area:2/2}.mobile-landscape .mobile-ride .ride-reading.power .ride-reading-value{letter-spacing:-1.5px;margin:5px 0 8px;font-size:48px}.mobile-landscape .mobile-ride .ride-reading.power .ride-reading-value.four-digits{font-size:40px}.mobile-landscape .mobile-ride .ride-reading-value{letter-spacing:-.8px;margin:2px 0 3px;font-family:ui-rounded,-apple-system,BlinkMacSystemFont,sans-serif;font-size:27px;font-weight:600}.mobile-landscape .mobile-ride .ride-reading-stats{gap:8px}.mobile-landscape .mobile-ride .ride-reading-note,.mobile-landscape .mobile-ride .ride-reading-stats>span:last-child{display:none}.mobile-landscape .mobile-ride-aux{border:0;padding:5px 0 0}.mobile-landscape .mobile-ride-aux>div{padding-inline:8px}.mobile-landscape .mobile-ride-aux>div+div{border-left:.5px solid var(--ios-separator)}.mobile-landscape .mobile-ride-aux span{margin-bottom:3px}.mobile-landscape .mobile-ride-aux strong{font-size:15px}.mobile-landscape .mobile-ride-heading{grid-column:1;gap:5px;min-height:44px}.mobile-landscape .mobile-ride-heading h1{display:none}.mobile-landscape .mobile-ride-heading .session-status{white-space:nowrap}.mobile-landscape .mobile-ride-erg{isolation:isolate;border-radius:var(--radius-control);min-width:50px;color:var(--ios-tint);background:0 0;border:0;padding-inline:6px;font-size:10px;position:relative}.mobile-landscape .mobile-ride-erg:before{content:"";z-index:-1;border-radius:var(--radius-control);background:var(--accent-soft);position:absolute;inset:8px 0}.mobile-landscape .mobile-ride-target{border-radius:var(--radius-control);background:var(--ios-group);border:0;grid-column:2;min-height:44px;margin:0;padding:0 9px}.mobile-landscape .mobile-ride-target>span{font-size:10px}.mobile-landscape .mobile-ride-target strong{font-size:22px}.mobile-landscape .mobile-ride-command .mobile-ride-stage{border-radius:var(--radius-card);background:var(--ios-group);border:0;flex-direction:column;grid-column:1/-1;justify-content:center;min-height:0;margin:0;padding:10px;display:flex}.mobile-landscape .mobile-ride-stage .workout-bars{flex-shrink:1;height:36px;min-height:18px;margin:10px 0 8px}.mobile-landscape .mobile-stage-head h2{font-size:13px}.mobile-landscape .mobile-stage-head strong{font-size:17px}.mobile-landscape .mobile-stage-next{font-size:10px;line-height:1.4}.mobile-landscape .mobile-ride-command .mobile-ride-controls{grid-column:1/-1;gap:8px;margin:0;padding:0}.mobile-landscape .mobile-ride-controls button{isolation:isolate;min-height:var(--mobile-control-height);border-radius:var(--radius-control);background:0 0;border:0;padding:0 12px;font-size:12px;position:relative}.mobile-landscape .mobile-ride-controls button:before{content:"";z-index:-1;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);position:absolute;inset:4px 0}.mobile-landscape .mobile-ride-controls .mobile-ride-pause:before{background:var(--accent);border-color:#0000}.mobile-landscape .mobile-ride-controls .mobile-ride-end{color:var(--soft)}.mobile-landscape .mobile-ride-controls .mobile-ride-end:before{border-color:var(--line);background:var(--surface)}.mobile-landscape .mobile-ride-controls button>svg{width:15px;height:15px}.mobile-landscape .mobile-ride-controls button>span{display:inline}.mobile-landscape .mobile-ride-pause{min-width:76px}.mobile-landscape .mobile-ride-time strong{font-size:21px}.mobile-ride-views{grid-template-columns:1fr 1fr;gap:8px;padding-top:0;display:grid}.mobile-ride-views button{border-radius:var(--radius-control);min-height:44px;color:var(--ios-tint);background:0 0;border:0;justify-content:flex-start;align-items:center;gap:6px;padding:0 8px;font-size:11px;display:flex}.mobile-ride-views button>svg:last-child{margin-left:auto}.mobile-landscape .mobile-ride-disconnected{flex-shrink:0;font-size:11px}.mobile-landscape .mobile-ride-disconnected>span{flex:1}.mobile-landscape .mobile-ride-heading,.mobile-landscape .mobile-ride-target{grid-row:1}.mobile-landscape .mobile-ride-command .mobile-ride-stage{grid-row:2}.mobile-landscape .mobile-ride-command .mobile-ride-controls{grid-row:3}.mobile-landscape .mobile-ride-command:has(.mobile-ride-disconnected){grid-template-rows:44px auto minmax(0,1fr) 44px}.mobile-landscape .mobile-ride-disconnected{grid-area:2/1/auto/-1}.mobile-landscape .mobile-ride-command:has(.mobile-ride-disconnected) .mobile-ride-stage{grid-row:3}.mobile-landscape .mobile-ride-command:has(.mobile-ride-disconnected) .mobile-ride-controls{grid-row:4}.mobile-shell.mobile-landscape .device-popover{top:calc(var(--mobile-safe-top) + 12px);right:calc(var(--mobile-safe-right) + 12px);bottom:calc(var(--mobile-safe-bottom) + 12px);width:min(480px,calc(100vw - var(--mobile-safe-left) - var(--mobile-safe-right) - 24px));height:fit-content;max-height:calc(var(--mobile-viewport-height,100dvh) - var(--mobile-safe-top) - var(--mobile-safe-bottom) - 24px);border-radius:var(--radius-card);background:var(--ios-group);flex-direction:column;margin-block:auto;padding:0;display:flex;left:auto;overflow:hidden}.mobile-landscape .device-popover:before{display:none}.mobile-landscape .device-popover-header{background:0 0;flex-shrink:0;align-items:center;padding:4px 10px 4px 14px;position:static}.mobile-landscape .device-popover-header>div{flex-direction:row;align-items:baseline;gap:10px}.mobile-landscape .device-popover-header strong{font-size:14px}.mobile-landscape .device-popover-header span{font-size:11px}.mobile-landscape .device-popover-body{overscroll-behavior:contain;flex:auto;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:10px;min-height:0;padding:10px;display:grid;overflow:hidden}.mobile-landscape .device-popover-body .device-row{overscroll-behavior:contain;scrollbar-width:thin;min-height:0;overflow:auto}.mobile-landscape .device-row{border-radius:var(--radius-card);background:var(--ios-raised);border:0;min-width:0;padding:10px}.mobile-landscape .device-row-main{gap:8px}.mobile-landscape .device-icon{width:32px;height:36px}.mobile-landscape .device-row-title{flex-wrap:wrap;gap:5px 8px}.mobile-landscape .device-current{white-space:normal;overflow-wrap:anywhere;font-size:11px}.mobile-landscape .device-connected-actions{flex-wrap:wrap;gap:0 8px;margin:4px 0 0}.mobile-landscape .device-connect-row{flex-wrap:wrap;gap:8px;margin-left:0}.mobile-landscape .device-connect-row label{width:100%}.mobile-landscape .device-connect-row select{min-height:44px}.mobile-landscape .device-connect-row .button{flex:1}.mobile-landscape .device-popover-footer{border-top:.5px solid var(--line);background:var(--ios-group);flex-shrink:0;margin:0;padding:0 16px}.mobile-landscape .device-popover-footer .switch-row{gap:12px;min-height:52px;margin:0}.mobile-landscape .device-popover-footer .switch-row>div{flex-direction:row;align-items:baseline;gap:10px}.mobile-landscape .device-popover-footer .switch-row input{width:44px;height:26px}.mobile-landscape .device-popover-footer :is(.inline-error,.device-panel-notice){margin:0 0 10px;font-size:11px}.mobile-shell.mobile-landscape .modal{inset:var(--mobile-safe-top) var(--mobile-safe-right) var(--mobile-safe-bottom) var(--mobile-safe-left);width:min(640px,calc(100vw - var(--mobile-safe-left) - var(--mobile-safe-right) - 24px));max-height:calc(var(--mobile-viewport-height,100dvh) - var(--mobile-safe-top) - var(--mobile-safe-bottom) - 24px);border-radius:var(--radius-surface);background:var(--ios-group);border:.5px solid #ffffff14;overflow:hidden}.mobile-shell.mobile-landscape .modal.modal-wide{width:min(720px,calc(100vw - var(--mobile-safe-left) - var(--mobile-safe-right) - 24px))}.mobile-landscape .modal[open]{flex-direction:column;display:flex}.mobile-landscape .modal-header{border-color:var(--ios-separator);background:#111c;flex-shrink:0;align-items:center;gap:10px;padding:4px 8px 4px 14px}.mobile-landscape .modal-header h2{font-size:16px;font-weight:600}.mobile-landscape .modal-header p{margin-top:3px;font-size:10px;line-height:1.4;display:block}.mobile-landscape .modal-body{overscroll-behavior:contain;scrollbar-width:thin;min-height:0;padding:12px 14px 14px;overflow:auto}.mobile-landscape .modal .icon-button{min-width:44px;min-height:44px}.mobile-landscape :is(.modal-header,.device-popover-header) .icon-button{isolation:isolate;background:0 0;border:0;position:relative}.mobile-landscape :is(.modal-header,.device-popover-header) .icon-button:before{content:"";z-index:-1;background:var(--accent-soft);border-radius:50%;position:absolute;inset:8px}.mobile-landscape :is(.modal-header,.device-popover-header) .icon-button>svg{width:15px;height:15px;color:var(--muted);stroke-width:2px}.mobile-landscape .modal-header .icon-button:focus-visible{outline:2px solid var(--ios-tint);outline-offset:-6px}.mobile-landscape .modal:not(.modal-wide) .workout-bars.large{height:48px;margin:0 0 10px}.mobile-landscape .modal .course-description{font-size:12px}.mobile-landscape .modal .course-detail-summary{grid-template-columns:repeat(4,minmax(0,1fr));margin:12px 0}.mobile-landscape .course-detail-summary>div{border-bottom:0;padding:8px 10px}.mobile-landscape .course-detail-summary strong{font-size:12px}.mobile-shell.mobile-landscape .modal.course-preview{width:min(960px,calc(100vw - var(--mobile-safe-left) - var(--mobile-safe-right) - 24px));height:min(440px,calc(var(--mobile-viewport-height) - var(--mobile-safe-top) - var(--mobile-safe-bottom) - 24px))}.mobile-landscape .course-preview .modal-body{flex:1;padding:0;overflow:hidden}.mobile-landscape .course-preview-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);height:100%;min-height:0;display:grid}.mobile-landscape .course-preview-overview{overscroll-behavior:contain;scrollbar-width:thin;min-width:0;padding:9px 12px;overflow:auto}.mobile-landscape .modal.course-preview .workout-bars.large{height:clamp(64px,23vh,96px);margin:0 0 8px}.mobile-landscape .course-preview .workout-zone-legend{margin-bottom:4px}.mobile-landscape .course-preview .course-description{margin:0;font-size:12px;line-height:1.5;display:block}.mobile-landscape .course-preview .course-detail-summary{grid-template-columns:repeat(2,minmax(0,1fr));height:auto;margin:8px 0 0;padding:0}.mobile-landscape .course-preview .course-detail-summary>div{gap:2px;padding:4px 6px}.mobile-landscape .course-preview .course-detail-summary>div:nth-child(2n){border-right:0}.mobile-landscape .course-preview .course-detail-summary>div:nth-child(-n+2){border-bottom:1px solid var(--border)}.mobile-landscape .course-preview-details{border-left:.5px solid var(--ios-separator);flex-direction:column;min-width:0;min-height:0;display:flex}.mobile-landscape .course-preview-steps-heading{flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px 6px;display:flex}.mobile-landscape .course-preview-steps-heading h3{margin:0;font-size:12px;font-weight:500}.mobile-landscape .course-preview-steps-heading>span{color:var(--muted);font-size:11px}.mobile-landscape .course-preview .step-list{overscroll-behavior:contain;scrollbar-width:thin;flex:1;min-height:0;margin:0;padding:0 14px;overflow:auto}.mobile-landscape .course-preview .step-list:focus-visible{outline:1px solid var(--ios-tint);outline-offset:-2px}.mobile-landscape .course-preview .step-list>div{grid-template-columns:18px minmax(0,1fr) auto;align-content:center;gap:2px 8px;min-height:48px;padding:6px 0;display:grid}.mobile-landscape .course-preview .step-list>div>span{grid-row:1/3;align-self:center;font-size:10px}.mobile-landscape .course-preview .step-list strong{overflow-wrap:anywhere;min-width:0;font-size:12px;line-height:1.4}.mobile-landscape .course-preview .step-list small{font-size:11px}.mobile-landscape .course-preview .step-list b{text-align:left;white-space:normal;grid-column:2/4;min-width:0;font-size:11px;line-height:1.4}.mobile-landscape .course-preview .preview-actions{border-top:.5px solid var(--ios-separator);background:var(--ios-group);flex-shrink:0;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 52px;gap:6px;margin:0;padding:8px 12px;display:grid;position:static}.mobile-landscape .course-preview .preview-actions.solo{grid-template-columns:minmax(0,1fr) 52px}.mobile-landscape .course-preview .preview-actions .button{white-space:nowrap;gap:6px;min-width:0;min-height:44px;padding:8px;font-size:12px}.mobile-landscape .course-preview .preview-actions .primary{order:1}.mobile-landscape .course-preview .preview-actions .preview-delete{order:2}.mobile-portrait .course-preview .preview-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-portrait .course-preview .preview-actions .preview-delete{grid-column:1/-1}.mobile-portrait .course-preview .preview-actions.solo .preview-delete{grid-column:auto}.mobile-shell .course-preview .preview-delete{min-height:44px}.mobile-shell .course-preview .inline-error{padding:4px 12px}.mobile-landscape .modal .road-motion{min-height:180px}.mobile-landscape .modal.ride-scene-dialog[open]{height:calc(var(--mobile-viewport-height,100dvh) - var(--mobile-safe-top) - var(--mobile-safe-bottom) - 24px);flex-direction:column;display:flex}.mobile-landscape .modal.ride-scene-dialog .modal-header{flex-shrink:0}.mobile-landscape .modal.ride-scene-dialog .modal-body{flex:1;min-height:0;overflow:hidden}.mobile-landscape .modal.ride-scene-dialog .road-motion{height:100%;min-height:0;margin:0}.mobile-landscape .modal .ride-metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.mobile-landscape .modal .ride-metrics-grid dt{font-size:11px}.mobile-landscape .modal .ride-metrics-grid dd strong{font-size:22px}.mobile-landscape .modal .ride-metrics-grid p{font-size:10px}.mobile-landscape .editor-actions{margin:12px -14px -14px;padding:6px 14px;bottom:-14px}.mobile-landscape .editor-step :is(button,input,select){min-height:44px}.mobile-landscape .editor-zones button{min-width:44px;min-height:44px}.mobile-shell.mobile-landscape .modal:is(.course-editor-dialog,.course-picker-dialog,.ride-analysis,.help-dialog){width:min(960px,calc(100vw - var(--mobile-safe-left) - var(--mobile-safe-right) - 24px));height:min(440px,calc(var(--mobile-viewport-height) - var(--mobile-safe-top) - var(--mobile-safe-bottom) - 24px))}.mobile-landscape .course-editor-dialog .modal-body{flex:1;padding:0;display:flex;overflow:hidden}.mobile-landscape .course-editor{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.mobile-landscape .editor-layout{flex:1;grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr);min-height:0;display:grid}.mobile-landscape .editor-overview{overscroll-behavior:contain;scrollbar-width:thin;min-width:0;padding:10px 12px;overflow:auto}.mobile-landscape .course-name-field{gap:4px;margin:0 0 8px}.mobile-landscape .course-name-field>span{font-size:10px}.mobile-landscape .course-name-field input{min-height:44px;padding:8px;font-size:16px}.mobile-landscape .editor-preview{border-radius:var(--radius-control);padding:8px}.mobile-landscape .editor-preview-heading{flex-wrap:wrap;gap:4px;font-size:10px}.mobile-landscape .editor-preview-targets{gap:6px;margin-top:6px}.mobile-landscape .editor-preview-targets>span{flex-direction:column;align-items:start;gap:3px;padding:5px;display:flex}.mobile-landscape .editor-preview-targets strong{font-size:11px}.mobile-landscape .editor-preview .workout-bars.large{height:44px;margin:6px 0 0}.mobile-landscape .workout-chart-selection{flex-wrap:nowrap;gap:4px;padding:4px 0;font-size:10px}.mobile-landscape .workout-chart-selection>span:first-child{flex:auto}.mobile-landscape .workout-chart-ftp{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.mobile-landscape .editor-power-note{align-items:start;gap:5px;margin-top:8px;font-size:10px}.mobile-landscape .editor-power-note>svg{flex-shrink:0}.mobile-landscape .editor-stages{border-left:.5px solid var(--ios-separator);flex-direction:column;min-width:0;min-height:0;display:flex}.mobile-landscape .editor-steps-heading{flex-direction:row;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;min-height:44px;margin:0;padding:0 12px;display:flex}.mobile-landscape .editor-steps-heading h3{font-size:12px}.mobile-landscape .editor-steps-heading p{display:none}.mobile-landscape .editor-steps-heading .text-button{gap:4px;min-height:44px;padding:0;font-size:11px}.mobile-landscape .editor-step-list{overscroll-behavior:contain;scrollbar-width:thin;flex:1;min-height:0;padding:0 12px;overflow:auto}.mobile-landscape .editor-step{grid-template-columns:18px minmax(0,1fr) 86px;grid-template-areas:"index name duration"".intensity intensity"".actions actions";gap:6px;padding:8px 0}.mobile-landscape .editor-step-index{grid-area:index}.mobile-landscape .editor-step-name-field{grid-area:name}.mobile-landscape .editor-step-duration-field{grid-area:duration}.mobile-landscape .editor-step-name{width:100%;padding-inline:6px;font-size:16px}.mobile-landscape .editor-duration input{width:52px;padding-inline:5px;font-size:16px}.mobile-landscape .editor-duration span{font-size:10px}.mobile-landscape .editor-intensity{grid-area:intensity;min-width:0}.mobile-landscape .editor-intensity-control{align-items:center;gap:8px;display:flex}.mobile-landscape .editor-intensity input{flex:1;width:0;min-width:0}.mobile-landscape .editor-intensity output{flex-shrink:0}.mobile-landscape .editor-intensity-values strong{font-size:12px}.mobile-landscape .editor-intensity-values b{font-size:11px}.mobile-landscape .editor-zones{flex-wrap:wrap;gap:4px;display:flex}.mobile-landscape .editor-zones button{flex:0 0 44px;padding:0}.mobile-landscape .editor-step-actions{grid-area:actions}.mobile-landscape .course-editor .inline-error{flex-shrink:0;max-height:44px;margin:0;padding:4px 12px;overflow:auto}.mobile-landscape .course-editor .editor-actions{background:var(--ios-group);flex-shrink:0;gap:8px;margin:0;padding:8px 12px;position:static}.mobile-landscape .editor-actions .button{min-width:96px;padding:8px 12px}.mobile-landscape .editor-actions .text-button.danger{min-height:44px}.mobile-landscape .course-picker-dialog .template-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mobile-landscape .course-picker-dialog .template-card{border-radius:var(--radius-control);grid-template-columns:minmax(0,1fr) 54px;grid-template-areas:"meta meta""title chart""target target""copy copy";gap:5px 8px;padding:10px;display:grid}.mobile-landscape .template-card-top{grid-area:meta;font-size:10px}.mobile-landscape .template-card-title{grid-area:title;margin:0}.mobile-landscape .template-card-title strong{font-size:13px}.mobile-landscape .template-card .workout-bars{grid-area:chart;align-self:center;width:54px;height:26px;margin:0}.mobile-landscape .template-card-target{grid-area:target;font-size:10px}.mobile-landscape .template-card-copy{grid-area:copy;margin:0;font-size:11px;line-height:1.4}.mobile-landscape .template-picker-note{margin:10px 0 0;font-size:10px}.mobile-landscape .ride-analysis .modal-body{flex:1;padding:0;overflow:hidden}.mobile-landscape .ride-analysis-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr);height:100%;min-height:0;display:grid}.mobile-landscape .ride-analysis-metrics{overscroll-behavior:contain;scrollbar-width:thin;min-width:0;padding:8px 12px;overflow:auto}.mobile-landscape .ride-analysis .record-detail-stats{border-bottom:.5px solid var(--ios-separator);grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0 0 8px;padding-bottom:8px}.mobile-landscape .record-detail-stats>div{gap:5px}.mobile-landscape .ride-analysis .record-detail-stats span{font-size:10px}.mobile-landscape .ride-analysis .record-detail-stats strong{font-size:18px}.mobile-landscape .record-detail-stats strong small{font-size:9px}.mobile-landscape .ride-analysis .ride-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-landscape .ride-analysis .ride-metrics-grid>div{padding:8px 6px 8px 0}.mobile-landscape .ride-analysis .ride-metrics-grid dt{flex-wrap:wrap;align-items:baseline;gap:3px;font-size:10px}.mobile-landscape .ride-analysis .ride-metrics-grid dd{gap:3px;margin-top:5px}.mobile-landscape .ride-analysis .ride-metrics-grid strong{font-size:20px}.mobile-landscape .ride-analysis .ride-metrics-grid p{font-size:10px;line-height:1.4}.mobile-landscape .ride-analysis .ride-metrics-help summary{flex-wrap:wrap;align-items:center;min-height:44px;display:flex}.mobile-landscape .ride-analysis-chart{border-left:.5px solid var(--ios-separator);flex-direction:column;min-width:0;min-height:0;padding:8px 12px;display:flex}.mobile-landscape .data-chart.is-fitted{flex-direction:column;flex:1;min-height:0;display:flex}.mobile-landscape .data-chart.is-fitted .chart-toolbar{flex-direction:column;flex-shrink:0;align-items:stretch;gap:0;margin:0 0 4px}.mobile-landscape .data-chart.is-fitted :is(.metric-tabs,.range-tabs){justify-content:flex-start;gap:2px;min-width:0;padding:0;display:flex}.mobile-landscape .data-chart.is-fitted :is(.metric-tabs,.range-tabs) button{flex:1;justify-content:center;min-width:44px;min-height:44px;padding:0 4px;font-size:11px}.mobile-landscape .data-chart.is-fitted .plot-wrap{flex:1;height:0;min-height:90px}.mobile-landscape .data-chart.is-fitted .plot-wrap>svg{height:100%}.mobile-landscape .ride-analysis-chart .detail-footnote{flex-shrink:0;margin:4px 0 0;padding:0;font-size:10px;line-height:1.4}.mobile-shell.mobile-landscape .modal.help-dialog{height:fit-content}.mobile-landscape .help-dialog .modal-body{flex-direction:column;flex:0 auto;display:flex;overflow:hidden}.mobile-landscape .help-steps{overscroll-behavior:contain;flex:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;min-height:0;margin:0;display:grid;overflow:auto}.mobile-landscape .help-steps>div{flex-direction:column;gap:7px}.mobile-landscape .help-steps b{font-size:11px}.mobile-landscape .help-steps strong{font-size:13px}.mobile-landscape .help-steps p{margin-top:7px;font-size:11px;line-height:1.6}.mobile-landscape .help-dialog .modal-body>.button{flex-shrink:0;margin-top:10px}.mobile-landscape .course-create-bar{background:0 0;border:0;border-radius:0;gap:12px;margin-bottom:8px;padding:0 0 6px}.mobile-landscape .course-create-bar .button{color:var(--ios-tint);box-shadow:none;background:0 0}.mobile-landscape .course-create-bar .button.primary:hover:not(:disabled){color:var(--ios-tint);background:0 0}.mobile-landscape .course-create-icon{background:0 0;border:0;width:30px;height:30px}.mobile-landscape .course-create-bar>div{gap:6px}.mobile-landscape .course-create-bar strong{font-size:12px}.mobile-landscape .course-create-bar small{display:none}.mobile-landscape .course-grid.library-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mobile-landscape .library-grid .course-entry{border-radius:var(--radius-card);background:var(--ios-group);border:0;grid-template-columns:minmax(0,1fr) 60px;grid-template-areas:"meta meta""title chart""intensity chart";gap:6px 10px;height:auto;padding:10px 12px;display:grid}.mobile-landscape .library-grid .course-entry:hover{background:var(--ios-raised);box-shadow:none}.mobile-landscape .library-grid .course-entry-heading{grid-area:meta;font-size:10px}.mobile-landscape .library-grid .course-entry-title{grid-area:title}.mobile-landscape .library-grid .course-entry-title>svg{width:14px;height:14px}.mobile-landscape .library-grid .workout-bars{grid-area:chart;align-self:center;width:60px;height:30px;margin:0}.mobile-landscape .library-grid .course-entry p{display:none}.mobile-landscape .library-grid .course-intensity{flex-wrap:wrap;grid-area:intensity;justify-content:flex-start;gap:3px 8px;margin:0;padding:0;font-size:10px;line-height:1.4}.mobile-landscape .course-entry h3{font-size:13px}.mobile-shell.mobile-landscape.history-page .main-content{flex-direction:column;display:flex;overflow:hidden}.mobile-landscape.history-page .active-ride-banner{flex-shrink:0;min-height:44px;margin:0 0 6px;padding:0 10px}.mobile-landscape.history-page .active-ride-banner .text-button{min-height:44px}.mobile-landscape .history-layout{flex:1;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:12px;min-height:0;display:grid}.mobile-landscape .history-summary{overscroll-behavior:contain;border-radius:var(--radius-card);background:var(--ios-group);border:0;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:0;min-height:0;margin:0;padding:4px;display:grid;overflow:auto}.mobile-landscape .history-summary article{border:0;gap:5px;min-width:0;padding:8px}.mobile-landscape .history-summary article:nth-child(4){padding-left:8px}.mobile-landscape .history-summary article:nth-child(n+3){border-top:.5px solid var(--ios-separator)}.mobile-landscape .history-summary article:nth-child(odd){border-right:.5px solid var(--ios-separator)}.mobile-landscape .history-summary strong{flex-flow:wrap;align-items:baseline;gap:4px;margin-top:0;font-size:18px;line-height:1.2;display:flex}.mobile-landscape .history-summary article>span,.mobile-landscape .history-summary small{font-size:10px}.mobile-landscape .history-panel{overscroll-behavior:contain;scrollbar-width:thin;flex-direction:column;min-width:0;min-height:0;margin:0;padding:0 10px;display:flex;overflow:auto}.mobile-landscape .history-panel .panel-heading{z-index:1;background:var(--background);flex-shrink:0;gap:8px;min-height:44px;margin:0;padding:0;position:sticky;top:0}.mobile-landscape .history-panel .panel-heading h2{font-size:13px}.mobile-landscape .history-panel .subtle-badge{font-size:10px}.mobile-landscape .history-panel .empty-state{flex-direction:column;justify-content:center;align-items:center;gap:0;min-height:0;padding:8px 0;display:flex}.mobile-landscape .history-panel .empty-state>svg{width:24px;height:24px}.mobile-landscape .history-panel .empty-state h3{margin-top:8px;font-size:13px}.mobile-landscape .history-panel .empty-state p{margin-block:8px;font-size:11px}.mobile-landscape .history-panel .empty-state .button{margin-top:0}.mobile-landscape .record-row{gap:10px;min-height:44px;padding:10px 0}.mobile-landscape .record-extra-metrics{display:none}.mobile-landscape .record-name strong{font-size:13px}.mobile-shell.mobile-landscape.settings-page .main-content{flex-direction:column;display:flex;overflow:hidden}.mobile-landscape.settings-page .active-ride-banner{flex-shrink:0;min-height:44px;margin:0 0 6px;padding:0 10px}.mobile-landscape .settings-layout{flex:1;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:stretch;gap:12px;min-height:0;display:grid}.mobile-landscape .settings-panel{background:0 0;border:0;border-radius:0;min-width:0;padding:0}.mobile-landscape .settings-panel .panel-heading{border:0;min-height:24px;margin:0;padding:0 12px 5px}.mobile-landscape .settings-panel .panel-heading>svg{display:none}.mobile-landscape .settings-panel .panel-heading h2{color:var(--muted);font-size:11px;font-weight:400}.mobile-landscape .settings-panel .panel-heading p{display:none}.mobile-landscape .settings-panel :is(form,.connection-preferences-group){border-radius:var(--radius-card);background:var(--ios-group);padding:0;overflow:hidden}.mobile-landscape .settings-panel{scrollbar-width:thin;flex-direction:column;min-height:0;display:flex;overflow:auto}.mobile-landscape .settings-panel .panel-heading{flex-shrink:0}.mobile-landscape .settings-panel form{flex-direction:column;min-height:0;display:flex}.mobile-landscape .training-settings-fields{overscroll-behavior:contain;min-height:0;overflow:auto}.mobile-landscape .connection-preferences-group{flex-shrink:0}.mobile-landscape .setting-field{gap:8px;min-height:60px;padding:8px 12px}.mobile-landscape .setting-field+.setting-field{border-top:.5px solid var(--ios-separator)}.mobile-landscape .setting-field>span{gap:5px}.mobile-landscape .setting-field strong{font-size:12px}.mobile-landscape .setting-field small{font-size:10px;line-height:1.4}.mobile-landscape .unit-input{background:0 0;border:0;border-radius:0;padding:0}.mobile-landscape .unit-input input{text-align:right;width:64px;min-height:44px;padding:4px;font-size:16px}.mobile-landscape .unit-input:focus-within{box-shadow:none}.mobile-landscape .unit-input.invalid{box-shadow:inset 0 -1px #ff453a}.mobile-landscape .switch-row{min-height:64px;margin:0;padding:8px 12px}.mobile-landscape .switch-row strong{font-size:13px}.mobile-landscape .switch-row input{background:#343434;border:0;border-radius:999px;width:44px;height:26px}.mobile-landscape .switch-row input:after{background:#c9c9c9;border-radius:50%;width:22px;height:22px;top:2px;left:2px;box-shadow:0 1px 3px #0003}.mobile-landscape .switch-row input:checked{background:var(--ios-tint)}.mobile-landscape .switch-row input:checked:after{background:#0b0b0b;transform:translate(18px)}.mobile-landscape .connection-preferences-group>.button{border:0;border-top:.5px solid var(--ios-separator);width:100%;color:var(--ios-tint);background:0 0;border-radius:0;justify-content:space-between;padding-inline:12px}.mobile-landscape .switch-row small{font-size:11px}.mobile-landscape .local-note{font-size:10px}.mobile-landscape .settings-support{margin-top:8px}.mobile-landscape .settings-support .local-note{align-items:start;gap:6px;font-size:10px;line-height:1.4}.mobile-landscape .settings-support .local-note>svg{flex-shrink:0}.mobile-landscape .mobile-settings-help{width:100%;min-height:44px;color:var(--ios-tint);justify-content:flex-end;margin-top:0;display:flex}.mobile-landscape .ride-result{border-radius:var(--radius-card);padding:20px}.mobile-landscape .ride-result h2{font-size:20px}.mobile-landscape .ride-control-dock{gap:12px}.mobile-landscape .ride-controls .button{min-height:44px}.mobile-ride-summary{gap:20px;display:grid}.mobile-summary-status{min-height:20px;color:var(--muted);align-items:center;gap:7px;font-size:11px;display:flex}.mobile-landscape .mobile-summary-save>svg,.mobile-landscape .mobile-summary-status>svg{color:var(--ios-tint)}.mobile-summary-overview h1{letter-spacing:-.5px;margin:6px 0 4px;font-size:17px;font-weight:600;line-height:1.4}.mobile-summary-duration{margin-top:12px}.mobile-summary-duration>span{color:var(--muted);margin-bottom:5px;font-size:11px;display:block}.mobile-summary-duration strong{letter-spacing:-1px;font-variant-numeric:tabular-nums;font-family:ui-rounded,-apple-system,BlinkMacSystemFont,sans-serif;font-size:32px;font-weight:500;line-height:1}.mobile-summary-save{min-height:24px;color:var(--muted);align-items:center;gap:5px;margin-top:6px;font-size:11px;display:flex}.mobile-summary-save button{min-height:44px}.mobile-summary-metrics{border-radius:var(--radius-card);background:var(--ios-group);border:0;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid;overflow:hidden}.mobile-summary-metrics>div{min-width:0;padding:9px 10px}.mobile-summary-metrics>div:nth-child(n+4){border-top:1px solid var(--line)}.mobile-summary-metrics dt{color:var(--muted);font-size:10px}.mobile-summary-metrics dd{font-variant-numeric:tabular-nums;margin:7px 0 0;font-size:21px;font-weight:500}.mobile-summary-metrics small{color:var(--muted);margin-left:4px;font-size:10px;font-weight:400}.mobile-summary-record{justify-content:space-between;align-items:center;width:100%;min-height:44px;font-size:12px;display:flex}.mobile-summary-actions{justify-content:flex-end;gap:10px;display:flex}.mobile-summary-actions .button{border-radius:var(--radius-control);justify-content:center;min-width:132px;min-height:44px;padding-inline:14px;font-size:12px}.mobile-summary-actions a svg{transform:rotate(180deg)}.mobile-portrait .data-chart .chart-toolbar{flex-direction:column;align-items:stretch;gap:0}.mobile-portrait .data-chart :is(.metric-tabs,.range-tabs){gap:2px;min-width:0;padding:0;display:flex}.mobile-portrait .data-chart :is(.metric-tabs,.range-tabs) button{white-space:nowrap;flex:1;justify-content:center;min-width:44px;min-height:44px;padding-inline:4px}.mobile-portrait.ride-page .main-content:has(>.mobile-ride-summary)>.page-header{display:none}.mobile-portrait .mobile-summary-metrics{background:var(--panel)}.mobile-portrait .mobile-summary-actions{z-index:30;padding:12px max(16px,var(--mobile-safe-right)) max(12px,var(--mobile-safe-bottom)) max(16px,var(--mobile-safe-left));border-top:1px solid var(--line);background:var(--background);grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-portrait .mobile-summary-actions .button{min-width:0}.mobile-landscape .mobile-ride-summary{flex:1;grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(140px,27%) minmax(0,1fr);gap:6px 16px;min-height:0}.mobile-landscape .mobile-summary-overview{overscroll-behavior:contain;align-self:stretch;min-height:0;overflow:auto}.mobile-landscape .mobile-summary-overview h1{overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.mobile-landscape .mobile-summary-overview:has(.mobile-summary-save button) h1{text-overflow:ellipsis;white-space:nowrap;display:block}.mobile-landscape .mobile-summary-details{overscroll-behavior:contain;flex-direction:column;min-width:0;min-height:0;display:flex;overflow:auto}.mobile-landscape .mobile-summary-metrics{flex-shrink:0}.mobile-landscape .mobile-summary-actions{grid-column:1/-1}.mobile-landscape .mobile-summary-record{color:var(--ios-tint)}@keyframes ios-screen-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes ios-sheet-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.mobile-landscape :is(.landscape-lobby,.settings-layout,.library-grid,.mobile-ride-summary){animation:ios-screen-enter .18s ease-out}.mobile-landscape :is(.modal[open],.device-popover){animation:ios-sheet-enter .22s cubic-bezier(.16,1,.3,1) both}.mobile-landscape :is(button,a,input):before{transition:background-color .16s}.mobile-landscape :is(button,a):active{opacity:.65}@media (max-height:360px) and (orientation:landscape){.mobile-landscape .mobile-summary-overview h1{font-size:15px}.mobile-landscape .mobile-summary-duration strong{font-size:28px}.mobile-landscape .mobile-summary-metrics>div{padding:7px 8px}.mobile-landscape .mobile-summary-metrics dd{margin-top:5px;font-size:18px}.mobile-landscape .setting-field{min-height:56px;padding:6px 10px}.mobile-landscape .settings-support .local-note{display:none}.mobile-landscape .mobile-lobby-welcome{padding-bottom:4px}.mobile-landscape .mobile-lobby-welcome h2{font-size:16px}.mobile-landscape .mobile-latest-ride,.mobile-landscape .mobile-lobby-profile>*{min-height:44px}.mobile-landscape .mobile-ride .ride-reading{padding-block:4px}.mobile-landscape .mobile-ride .ride-reading.power .ride-reading-value{font-size:44px}.mobile-landscape .mobile-ride .ride-reading-value{font-size:24px}.mobile-landscape .mobile-ride .ride-reading-stats>span:last-child{display:none}.mobile-landscape .mobile-ride-aux{padding-block:4px}.mobile-landscape .mobile-ride-target{min-height:44px;margin:0}.mobile-landscape .mobile-ride-command .mobile-ride-stage{margin:0;padding:8px}.mobile-landscape .mobile-ride-stage .workout-bars{height:25px;margin-block:6px}.mobile-landscape .mobile-ride-command .mobile-ride-controls{padding:0}}@media (max-height:400px) and (orientation:landscape){.mobile-landscape .mobile-latest-ride{display:none}}@media (max-width:680px) and (orientation:landscape){.mobile-landscape .modal.course-preview .workout-bars.large{height:56px}.mobile-landscape .course-preview .course-detail-summary{margin-top:8px}.mobile-landscape .course-preview .preview-actions .button>svg{display:none}.mobile-shell.mobile-landscape{--mobile-gutter:12px}.mobile-shell.mobile-landscape .main-content,.mobile-shell.mobile-landscape.home-page .main-content,.mobile-shell.mobile-landscape.ride-page .main-content{padding:6px 12px}.mobile-landscape .landscape-lobby{grid-template-columns:minmax(0,.75fr) minmax(0,1.45fr);gap:12px}.mobile-landscape .mobile-lobby-welcome h2{font-size:15px}.mobile-landscape .mobile-lobby-profile strong{font-size:14px}.mobile-landscape .mobile-plan-select .workout-bars{display:none}.mobile-landscape .landscape-lobby .mobile-plan-select{gap:8px;padding-inline:9px}.mobile-landscape .mobile-plan-copy strong{font-size:13px}.mobile-landscape .mobile-plan-copy>span{font-size:10px}.mobile-landscape .mobile-departure-summary>span{display:none}.mobile-landscape .mobile-start{width:124px;font-size:12px}.mobile-landscape .mobile-ride-cockpit{gap:12px}.mobile-landscape .mobile-ride-controls button{min-width:44px;padding-inline:9px}.mobile-landscape .mobile-ride-controls button>span{display:none}.mobile-landscape .mobile-ride-time strong{font-size:21px}.mobile-landscape .mobile-ride-aux{padding-inline:4px}.mobile-landscape .mobile-ride-aux strong{font-size:14px}.mobile-landscape .mobile-ride-views button{gap:5px;padding-inline:4px;font-size:10px}.mobile-landscape .settings-layout{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}}@media (max-height:340px) and (orientation:landscape){.mobile-landscape .mobile-ride .ride-reading{padding-block:4px}.mobile-landscape .mobile-ride .ride-reading.power .ride-reading-value{font-size:42px}.mobile-landscape .mobile-ride .ride-reading-value{font-size:23px}.mobile-landscape .mobile-ride-aux{padding-block:3px}.mobile-landscape .mobile-ride-aux strong{font-size:14px}.mobile-landscape .mobile-summary-metrics>div{padding-block:8px}.mobile-landscape .mobile-summary-duration{margin-top:12px}}@media (prefers-reduced-motion:reduce){.mobile-landscape :is(.landscape-lobby,.settings-layout,.library-grid,.mobile-ride-summary,.modal[open],.device-popover){animation:none}}.session-controls{background:0 0;align-items:center;gap:12px;min-width:0;padding:0;display:flex}.session-time{min-width:78px;margin-right:auto;line-height:1.2}.session-time>span{color:var(--muted);font-size:11px;display:block}.session-time strong{font-variant-numeric:tabular-nums;letter-spacing:-.5px;margin-top:4px;font-size:25px;font-weight:500;line-height:1;display:block}.session-controls button{border:1px solid var(--line);border-radius:9px;justify-content:center;align-items:center;gap:7px;min-width:76px;min-height:44px;padding:0 14px;font-size:13px;display:inline-flex}.session-end{color:var(--soft);background:var(--surface)}.session-controls .session-pause{color:var(--background);background:var(--accent);border-color:#0000;font-weight:600}.session-controls button:disabled{opacity:.4}.session-state-row{align-items:center;gap:10px;min-width:0;display:flex}.session-adjust,.session-erg,.session-reconnect{min-height:44px;color:var(--soft);background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:12px;display:inline-flex}.session-erg:disabled{opacity:.45}.session-reconnect{color:var(--foreground)}.session-target{background:var(--surface);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;min-width:0;padding:12px 16px;display:flex}.session-target>div>span{color:var(--muted);font-size:12px;display:block}.session-target strong{letter-spacing:-1.5px;font-variant-numeric:tabular-nums;font-size:46px;font-weight:500;line-height:1.15;display:block}.session-target strong small{color:var(--muted);letter-spacing:0;font-size:14px}.session-target-delta{color:var(--soft);white-space:nowrap;font-size:12px}.session-target.is-on-target .session-target-delta{color:#9fd3b9}.session-progress{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;min-width:0;min-height:0;padding:14px 0 0;display:grid}.session-course-progress,.session-stage-progress{min-width:0}.session-stage-progress{border-left:1px solid var(--line);padding-left:16px}.session-progress-heading{color:var(--muted);white-space:nowrap;justify-content:space-between;align-items:baseline;gap:6px;font-size:11px;line-height:1.3;display:flex}.session-progress-heading strong{color:var(--foreground);font-variant-numeric:tabular-nums;font-size:14px;font-weight:500}.session-stage-heading-compact{display:none}.session-progress .workout-bars{width:100%;height:45px;margin:11px 0 8px}.session-course-meta{color:var(--muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:space-between;gap:4px 8px;font-size:11px;line-height:1.3;display:flex}.session-course-meta span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.session-course-meta b,.session-stage-progress h2{color:var(--soft);font-weight:500}.session-stage-progress h2{text-overflow:ellipsis;white-space:nowrap;margin:8px 0 2px;font-size:14px;line-height:1.2;overflow:hidden}.session-countdown{align-items:baseline;gap:7px;display:flex}.session-countdown strong{font-variant-numeric:tabular-nums;letter-spacing:-.6px;white-space:nowrap;min-width:0;font-size:30px;font-weight:500;line-height:1.1}.session-countdown.is-long strong{font-size:22px}.session-countdown span{color:var(--muted);white-space:nowrap;font-size:10px}.session-stage-track{background:var(--line);border-radius:4px;height:4px;margin:9px 0 7px;overflow:hidden}.session-stage-track>span{border-radius:inherit;height:100%;display:block}.session-next{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.3;overflow:hidden}.session-progress.is-counting-down .session-countdown strong{color:#f0cf96}.session-free{min-height:90px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex}.session-free strong{color:var(--soft);font-size:17px;font-weight:500}.session-free>span{font-size:12px}.session-load-note{border-top:1px solid var(--line);min-height:36px;color:var(--muted);justify-content:space-between;align-items:center;gap:8px;font-size:11px;display:flex}.session-load-note button{min-height:36px;color:var(--foreground);padding:0 6px;font-size:12px}.session-desktop .ride-instrument{padding:14px 20px 18px}.session-desktop-header{border-bottom:1px solid var(--line);align-items:center;gap:12px;min-height:48px;padding-bottom:10px;display:flex}.session-desktop-header .session-controls{flex:0 0 290px;margin-left:auto}.session-desktop-header>.session-adjust{margin-left:auto}.session-desktop-cockpit{grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:24px;padding-top:14px;display:grid}.session-desktop .ride-readings{grid-template-columns:1.2fr 1fr 1fr;padding:0;display:grid}.session-desktop .ride-reading{min-width:0;padding:12px 16px}.session-desktop .ride-reading:first-child{padding-left:0}.session-desktop .ride-reading-value{margin:8px 0;font-size:clamp(48px,5vw,70px);line-height:1}.session-desktop .ride-reading.power .ride-reading-value{font-size:clamp(60px,6vw,82px)}.session-desktop .ride-reading-stats{flex-direction:column;gap:3px;font-size:11px;display:flex}.session-desktop .ride-reading-stats b{font-size:14px}.session-desktop .ride-reading-stats>span:last-child{display:none}.session-desktop-plan{border-left:1px solid var(--line);flex-direction:column;padding-left:24px;display:flex}.session-aux{color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:14px 24px;padding:12px 0 0;font-size:11px;display:flex}.session-aux b{color:var(--soft);font-size:17px;font-weight:500}.session-aux small{font-size:10px}.session-desktop .ride-chart{margin-top:14px}.ride-extra-statistics{border-top:1px solid var(--line);margin-top:8px}.ride-extra-statistics>summary{min-height:44px;color:var(--muted);cursor:pointer;align-items:center;font-size:12px;display:flex}.desktop-shell.ride-active .page-header{margin-bottom:12px}.desktop-shell.ride-active .page-header h1{font-size:21px}.desktop-shell.ride-active .page-header .ride-back{width:36px;height:36px}.end-ride-dialog,.ftp-setup-dialog,.ride-adjust-dialog{width:min(440px,100vw - 24px)}.end-ride-dialog .modal-body>p,.ftp-setup-dialog .modal-body>p{color:var(--soft);margin:0 0 20px;font-size:14px;line-height:1.65}.confirmation-actions{justify-content:flex-end;align-items:stretch;gap:10px;margin-top:18px;display:flex}.confirmation-actions .button{white-space:nowrap;flex:1;min-width:0}.confirmation-dialog{width:min(440px,100vw - 32px);height:fit-content}.confirmation-dialog .modal-body>p{color:var(--soft);overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.6}.mobile-shell .modal.confirmation-dialog{width:min(440px,calc(100vw - var(--mobile-safe-left) - var(--mobile-safe-right) - 24px));height:fit-content;max-height:calc(var(--mobile-viewport-height) - var(--mobile-safe-top) - var(--mobile-safe-bottom) - 24px)}.mobile-shell .confirmation-dialog .modal-body{padding:14px}.mobile-shell .confirmation-dialog .confirmation-actions .button{min-height:44px}.ftp-confirm-field{justify-content:space-between;align-items:center;gap:16px;display:flex}.ftp-confirm-field>div{align-items:center;gap:8px;display:flex}.ftp-confirm-field input{border:1px solid var(--line);background:var(--background);width:100px;min-height:44px;color:var(--foreground);text-align:right;border-radius:8px;padding:8px;font-size:20px}.intensity-adjuster>span,.session-display-setting>span{color:var(--muted);font-size:12px}.intensity-adjuster>div{justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.intensity-adjuster button{background:var(--surface);border-radius:8px;width:52px;min-height:44px;font-size:24px}.intensity-adjuster output{font-variant-numeric:tabular-nums;font-size:38px}.intensity-adjuster output small{color:var(--muted);font-size:16px}.session-adjust-actions{gap:8px;padding-bottom:12px;display:flex}.session-adjust-actions button{background:var(--surface);border-radius:8px;flex:1;justify-content:center;align-items:center;gap:8px;min-height:44px;font-size:13px;display:flex}.session-display-setting,.session-sound-setting{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:52px;font-size:13px;display:flex}.session-display-setting>div{gap:4px;display:flex}.session-display-setting button{min-height:44px;color:var(--muted);border-radius:8px;padding:0 12px;font-size:12px}.session-display-setting button[aria-pressed=true]{background:var(--surface);color:var(--foreground)}.session-sound-setting input{appearance:none;background:#393939;border-radius:16px;width:42px;height:26px;position:relative}.session-sound-setting input:after{content:"";background:#bfbfbf;border-radius:50%;width:20px;height:20px;position:absolute;top:3px;left:3px}.session-sound-setting input:checked{background:var(--accent)}.session-sound-setting input:checked:after{background:#121212;transform:translate(16px)}.session-completion{color:var(--soft);flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:10px;font-size:13px;display:flex}.session-completion progress{appearance:none;background:var(--line);border:0;border-radius:4px;width:100%;height:4px;overflow:hidden}.session-completion progress::-webkit-progress-bar{background:var(--line)}.session-completion progress::-webkit-progress-value{background:var(--accent)}.session-completion progress::-moz-progress-bar{background:var(--accent)}.session-completion small{color:var(--muted);font-size:11px}.desktop-shell .mobile-ride-summary{border:1px solid var(--line);border-radius:12px;grid-template-columns:minmax(220px,.8fr) minmax(0,1.4fr);gap:24px 48px;padding:24px;display:grid}.desktop-shell .mobile-summary-overview h1{margin:12px 0;font-size:28px}.desktop-shell .mobile-summary-duration strong{font-size:48px}.desktop-shell .mobile-summary-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;display:grid}.desktop-shell .mobile-summary-metrics>div{padding:18px 12px}.desktop-shell .mobile-summary-metrics dd{font-size:29px}.desktop-shell .mobile-summary-actions{grid-column:1/-1;justify-content:flex-end;gap:10px;display:flex}@media (min-width:960px) and (max-height:760px){.desktop-shell.ride-active .main-content{padding-top:14px;padding-bottom:10px}.desktop-shell.ride-active .page-header{margin-bottom:10px}.session-desktop .ride-instrument{padding:10px 16px 12px}.session-desktop-cockpit{padding-top:10px}.session-desktop .ride-reading-value{font-size:50px}.session-desktop .ride-reading.power .ride-reading-value{font-size:64px}.session-desktop .session-target{padding:8px 12px}.session-desktop .session-target strong{font-size:37px}.session-desktop .session-countdown strong{font-size:27px}.session-desktop .session-countdown.is-long strong{font-size:21px}.session-desktop .session-progress{padding-top:10px}.session-desktop .session-progress .workout-bars{height:32px;margin:8px 0 6px}.session-desktop .ride-trend-plot svg{max-height:115px}}.mobile-shell :is(button,a,summary){touch-action:manipulation}.mobile-shell :is(button,a,summary):focus-visible{outline:2px solid var(--accent);outline-offset:-2px}html[data-input-modality=pointer] .mobile-shell :is(button,a,summary,input,select,[tabindex]):focus{outline:none!important}.mobile-shell .unit-input:focus-within{box-shadow:none}.mobile-shell .icon-button{background:0 0;border:0;width:44px;min-width:44px;height:44px;min-height:44px;padding:10px}.mobile-shell .modal-header{min-height:48px;padding:2px 8px 2px 14px}.mobile-shell .modal-header h2{font-size:16px;line-height:1.3}.mobile-shell .modal-header .icon-button{isolation:isolate;background:0 0;border:0;border-radius:50%;position:relative}.mobile-shell .modal-header .icon-button:before{content:"";z-index:-1;background:var(--surface);border-radius:50%;position:absolute;inset:8px}.mobile-shell .modal-header .icon-button svg{width:16px;height:16px}.mobile-shell .modal-body{padding:12px}.mobile-shell .button{border-radius:var(--radius-control);padding:9px 14px;font-size:13px}.mobile-shell .text-button{min-height:44px}.mobile-shell .course-create-bar small,.mobile-shell .modal:is(.course-editor-dialog,.course-picker-dialog) .modal-header p,.mobile-shell .page-footer,.mobile-shell .template-picker-note{display:none}.mobile-shell.mobile-landscape.ride-active{grid-template-rows:44px minmax(0,1fr) 0}.mobile-shell.mobile-landscape.ride-active .main-content{min-height:0;padding:6px 12px;overflow:hidden}.mobile-landscape .mobile-ride-cockpit{grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:14px;min-height:0}.mobile-landscape .mobile-ride-instruments{min-height:0}.mobile-landscape .mobile-ride .ride-readings{flex:1;min-height:0}.mobile-landscape .mobile-ride .ride-reading.power .ride-reading-value{font-size:clamp(48px,15vh,68px)}.mobile-landscape .mobile-ride .ride-reading-value{font-size:clamp(28px,9vh,38px)}.mobile-landscape .mobile-ride .ride-reading-note{color:var(--muted);margin-top:3px;font-size:10px;line-height:1.25;display:block}.mobile-landscape .mobile-ride .ride-reading-label{font-size:11px}.mobile-landscape .mobile-ride .ride-reading-stats{font-size:10px}.mobile-landscape .mobile-ride .ride-reading-stats b{font-size:12px}.mobile-landscape .mobile-ride-aux{flex-shrink:0;min-height:37px;padding:4px 0 0}.mobile-landscape .mobile-ride-views{flex-shrink:0;grid-template-columns:1fr 1fr auto;gap:4px}.mobile-landscape .mobile-ride-views button{justify-content:center;gap:6px;min-height:44px;padding:0 6px;font-size:12px}.mobile-landscape .mobile-ride-command{grid-template-rows:64px minmax(0,1fr) auto 48px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px 8px;min-height:0;display:grid}.mobile-landscape .mobile-ride-command>.session-state-row{grid-area:1/1;gap:2px}.mobile-landscape .session-state-row .session-status{white-space:nowrap;font-size:11px}.mobile-landscape .session-erg{min-width:44px;padding:0 6px;font-size:11px}.mobile-landscape .session-state-row:has(.session-reconnect)>:not(.session-reconnect){display:none}.mobile-landscape .session-reconnect{min-height:44px;padding:0 4px;font-size:12px}.mobile-landscape .mobile-ride-command>.session-target{flex-direction:column;grid-area:1/2;justify-content:center;align-items:stretch;gap:0;padding:3px 10px;display:flex}.mobile-landscape .session-target>div{flex-direction:column;display:flex}.mobile-landscape .session-target>div>span{font-size:10px;line-height:12px}.mobile-landscape .session-target strong{letter-spacing:-.6px;font-size:32px;line-height:32px}.mobile-landscape .session-target strong small{font-size:11px}.mobile-landscape .session-target-delta{font-size:10px;line-height:13px}.mobile-landscape .mobile-ride-command>.session-free,.mobile-landscape .mobile-ride-command>.session-progress{border-radius:var(--radius-card);background:var(--panel);flex-direction:column;grid-area:2/1/auto/-1;justify-content:center;min-height:0;padding:10px 12px;display:flex;overflow:hidden}.mobile-landscape .session-stage-head h2{font-size:15px}.mobile-landscape .session-stage-head span{font-size:10px}.mobile-landscape .session-countdown strong{font-size:clamp(26px,8vh,34px)}.mobile-landscape .session-progress .workout-bars{flex-shrink:1;height:34px;min-height:14px;margin:8px 0}.mobile-landscape .session-next{gap:4px;font-size:11px;line-height:1.2}.mobile-landscape .mobile-ride-command>.session-load-note{border:0;grid-area:3/1/auto/-1;min-height:0;font-size:10px}.mobile-landscape .session-load-note button{min-height:44px;font-size:11px}.mobile-landscape .mobile-ride-command>.session-controls{grid-area:4/1/auto/-1;align-self:end}.mobile-landscape .session-controls{gap:10px;padding:0}.mobile-landscape .session-time{min-width:62px}.mobile-landscape .session-time>span{font-size:10px}.mobile-landscape .session-time strong{margin-top:3px;font-size:25px}.mobile-landscape .session-controls button{background:var(--surface);border:1px solid var(--line);min-width:66px;min-height:44px;padding:0 9px;font-size:12px}.mobile-landscape .session-controls button:before{display:none}.mobile-landscape .session-controls button>span{display:inline}.mobile-landscape .session-controls .session-pause{background:var(--accent);border-color:#0000}.mobile-shell .ride-inspection[open]{width:min(960px,calc(100vw - var(--mobile-safe-left) - var(--mobile-safe-right) - 24px));height:min(560px,calc(var(--mobile-viewport-height) - var(--mobile-safe-top) - var(--mobile-safe-bottom) - 24px));flex-direction:column;display:flex}.mobile-shell .ride-inspection .modal-body{flex:1;min-height:0;overflow:hidden}.mobile-shell .ride-inspection .ride-analysis-layout{height:100%;min-height:0}.mobile-shell .ride-scene-dialog .road-motion{height:100%;min-height:0;margin:0}.inspection-controls{border-top:1px solid var(--line);flex-shrink:0;align-items:center;gap:16px;padding:8px 12px;display:flex}.inspection-readings{min-width:0;color:var(--muted);flex:1;justify-content:space-between;align-items:center;gap:10px;font-size:11px;display:flex}.inspection-readings>span{white-space:nowrap}.inspection-readings strong{color:var(--foreground);font-size:20px;font-weight:500}.inspection-readings small{color:var(--muted);font-size:10px}.inspection-controls .session-controls{flex:0 0 260px}.mobile-landscape .mobile-summary-actions{gap:8px}.mobile-landscape .mobile-summary-actions .button{min-width:0;padding-inline:12px}.mobile-landscape .mobile-summary-duration{margin-top:12px}.mobile-landscape .mobile-summary-duration strong{font-size:34px}.mobile-landscape .mobile-summary-overview h1{font-size:19px}.mobile-landscape .session-completion{gap:5px;margin-top:6px;font-size:12px}.mobile-landscape .session-completion small{font-size:10px}.mobile-shell .end-ride-dialog .modal-body,.mobile-shell .ftp-setup-dialog .modal-body,.mobile-shell .ride-adjust-dialog .modal-body{padding:14px;overflow:auto}.mobile-shell .ride-adjust-dialog{width:min(460px,100vw - 24px);height:auto}.mobile-shell .end-ride-dialog,.mobile-shell .ftp-setup-dialog{height:auto}@media (max-width:680px) and (orientation:landscape){.mobile-landscape .mobile-ride-cockpit{gap:10px}.mobile-landscape .mobile-ride-command{grid-template-rows:62px minmax(0,1fr) auto 46px;gap:4px 6px}.mobile-landscape .mobile-ride-command>.session-progress{padding:8px}.mobile-landscape .session-next{font-size:10px}.mobile-landscape .session-controls{gap:8px}.mobile-landscape .session-controls button{gap:5px;min-width:60px;padding-inline:7px}.mobile-landscape .session-time strong{font-size:23px}.mobile-landscape .mobile-ride-views button{gap:4px;padding-inline:3px;font-size:11px}.mobile-landscape .mobile-ride-views .session-adjust span{display:none}.inspection-controls{flex-direction:column;align-items:stretch;gap:4px;padding-block:5px}.inspection-controls .session-controls{flex:none}.inspection-readings{min-height:26px}}@media (max-height:360px) and (orientation:landscape){.mobile-landscape .session-progress .workout-bars{height:24px;margin:5px 0}.mobile-landscape .mobile-ride .ride-reading.power .ride-reading-value{font-size:48px}.mobile-landscape .mobile-ride .ride-reading-value{font-size:28px}.mobile-landscape .mobile-ride-command:has(.session-load-note) .session-progress .workout-bars,.mobile-landscape .mobile-ride-command:has(.session-load-note) .session-stage-head span{display:none}.mobile-landscape .mobile-summary-metrics>div{padding:7px 8px}.mobile-landscape .mobile-summary-metrics dd{margin-top:5px;font-size:20px}}.mobile-ride--portrait .mobile-ride-cockpit{display:block}.mobile-ride--portrait .session-target{margin-top:12px}.mobile-ride--portrait .session-controls{z-index:30;padding:10px 16px max(10px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--background);position:fixed;bottom:0;left:0;right:0}.mobile-ride--portrait .mobile-ride-views{grid-template-columns:1fr 1fr auto}.mobile-ride--portrait .session-progress{padding:16px 0}@media (max-width:420px){.mobile-shell .inspection-controls{flex-direction:column;align-items:stretch;gap:5px}.mobile-shell .inspection-controls .session-controls{border:0;flex:none;padding:0;position:static}.mobile-shell .ride-inspection .ride-analysis-layout{overflow:auto}.mobile-shell .ride-inspection .ride-analysis-chart,.mobile-shell .ride-inspection .ride-analysis-metrics{overflow:visible}.mobile-shell .mobile-summary-actions{grid-template-columns:1fr 1fr;display:grid}.mobile-shell .mobile-summary-actions>.button:last-child{grid-column:1/-1}}@media (hover:none){.mobile-shell .button:hover{transform:none}.mobile-shell .icon-button:hover{background:0 0}}.editor-step-quick-actions,.editor-step-toggle{display:none}.editor-last-step-note{color:var(--muted);margin:4px 0 8px;font-size:11px}.mobile-landscape .editor-last-step-note{margin:0;padding:0 12px 6px}.device-connect-row.has-fixed-source{grid-template-columns:minmax(0,1fr)}.device-connect-row .device-source-fixed{display:none}.device-capability-note{background:var(--surface);color:var(--soft);border-radius:9px;margin-bottom:8px;padding:10px 12px}.device-capability-note strong{font-size:13px;font-weight:500}.device-capability-note p{color:var(--muted);margin:6px 0 0;font-size:12px;line-height:1.5}.mobile-shell .editor-step-toggle{width:100%;min-width:0;min-height:44px;color:var(--muted);text-align:left;align-items:center;gap:8px;padding:4px 0;display:flex}.mobile-shell .editor-step-toggle>span{flex:0 0 18px;font-size:10px}.mobile-shell .editor-step-toggle strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--soft);flex:1;font-size:13px;font-weight:500;overflow:hidden}.mobile-shell .editor-step-toggle small{white-space:nowrap;font-size:11px}.mobile-shell .editor-step:not(.is-expanded){align-items:center;gap:0;padding:0;display:flex}.mobile-shell .editor-step:not(.is-expanded)>:not(.editor-step-toggle):not(.editor-step-quick-actions){display:none}.mobile-shell .editor-step-quick-actions{flex:0 0 88px;justify-content:flex-end;display:flex}.mobile-shell .editor-step-quick-actions .icon-button{flex:0 0 44px;width:44px;height:44px}.mobile-shell .editor-step-actions .editor-step-desktop-action{display:none}.mobile-shell .editor-step.is-expanded{grid-template-columns:22px minmax(0,1fr) minmax(88px,auto);padding-top:0}.mobile-shell .editor-step.is-expanded>.editor-step-toggle{grid-area:1/1/auto/3}.mobile-shell .editor-step.is-expanded>.editor-step-quick-actions{grid-area:1/3;justify-self:end}.mobile-shell .editor-step.is-expanded>.editor-step-index{display:none}.mobile-shell .editor-step.is-expanded .editor-step-name-field{grid-area:2/1/auto/3}.mobile-shell .editor-step.is-expanded .editor-step-duration-field{grid-area:2/3}.mobile-shell .editor-step.is-expanded .editor-intensity{grid-area:3/1/auto/-1}.mobile-shell .editor-step.is-expanded .editor-step-actions{grid-area:4/1/auto/-1}.mobile-shell .editor-step-actions{justify-content:flex-end;gap:0}.mobile-portrait .course-editor-dialog .modal-body{flex:1;padding:0;display:flex;overflow:hidden}.mobile-portrait .course-editor{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.mobile-portrait .editor-layout{overscroll-behavior:contain;flex:1;min-height:0;padding:16px;overflow-y:auto}.mobile-portrait .course-editor .inline-error{flex-shrink:0;margin:0;padding:4px 16px}.mobile-portrait .course-editor .editor-actions{flex-direction:row;flex-shrink:0;align-items:center;gap:6px;margin:0;padding:8px 12px;position:static}.mobile-portrait .editor-actions>div{flex:1;justify-content:flex-end;gap:6px;width:auto}.mobile-portrait .editor-actions>div .button{flex:0 auto;min-width:0;padding-inline:10px}.mobile-portrait .editor-actions>.text-button{white-space:nowrap;align-self:center;font-size:12px}.mobile-shell .editor-zones{gap:2px}.mobile-shell .editor-zones button{background:0 0;border:1px solid #ffffff14;border-radius:6px}.mobile-shell .editor-zones button[aria-pressed=true]{background:var(--zone-tint);border-color:var(--zone-color);color:var(--zone-color)}.mobile-shell .editor-overview{padding:10px}.mobile-shell .editor-power-note,.mobile-shell .template-card-copy{display:none}.mobile-shell .template-card{padding:12px}.mobile-shell .course-create-bar{padding-block:8px}.mobile-shell .course-create-bar strong{font-size:13px}.mobile-shell .mobile-summary-record{font-size:12px}.mobile-shell .record-extra-metrics>span:nth-child(2){display:none}.mobile-shell .history-summary{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-height:700px) and (min-width:960px){.desktop-shell.home-page .main-content{padding-top:14px}.desktop-shell .desktop-lobby{height:calc(100dvh - 108px);min-height:0}.desktop-shell .lobby-scene{min-height:120px}.desktop-shell .lobby-heading{padding-bottom:8px}.desktop-shell .lobby-profile{padding-block:10px}}.record-technical-details{color:var(--muted);font-size:11px}.record-technical-details>summary{cursor:pointer;align-items:center;min-height:44px;display:flex}.record-technical-details p{margin:0 0 10px;font-size:11px;line-height:1.5}.session-load-note b{font-weight:500}@media (min-width:960px) and (max-height:760px){.session-desktop .ride-chart{margin-top:8px}.session-desktop .ride-trends-footer{padding-bottom:0}.session-desktop .ride-extra-statistics>summary{min-height:36px}}.mobile-shell .modal:is(.end-ride-dialog,.ftp-setup-dialog,.ride-adjust-dialog){width:min(440px,calc(100vw - var(--mobile-safe-left) - var(--mobile-safe-right) - 24px));height:auto}.mobile-shell .intensity-adjuster{justify-content:space-between;align-items:center;gap:12px;display:flex}.mobile-shell .intensity-adjuster>div{gap:12px;padding:0}.mobile-shell .intensity-adjuster button{width:44px;min-width:44px}.mobile-shell .intensity-adjuster output{text-align:center;min-width:72px;font-size:32px}.mobile-shell .session-adjust-actions{margin-top:8px;padding-bottom:8px}.mobile-shell .ride-adjust-dialog .modal-body{padding-block:10px}.mobile-shell .ride-adjust-dialog .session-display-setting,.mobile-shell .ride-adjust-dialog .session-sound-setting{min-height:46px}.mobile-shell .inspection-controls .session-controls{border:0;padding:0;position:static;bottom:auto;left:auto;right:auto}.session-adjust{min-width:44px}.mobile-shell .ride-scene-dialog .modal-body{padding-block:4px}html[data-input-modality=keyboard] .mobile-shell :is(button,a,summary,input,select,[tabindex]):focus{outline:2px solid var(--accent);outline-offset:-2px}.inspection-readings>span{align-items:baseline;gap:3px;display:inline-flex}.inspection-readings>span>svg{flex-shrink:0;align-self:center}@media (max-width:420px){.inspection-readings{flex-wrap:wrap;row-gap:3px}}.device-capability-note{grid-column:1/-1}.mobile-landscape .ride-inspection .metric-tabs,.mobile-landscape .ride-inspection .range-tabs{flex:1}.mobile-landscape .ride-inspection .metric-tabs button>span{display:none}.mobile-landscape .ride-inspection .data-chart.is-fitted .chart-toolbar{flex-direction:row;gap:6px}.mobile-summary-actions>.session-load-note{border:0;gap:8px;min-height:44px;margin-right:auto}.mobile-summary-actions>.session-load-note span{white-space:nowrap}.mobile-shell .mobile-summary-actions>.session-load-note--compact button{border:1px solid var(--line);border-radius:var(--radius-control);white-space:nowrap;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:0 10px;display:inline-flex}.mobile-shell .mobile-summary-actions>.session-load-note--compact small{color:var(--muted);font-size:10px}.mobile-portrait .mobile-summary-actions>.session-load-note{grid-column:1/-1;margin-right:0}@media (min-width:360px){.mobile-portrait .mobile-summary-actions:has(.session-load-note--compact){grid-template-columns:minmax(0,1.25fr) repeat(2,minmax(0,1fr))}.mobile-portrait .mobile-summary-actions:has(.session-load-note--compact) .button{white-space:nowrap;gap:5px;padding-inline:6px}.mobile-portrait .mobile-summary-actions>.session-load-note--compact{grid-column:auto;min-width:0}.mobile-portrait .mobile-summary-actions>.session-load-note--compact button{width:100%}}.mobile-portrait .mobile-ride-summary{padding-bottom:calc(140px + var(--mobile-safe-bottom))}.mobile-portrait .mobile-ride-summary:has(.session-load-note){padding-bottom:calc(190px + var(--mobile-safe-bottom))}.mobile-shell.home-page{--lobby-accent:var(--accent);--lobby-soft:var(--muted);--lobby-gutter:var(--mobile-page-gutter);--lobby-left:calc(var(--mobile-safe-left) + var(--lobby-gutter));--lobby-right:calc(var(--mobile-safe-right) + var(--lobby-gutter));--lobby-menu-height:260px;height:var(--mobile-viewport-height);background:var(--background);min-height:0;padding:0;display:block;overflow:hidden}.app-shell.mobile-shell.home-page .main-content{width:100%;max-width:none;height:100%;min-height:0;margin:0;display:block;position:relative;overflow:visible}.mobile-shell.home-page .game-lobby{width:100%;height:100%;min-height:0;color:var(--foreground);padding:0;display:block;position:relative}.game-lobby-atmosphere,.game-lobby-backdrop{pointer-events:none;position:absolute;inset:0}.game-lobby-backdrop{background:radial-gradient(at 30% 45%,#141822,#08090b 60%);overflow:hidden}.game-lobby-spotlight{filter:blur(12px);background:radial-gradient(at 48% 25%,#a3badb28,#718aaf17 32%,#718aaf00 65%);width:44%;height:132%;position:absolute;top:-42%;left:8%;transform:rotate(-18deg)}.game-lobby-floor{background:radial-gradient(at 47% 35%,#cca99024,#6574912b 25%,#10121900 65%);position:absolute;inset:72% 12% -14% -18%;transform:rotate(-3deg);-webkit-mask-image:linear-gradient(#0000,#000 40% 75%,#0000);mask-image:linear-gradient(#0000,#000 40% 75%,#0000)}.game-lobby-floor:before{content:"";opacity:.1;background:repeating-linear-gradient(0deg,#0000 0 12px,#b6c5e844 13px,#0000 14px 30px);position:absolute;inset:0;-webkit-mask-image:radial-gradient(#000,#0000 67%);mask-image:radial-gradient(#000,#0000 67%)}.game-lobby-atmosphere{background:linear-gradient(90deg,#0000 25%,#08090b00 45%,#08090b9c 68%,#08090b44),linear-gradient(#0000 85%,#08090b70)}.game-lobby .game-current-plan-heading svg>path[stroke=\#3f83ff]{stroke:currentColor}.game-lobby-intro{z-index:1;top:30%;left:var(--lobby-left);pointer-events:none;position:absolute}.game-lobby-intro h1{letter-spacing:-.5px;margin:0;font-size:clamp(22px,3.4vw,36px);font-weight:650;line-height:1.5}.mobile-shell.home-page .game-lobby .mobile-lobby-world{pointer-events:none;min-width:0;min-height:0;display:block;position:absolute;inset:0;overflow:hidden}.mobile-shell.home-page .game-lobby .mobile-lobby-scene{top:calc(var(--mobile-safe-top) + 52px);bottom:calc(var(--mobile-safe-bottom) + 14px);left:calc(var(--mobile-safe-left) + (100% - var(--mobile-safe-left) - var(--mobile-safe-right)) * .11);right:calc(var(--lobby-right) + (100% - var(--mobile-safe-left) - var(--mobile-safe-right)) * .44 + 8px);background:0 0;border:0;border-radius:0;width:auto;height:auto;min-height:0;position:absolute;overflow:visible}.mobile-shell.home-page .game-lobby .road-motion{isolation:auto;background:0 0;height:100%;position:static}.mobile-shell.home-page .game-lobby .road-motion-three{background:0 0}.mobile-shell.home-page .game-lobby .road-motion-controls{left:var(--lobby-left);bottom:calc(var(--mobile-safe-bottom) + 14px);pointer-events:auto;background:0 0;border:0;border-radius:30px;justify-content:center;align-self:center;gap:0;min-height:44px;padding:0;position:fixed}.mobile-shell.home-page .game-lobby .road-motion-gender{background:0 0;gap:0}.mobile-shell.home-page .game-lobby :is(.road-motion-gender button,.road-motion-toggle){isolation:isolate;width:44px;min-width:44px;height:44px;min-height:44px;color:var(--lobby-soft);background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.mobile-shell.home-page .game-lobby .road-motion-gender button:before{content:"";z-index:-1;background:0 0;border-radius:50%;position:absolute;inset:7px}.mobile-shell.home-page .game-lobby .road-motion-gender button[aria-pressed=true]{color:var(--lobby-accent)}.mobile-shell.home-page .game-lobby .road-motion-gender button[aria-pressed=true]:before{background:#ffffff15}.mobile-shell.home-page .game-lobby .road-motion-gender svg{width:18px;height:18px}.mobile-shell.home-page .game-lobby .road-motion-toggle>span{display:none}.mobile-shell.home-page .game-lobby .road-motion-model-state{color:var(--lobby-soft);bottom:4px;left:50%;transform:translate(-50%)}.mobile-shell.home-page .game-lobby .road-motion-model-state i{background:var(--lobby-accent)}.mobile-shell.home-page .game-lobby .road-motion-three-wrap[data-model-state=loading] .road-motion-three,.mobile-shell.home-page .game-lobby .road-motion-three-wrap[data-model-state=switching] .road-motion-poster{visibility:hidden}.mobile-shell.home-page .game-lobby .mobile-planner{top:calc(var(--mobile-safe-top) + 8px);bottom:calc(var(--mobile-safe-bottom) + 24px);right:var(--lobby-right);width:calc((100% - var(--mobile-safe-left) - var(--mobile-safe-right)) * .44);flex-direction:column;justify-content:space-between;min-width:0;max-width:490px;min-height:0;padding:0;display:flex;position:absolute}.game-lobby-menu{pointer-events:none}.game-lobby-training-content{pointer-events:auto;flex-direction:column;gap:8px;margin-top:16px;display:flex}.game-current-plan{border:1px solid var(--line);border-radius:var(--radius-card);background:linear-gradient(125deg,#ffffff04,#fff0);padding:14px 16px 2px}.game-current-plan-heading{align-items:center;gap:13px;min-height:47px;display:flex}.game-current-plan-heading>svg{flex-shrink:0;width:29px;height:29px}.game-current-plan-heading>div{min-width:0}.game-current-plan-heading h2{text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.3px;margin:0;font-size:clamp(18px,2.8vw,25px);font-weight:600;line-height:1.4;overflow:hidden}.game-current-plan-heading p{color:var(--lobby-soft);margin:3px 0 0;font-size:12px;line-height:1.4}.mobile-home-options{justify-content:space-between;align-items:center;gap:8px;min-height:44px;margin-left:42px;display:flex}.mobile-home-options>a{color:#d7d8dc;align-items:center;gap:6px;min-height:44px;font-size:11px;display:inline-flex}.mobile-home-options>a>span{padding:3px 0}.mobile-home-options .mobile-erg{min-height:44px;color:var(--lobby-soft);flex-direction:row-reverse;gap:6px;padding:0;font-size:10px}.mobile-home-options .mobile-erg input:checked{background:var(--lobby-accent)}.mobile-shell.home-page .game-lobby .mobile-plan-options{background:0 0;border-radius:0;flex:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;height:auto;min-height:0;margin:0;padding:0;display:grid;overflow:visible}.mobile-shell.home-page .game-lobby .mobile-plan-select{border:1px solid var(--line);border-radius:var(--radius-control);text-align:left;color:#c8c9cd;background:#ffffff02;justify-content:center;align-items:center;gap:7px;width:100%;min-width:0;min-height:59px;padding:8px 6px;display:flex}.mobile-shell.home-page .game-lobby .mobile-plan-select.is-selected{color:#f5f5f6;background:linear-gradient(145deg,#ffffff0e,#ffffff03);border-color:#e6e6e9bb;box-shadow:inset 0 0 0 .2px #e6e6e9}.mobile-shell.home-page .game-lobby .mobile-plan-select:before{display:none}.mobile-shell.home-page .game-lobby .mobile-plan-select>svg{width:17px;height:17px;color:inherit;flex-shrink:0;margin:0}.game-plan-copy{flex-direction:column;gap:4px;min-width:0;display:flex}.game-plan-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:550;line-height:1.2;display:block;overflow:hidden}.game-plan-copy small{color:var(--lobby-soft);white-space:nowrap;font-size:9px}.mobile-shell.home-page .game-lobby .mobile-departure{background:0 0;border:0;margin-top:10px;padding:0;display:block;position:static}.mobile-shell.home-page .game-lobby .mobile-start{border-radius:var(--radius-action);background:var(--mobile-action-background);width:100%;min-height:52px;color:var(--mobile-on-action);border:0;justify-content:center;align-items:center;gap:10px;margin:0;padding:0 17px;font-size:16px;font-weight:650;display:flex;box-shadow:0 8px 28px #0003}.mobile-shell.home-page .game-lobby .mobile-start:before{display:none}.mobile-shell.home-page .game-lobby .mobile-start>span{text-align:center;flex:1}.mobile-shell.home-page .game-lobby .mobile-start>svg{flex-shrink:0;margin:0;display:block}.mobile-shell.home-page .game-lobby :is(button,a):focus-visible{outline-color:var(--lobby-accent)}@media (orientation:landscape) and (max-width:680px){.game-lobby-intro h1{font-size:21px}.mobile-shell.home-page .game-lobby .mobile-lobby-scene{left:calc(var(--mobile-safe-left) + (100% - var(--mobile-safe-left) - var(--mobile-safe-right)) * .09);right:calc(var(--lobby-right) + (100% - var(--mobile-safe-left) - var(--mobile-safe-right)) * .46 + 8px);bottom:calc(var(--mobile-safe-bottom) + 40px)}.mobile-shell.home-page .game-lobby .mobile-planner{width:calc((100% - var(--mobile-safe-left) - var(--mobile-safe-right)) * .46)}.game-current-plan{padding-inline:12px}.mobile-shell.home-page .game-lobby .mobile-plan-select>svg{display:none}.game-plan-copy strong{font-size:11px}}@media (orientation:landscape) and (max-height:370px){.mobile-shell.home-page .game-lobby .mobile-planner{bottom:calc(var(--mobile-safe-bottom) + 16px)}.game-lobby-training-content{gap:6px;margin-top:10px}.game-current-plan{padding-top:10px}.game-current-plan-heading{min-height:42px}.mobile-shell.home-page .game-lobby .mobile-departure{margin-top:8px}.mobile-shell.home-page .game-lobby .mobile-start{min-height:48px}}@media (orientation:portrait){.mobile-shell.home-page{--lobby-menu-height:270px}.game-lobby-spotlight{width:88%;height:105%;left:12%}.game-lobby-floor{top:calc(100% - var(--lobby-menu-height) - var(--mobile-safe-bottom) - 140px);bottom:calc(var(--lobby-menu-height) + var(--mobile-safe-bottom) - 15px);right:-20%}.game-lobby-atmosphere{background:linear-gradient(#08090b00 38%,#08090b 72%)}.game-lobby-intro{top:calc(var(--mobile-safe-top) + 90px)}.game-lobby-intro h1{font-size:25px}.mobile-shell.home-page .game-lobby .mobile-lobby-scene{top:calc(var(--mobile-safe-top) + 104px);bottom:calc(var(--lobby-menu-height) + var(--mobile-safe-bottom) + 50px);width:78%;left:19%;right:auto}.mobile-shell.home-page .game-lobby .road-motion-controls{left:var(--lobby-left);bottom:calc(var(--lobby-menu-height) + var(--mobile-safe-bottom) + 22px)}.mobile-shell.home-page .game-lobby .mobile-planner{inset:calc(var(--mobile-safe-top) + 8px) var(--lobby-right) calc(var(--mobile-safe-bottom) + 24px) var(--lobby-left);width:auto;max-width:none}.game-lobby-training-content{gap:9px}.game-current-plan{padding:18px 20px 4px}.game-current-plan-heading h2{font-size:24px}.game-current-plan-heading p{font-size:13px}.game-current-plan-heading>svg{width:32px;height:32px}.mobile-home-options{margin-left:45px}.mobile-home-options>a{font-size:12px}.mobile-shell.home-page .game-lobby .mobile-plan-select{min-height:64px}.game-plan-copy strong{font-size:12px}.game-plan-copy small{font-size:10px}.mobile-shell.home-page .game-lobby .mobile-start{min-height:54px;font-size:17px}}@media (orientation:portrait) and (max-height:680px){.mobile-shell.home-page{--lobby-menu-height:248px}.game-lobby-intro{top:calc(var(--mobile-safe-top) + 68px)}.game-lobby-intro h1{font-size:20px}.mobile-shell.home-page .game-lobby .mobile-lobby-scene{top:calc(var(--mobile-safe-top) + 60px);bottom:calc(var(--lobby-menu-height) + var(--mobile-safe-bottom) + 35px);width:70%;left:26%}.mobile-shell.home-page .game-lobby .road-motion-controls{bottom:calc(var(--lobby-menu-height) + var(--mobile-safe-bottom) + 15px)}.mobile-shell.home-page .game-lobby .mobile-planner{bottom:calc(var(--mobile-safe-bottom) + 16px)}.game-lobby-training-content{gap:7px}.game-current-plan{padding:12px 16px 2px}.game-current-plan-heading h2{font-size:20px}.mobile-shell.home-page .game-lobby .mobile-start{min-height:48px;font-size:15px}.mobile-shell.home-page .game-lobby .mobile-plan-select{min-height:56px}.mobile-shell.home-page .game-lobby .mobile-plan-select>svg{width:14px;height:14px}.game-plan-copy strong{font-size:11px}}.mobile-shell.home-page .site-icp{z-index:20;bottom:var(--mobile-safe-bottom);justify-content:center;min-height:44px;display:flex;position:fixed}@media (orientation:portrait){.mobile-shell.home-page.has-site-icp{--lobby-menu-height:290px}.mobile-shell.home-page.has-site-icp .game-lobby .mobile-planner{bottom:calc(var(--mobile-safe-bottom) + 44px)}.mobile-shell.home-page .site-icp{left:var(--mobile-safe-left);right:var(--mobile-safe-right)}}@media (orientation:portrait) and (max-height:680px){.mobile-shell.home-page.has-site-icp{--lobby-menu-height:276px}}@media (orientation:landscape){.mobile-shell.home-page .site-icp{left:calc(var(--lobby-left) + 136px);right:calc(var(--lobby-right) + (100% - var(--mobile-safe-left) - var(--mobile-safe-right)) * .46 + 4px);min-width:0}.mobile-shell.home-page .site-icp a{text-align:center;white-space:normal;word-break:break-all;min-width:0;max-width:100%;padding-inline:4px;font-size:10px}}.app-shell.mobile-shell{--background:#08090b;--background-raised:#0e1015;--panel:#111318;--surface:#202329;--surface-hover:#292c35;--foreground:#f4f4f5;--soft:#d4d5dc;--muted:#a4a6ae;--faint:#8b8e98;--line:#ffffff1c;--border:#ffffff14;--accent:#f4f4f5;--accent-strong:#fff;--accent-soft:#ffffff0e;--accent-border:#ffffff35;--radius-control:10px;--radius-card:16px;--radius-surface:20px;--radius-pill:999px;--radius-action:12px;--mobile-action-background:linear-gradient(130deg,#fafafa,#e9e9ee);--mobile-on-action:#141518;--mobile-page-gutter:clamp(16px,3vw,36px);--mobile-content-left:calc(var(--mobile-safe-left) + var(--mobile-page-gutter));--mobile-content-right:calc(var(--mobile-safe-right) + var(--mobile-page-gutter));--mobile-header-height:60px;height:var(--mobile-viewport-height);min-height:0;color:var(--foreground);flex-direction:column;display:flex;overflow:hidden}.app-shell.mobile-shell .main-content{width:100%;min-width:0;max-width:none;height:auto;min-height:0;padding:12px var(--mobile-content-right) calc(var(--mobile-safe-bottom) + 16px) var(--mobile-content-left);overscroll-behavior:contain;flex:1 1 0;margin:0;position:relative;overflow:auto}.app-shell.mobile-shell:not(.home-page) .main-content{padding-inline:var(--mobile-content-left) var(--mobile-content-right);padding-bottom:calc(var(--mobile-safe-bottom) + 16px)}.mobile-studio-header{z-index:40;min-height:calc(var(--mobile-safe-top) + var(--mobile-header-height));padding:var(--mobile-safe-top) var(--mobile-content-right) 0 var(--mobile-content-left);background:var(--background);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;display:flex;position:relative}.mobile-studio-brand{min-height:44px;color:var(--foreground);letter-spacing:1px;flex-shrink:0;align-items:center;gap:8px;font-size:17px;font-weight:650;display:inline-flex}.mobile-studio-brand>svg{width:29px;height:29px}.mobile-studio-brand svg>path[stroke=\#3f83ff]{stroke:currentColor}.mobile-studio-brand>span{gap:2px;line-height:1.2;display:grid}.mobile-studio-brand small{letter-spacing:3.3px;font-size:7px;font-weight:450}.mobile-studio-nav{min-height:44px;color:var(--muted);flex-shrink:0;align-items:center;gap:8px;margin-left:auto;display:flex}.mobile-studio-nav[hidden]{display:none}.mobile-studio-nav a{min-width:44px;min-height:44px;color:var(--muted);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;gap:6px;font-size:12px;font-weight:550;display:inline-flex;position:relative}.mobile-nav-pages{background:#ffffff04;border:1px solid #ffffff0b;border-radius:13px;grid-template-columns:repeat(2,minmax(78px,1fr));gap:2px;padding:2px;display:grid}.mobile-nav-pages a{white-space:nowrap;padding-inline:10px}.mobile-nav-pages a>span{text-overflow:ellipsis;min-width:0;max-width:100%;overflow:hidden}.mobile-nav-pages a[aria-current=page]{color:#fff;background:#282b32;box-shadow:inset 0 0 0 1px #ffffff10,0 1px 3px #0003}.mobile-studio-nav>a[aria-current=page]{color:var(--foreground);background:#ffffff0c}.mobile-studio-header .header-actions{border:0;gap:4px;margin:0;padding:0}.mobile-studio-header .device-pill{border-radius:var(--radius-control);width:auto;min-width:44px;min-height:44px;color:var(--soft);background:0 0;border:0;justify-content:center;align-items:center;gap:5px;padding:0;font-size:12px;display:inline-flex;position:relative}.mobile-studio-header .device-pill>span{white-space:nowrap;display:inline}.mobile-studio-header .device-pill .tiny-dot{display:none}.mobile-studio-live{margin-left:auto}.mobile-studio-live .header-actions{border:0;padding:0}.app-shell.mobile-shell.ride-active{--mobile-header-height:44px}.mobile-studio-header.is-riding .mobile-studio-brand small{display:none}.mobile-studio-header.is-riding .mobile-studio-brand{font-size:15px}.mobile-studio-header.is-riding .mobile-studio-brand>svg{width:25px;height:25px}.app-shell.mobile-shell .main-content>.page-header{flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;min-height:36px;margin:0 0 14px;padding:0;display:flex}.app-shell.mobile-shell .main-content>.page-header>div{min-width:0}.app-shell.mobile-shell .page-header .mobile-page-heading{align-items:center;gap:10px;display:flex}.mobile-studio-back{letter-spacing:0;gap:4px;min-width:88px;font-size:15px;font-weight:500}.mobile-studio-back>svg{width:20px;height:20px;transform:rotate(180deg)}.app-shell.mobile-shell .page-header h1{letter-spacing:-.4px;font-size:21px;font-weight:600;line-height:1.3}.app-shell.mobile-shell .mobile-page-heading h1{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.app-shell.mobile-shell .page-header p{display:none}.app-shell.mobile-shell .page-header .button{white-space:nowrap;flex:none}.app-shell.mobile-shell .button{border-radius:var(--radius-control)}.app-shell.mobile-shell .button.primary{border-radius:var(--radius-action);background:var(--mobile-action-background);color:var(--mobile-on-action);box-shadow:none;border:1px solid #0000}.app-shell.mobile-shell .button.secondary{border:1px solid var(--border);border-radius:var(--radius-action);color:var(--foreground);background:#ffffff09}.app-shell.mobile-shell .button:is(.primary,.secondary):hover{box-shadow:none;transform:none}.app-shell.mobile-shell .session-controls .session-toggle{border-radius:var(--radius-action);background:var(--mobile-action-background);color:var(--mobile-on-action)}.app-shell.mobile-shell .session-controls button{border-radius:var(--radius-control)}.app-shell.mobile-shell :is(.course-entry,.history-summary,.history-panel,.mobile-summary-metrics,.session-target,.session-progress,.session-free){border:1px solid var(--border);border-radius:var(--radius-card);background:var(--panel)}.app-shell.mobile-shell .history-panel{background:0 0;border:0;border-radius:0;padding:0}.app-shell.mobile-shell .history-panel .panel-heading{background:var(--background);min-height:44px;padding:0 2px}.app-shell.mobile-shell .history-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:4px}.app-shell.mobile-shell .history-summary article{border:0;min-width:0;padding:12px 10px}.app-shell.mobile-shell .history-summary article>span{color:var(--muted);font-size:10px}.app-shell.mobile-shell .history-summary strong{font-variant-numeric:tabular-nums;flex-flow:wrap;align-items:baseline;gap:4px;margin-top:6px;font-size:23px;font-weight:550;line-height:1.2;display:flex}.app-shell.mobile-shell .history-summary small{margin:0;font-size:10px}.app-shell.mobile-shell .history-summary{align-self:start;margin:0 0 16px}.app-shell.mobile-shell .record-row{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--panel);flex:none;grid-template-columns:28px minmax(0,1fr) minmax(0,1fr) 12px;align-items:center;gap:10px;min-height:88px;margin-bottom:8px;padding:14px 12px;display:grid}.app-shell.mobile-shell .record-row:last-child{border-bottom:1px solid var(--border)}.app-shell.mobile-shell .record-icon{width:28px;color:var(--faint);grid-area:1/1/3}.app-shell.mobile-shell .record-name{grid-column:2/4;justify-content:space-between;align-items:baseline;gap:10px;display:flex}.app-shell.mobile-shell .record-name strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;overflow:hidden}.app-shell.mobile-shell .record-name small{flex-shrink:0;margin:0;font-size:10px}.app-shell.mobile-shell .record-extra-metrics{display:none}.app-shell.mobile-shell :is(.record-duration,.record-watts){white-space:nowrap;font-variant-numeric:tabular-nums;min-width:0;font-size:19px;display:block}.app-shell.mobile-shell .record-duration{grid-column:2}.app-shell.mobile-shell .record-watts{grid-column:3}.app-shell.mobile-shell :is(.record-duration,.record-watts) small{margin:0 0 0 5px;font-size:10px;display:inline}.app-shell.mobile-shell .record-row>svg{grid-area:1/4/3}.app-shell.mobile-shell .settings-panel{background:0 0;border:0;padding:0}.app-shell.mobile-shell .settings-panel .panel-heading{padding:4px 0 10px}.app-shell.mobile-shell .settings-save-status{color:var(--muted);flex-shrink:0;font-size:11px}.app-shell.mobile-shell .settings-panel :is(form,.connection-preferences-group){border:1px solid var(--border);border-radius:var(--radius-card);background:var(--panel);overflow:hidden}.app-shell.mobile-shell .connection-preferences-group>.switch-row{min-height:64px;margin:0;padding:8px 12px}.app-shell.mobile-shell .connection-preferences-group>.button.secondary{border:0;border-top:1px solid var(--line);background:0 0;border-radius:0;justify-content:space-between;width:100%;min-height:44px;padding-inline:12px}.app-shell.mobile-shell .setting-field{padding:10px 12px}.app-shell.mobile-shell .setting-field+.setting-field{border-top:1px solid var(--line)}.app-shell.mobile-shell .switch-row input{border-radius:999px}.app-shell.mobile-shell :is(.modal,.device-popover){border-color:var(--line);border-radius:var(--radius-surface);background:var(--panel)}.app-shell.mobile-shell :is(.modal-header,.device-popover-header){background:var(--panel)}.app-shell.mobile-shell :is(.ride-readings,.template-card,.editor-preview,.device-row,.ride-result){border-radius:var(--radius-card)}.app-shell.mobile-shell .device-row h3{font-size:13px}.app-shell.mobile-shell .device-row-title>span{color:var(--muted);font-size:11px}.app-shell.mobile-shell .device-row-title>span.connected{color:var(--foreground)}.app-shell.mobile-shell .device-current{font-size:12px}.app-shell.mobile-shell .device-connected-actions .forget-button{color:var(--muted);align-items:center}.app-shell.mobile-shell .device-connected-actions .text-button{color:var(--foreground)}.app-shell.mobile-shell.home-page{background:radial-gradient(ellipse at 30% 45%,#141822,var(--background) 60%)}.app-shell.mobile-shell.home-page .mobile-studio-header{background:0 0}.app-shell.mobile-shell.home-page .main-content{padding:0;overflow:hidden}.mobile-shell.home-page .game-lobby-backdrop{background:0 0;top:0;-webkit-mask-image:linear-gradient(#0000,#000 18%);mask-image:linear-gradient(#0000,#000 18%)}.mobile-shell.home-page .game-lobby-intro{top:clamp(32px,14vh,70px)}.mobile-shell.home-page .game-lobby .mobile-lobby-scene{top:0}.mobile-shell.home-page .game-lobby .mobile-planner{justify-content:center;top:6px}.mobile-shell.home-page .game-lobby-training-content{margin-top:0}@media (orientation:landscape){.app-shell.mobile-shell .main-content{padding-top:6px}.app-shell.mobile-shell .main-content>.page-header{min-height:32px;margin-bottom:10px}.app-shell.mobile-shell .page-header h1{font-size:19px}.app-shell.mobile-shell.ride-active .main-content{padding:6px var(--mobile-content-right) calc(6px + var(--mobile-safe-bottom)) var(--mobile-content-left)}.app-shell.mobile-shell.home-page .main-content{padding:0}.app-shell.mobile-shell .settings-panel .panel-heading{padding-bottom:7px}.app-shell.mobile-shell .settings-panel .connection-preferences-group{overscroll-behavior:contain;flex:0 auto;min-height:44px;overflow:auto}.app-shell.mobile-shell .settings-support{flex-shrink:0;margin-top:4px}.app-shell.mobile-shell .history-summary{grid-template-columns:repeat(2,minmax(0,1fr));max-height:100%;margin:0}.app-shell.mobile-shell .history-summary article{border:0;padding:10px}.app-shell.mobile-shell .history-summary strong{font-size:21px}}@media (max-width:680px){.app-shell.mobile-shell :is(.record-duration,.record-watts) small{margin:3px 0 0;display:block}}@media (orientation:landscape) and (max-width:680px){.app-shell.mobile-shell .history-summary article{padding:8px}}@media (orientation:portrait){.mobile-studio-header{gap:8px}.mobile-studio-nav .device-pill>span{display:none}.mobile-studio-header .device-pill[data-connected=true] .tiny-dot{background:var(--accent);width:4px;height:4px;display:block;position:absolute;top:8px;right:8px}.mobile-shell.home-page .game-lobby-intro{top:30px}.mobile-shell.home-page .game-lobby .mobile-lobby-scene{top:44px}.mobile-shell.home-page .game-lobby .mobile-planner{justify-content:flex-end;top:6px}.app-shell.mobile-shell .device-popover{border-radius:var(--radius-surface) var(--radius-surface) 0 0}.app-shell.mobile-shell .device-popover-body .device-row{border-radius:0}.app-shell.mobile-shell .library-grid{gap:10px}.app-shell.mobile-shell .library-grid .course-entry{grid-template-columns:minmax(0,1fr) 86px;grid-template-areas:"meta meta""title chart""intensity chart";gap:8px 12px;padding:16px;display:grid}.app-shell.mobile-shell .library-grid .course-entry-heading{grid-area:meta;font-size:10px}.app-shell.mobile-shell .library-grid .course-entry-title{grid-area:title;margin:2px 0 0}.app-shell.mobile-shell .library-grid .course-entry-title>svg{display:none}.app-shell.mobile-shell .library-grid .course-entry h3{font-size:16px;font-weight:600}.app-shell.mobile-shell .library-grid .workout-bars{grid-area:chart;align-self:center;width:86px;height:44px;margin:0}.app-shell.mobile-shell .library-grid .course-intensity{flex-wrap:wrap;grid-area:intensity;justify-content:flex-start;gap:3px 8px;margin:0;padding:0;font-size:10px}}@media (max-width:360px) and (orientation:portrait){.mobile-studio-brand{gap:6px;font-size:15px}.mobile-studio-brand>svg{width:24px;height:24px}.mobile-studio-brand small{letter-spacing:2.7px;font-size:6px}.app-shell.mobile-shell .history-summary article{padding-inline:7px}.app-shell.mobile-shell .history-summary strong{font-size:21px}.app-shell.mobile-shell .record-name{flex-direction:column;gap:3px}.app-shell.mobile-shell .record-name strong{max-width:100%}.app-shell.mobile-shell .page-header h1{font-size:19px}.app-shell.mobile-shell .page-header .button{padding-inline:12px;font-size:12px}}@media (orientation:portrait) and (max-height:680px){.mobile-shell.home-page .game-lobby-intro{top:8px}.mobile-shell.home-page .game-lobby .mobile-lobby-scene{top:0}}@media (orientation:landscape) and (max-height:340px){.app-shell.mobile-shell .settings-panel .panel-heading{padding-block:0 5px}}@media (max-width:480px) and (orientation:portrait),(max-width:700px) and (orientation:landscape){.mobile-studio-nav{gap:4px}.mobile-nav-pages{grid-template-columns:repeat(2,44px)}.mobile-nav-pages a{flex-direction:column;gap:2px;padding:0;font-size:10px;line-height:12px}.mobile-studio-nav .device-pill>span{display:none}.mobile-studio-header .header-actions{gap:0}}@media (max-width:360px) and (orientation:portrait){.mobile-studio-brand>span{display:none}.mobile-studio-back{min-width:44px}}.mobile-language-trigger{width:44px;height:44px;color:var(--muted);background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;padding:0;display:inline-flex}.mobile-language-trigger[aria-expanded=true]{color:#fff;background:#282b32}.mobile-language-trigger:disabled{opacity:.45}.mobile-studio-header .mobile-language-fallback{background:0 0;border:0;justify-content:center;width:44px;min-width:44px;height:44px;padding:0;position:relative}.mobile-language-fallback select{opacity:0;width:100%;height:100%;position:absolute;inset:0}.mobile-language-menu{color:#f4f4f5;background:#17191f;border:1px solid #ffffff1c;border-radius:16px;margin:0;padding:6px;position:fixed;inset:auto;overflow:hidden;box-shadow:0 14px 45px #0009}.mobile-language-menu:popover-open{flex-direction:column;display:flex}.mobile-language-heading{color:#a4a6ae;flex-shrink:0;align-items:center;gap:8px;padding:8px 10px 10px;font-size:11px;display:flex}.mobile-language-options{overscroll-behavior:contain;scrollbar-width:thin;min-height:0;overflow:auto}.mobile-language-options button{color:#d4d5dc;text-align:left;width:100%;min-height:44px;font:inherit;background:0 0;border:0;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;font-size:14px;line-height:20px;display:flex}.mobile-language-options button[aria-checked=true]{color:#fff;background:#ffffff0b;font-weight:600}@media (hover:hover) and (pointer:fine){.mobile-language-options button:hover{background:#ffffff10}.mobile-nav-pages a:not([aria-current]):hover{color:var(--foreground);background:#ffffff06}}.modal.modal-dialog{height:fit-content}.modal-header>div:first-child{flex:1;min-width:0}.modal-header-actions{flex:none;align-items:center;gap:8px;display:flex}.modal-close{flex-shrink:0}.modal-close-icon{display:flex}.modal-back-icon{display:none}.modal-header-actions .text-button{white-space:nowrap;justify-content:center;align-items:center;gap:6px;min-width:64px;min-height:44px;display:inline-flex}.modal-header-actions .danger{color:#f0a5a5}.button.destructive{color:#fff;background:#b93f3f;border:1px solid #e9707040;min-height:44px}.button.destructive:hover:not(:disabled){background:#cb4a4a}.preview-actions,.preview-actions.solo{grid-template-columns:repeat(2,minmax(0,1fr))}.preview-actions.solo{grid-template-columns:minmax(0,1fr)}.desktop-shell .course-preview[open]{flex-direction:column;display:flex;overflow:hidden}.desktop-shell .course-preview .modal-header{flex-shrink:0}.desktop-shell .course-preview .modal-body{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.desktop-shell .course-preview-layout{flex:auto;grid-template-rows:minmax(0,max-content) minmax(141px,1fr);min-height:0;display:grid}.desktop-shell .course-preview-overview{min-height:0;overflow:auto}.desktop-shell .course-preview-details{flex-direction:column;min-height:0;display:flex}.desktop-shell .course-preview .step-list{flex:auto;min-height:48px;overflow:auto}.desktop-shell .course-preview .preview-actions{flex-shrink:0}@media (max-height:700px){.desktop-shell .course-preview .workout-bars.large{height:90px}.desktop-shell .course-preview .workout-chart-selection{padding-block:5px}.desktop-shell .course-preview .workout-zone-legend{margin-bottom:6px}.desktop-shell .course-preview .course-detail-summary{margin-top:10px}.desktop-shell .course-preview .course-detail-summary>div{gap:3px;padding-block:7px}}.feedback-notice{border:1px solid var(--line,#fff2);color:#f4f4f5;pointer-events:none;background:#262931;border-radius:12px;width:max-content;max-width:min(420px,100vw - 32px);max-height:min(200px,40dvh);margin:0 auto;padding:4px 4px 4px 14px;font-size:13px;line-height:1.5;position:fixed;inset:auto 16px 24px;box-shadow:0 8px 32px #0005}.feedback-notice:popover-open{align-items:center;gap:8px;display:flex}.feedback-notice[data-fallback=true]{z-index:300;align-items:center;gap:8px;display:flex}.feedback-notice>svg{color:#99d1b3;flex-shrink:0}.feedback-notice>span{overflow-wrap:anywhere;min-width:0;max-height:30dvh;padding-block:6px;overflow:auto}.feedback-notice .icon-button{width:44px;height:44px;min-height:44px;color:inherit;pointer-events:auto;background:0 0;border:0;flex:0 0 44px}.feedback-notice.is-error>svg{color:#f0b1a7}.mobile-shell .feedback-notice{inset:auto calc(var(--mobile-safe-right) + 16px) calc(var(--mobile-safe-bottom) + 76px) calc(var(--mobile-safe-left) + 16px);max-width:min(380px,calc(100vw - var(--mobile-safe-left) - var(--mobile-safe-right) - 32px))}.mobile-shell.home-page .feedback-notice{bottom:calc(var(--mobile-safe-bottom) + 112px)}.mobile-shell .modal-dialog .feedback-notice{top:calc(var(--mobile-safe-top) + 8px);bottom:auto}.app-shell.mobile-shell .modal.modal-dialog{inset:var(--mobile-safe-top) var(--mobile-safe-right) var(--mobile-safe-bottom) var(--mobile-safe-left);width:min(440px,calc(100vw - var(--mobile-safe-left) - var(--mobile-safe-right) - 32px));max-width:none;height:fit-content;max-height:calc(var(--mobile-viewport-height) - var(--mobile-safe-top) - var(--mobile-safe-bottom) - 24px);margin:auto}.mobile-shell .modal-dialog .modal-body{flex:0 auto;padding:16px}.mobile-shell .modal-dialog .modal-header{gap:8px;min-height:52px;padding:4px 8px 4px 16px}.mobile-shell .modal-dialog .confirmation-actions{gap:8px;margin-top:16px}.mobile-shell .modal-dialog .confirmation-actions .button{white-space:normal;line-height:1.4}.mobile-shell .ftp-setup-dialog .modal-body>p{margin-bottom:16px;font-size:13px}.mobile-shell .ftp-confirm-field{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--background);padding:10px 12px;font-size:14px}.mobile-shell .ftp-confirm-field input{background:0 0;border:0;border-radius:0}.app-shell.mobile-shell .modal.modal-page{width:100%;height:var(--mobile-viewport-height);max-width:none;max-height:none;padding:var(--mobile-safe-top) var(--mobile-safe-right) var(--mobile-safe-bottom) var(--mobile-safe-left);box-shadow:none;background:var(--panel);border:0;border-radius:0;margin:0;inset:0}.app-shell.mobile-shell .mobile-ride-summary,.app-shell.mobile-shell .modal.modal-page[open]{animation:none}.mobile-shell .modal-page .modal-header{border-bottom:1px solid var(--line);align-items:center;gap:8px;min-height:56px;padding:4px 12px 4px 4px}.mobile-shell .modal-page .modal-header h2,.mobile-shell .modal-page .modal-header p{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mobile-shell .modal-page .modal-header p{color:var(--muted);margin:3px 0 0;font-size:10px;line-height:1.4;display:block}.mobile-shell .modal-page .modal-close{order:-1}.mobile-shell .modal-page .modal-close-icon,.mobile-shell .modal-page .modal-close:before{display:none}.mobile-shell .modal-page .modal-back-icon{display:flex;transform:rotate(180deg)}.mobile-shell .modal-page .modal-body{flex:1;min-height:0}.mobile-shell .modal-header-actions .record-export{white-space:nowrap;background:0 0;border:0;min-height:44px;padding:0 8px;font-size:12px}.mobile-shell .modal-header-actions .preview-delete{min-width:64px;padding:0 4px;font-size:13px}.mobile-shell .course-preview .preview-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-shell .course-preview .preview-actions.solo{grid-template-columns:minmax(0,1fr)}.mobile-shell .course-preview .preview-actions .primary{order:1}.mobile-shell .course-preview .workout-chart .workout-bars.large{margin-bottom:0}@media (orientation:landscape) and (max-height:360px){.mobile-shell .mobile-summary-overview h1{text-overflow:ellipsis;white-space:nowrap;margin:4px 0;font-size:17px;overflow:hidden}.mobile-shell .mobile-summary-duration{margin-top:8px}.mobile-shell .mobile-summary-duration strong{font-size:28px}.mobile-shell .mobile-summary-overview .session-completion{gap:4px;margin-top:4px}}@media (orientation:portrait){.mobile-shell .course-preview .modal-body{padding:0;overflow:hidden}.mobile-shell .course-preview-layout{flex-direction:column;height:100%;min-height:0;display:flex}.mobile-shell .course-preview-overview{flex:0 auto;min-height:0;padding:16px;overflow:auto}.mobile-shell .course-preview .workout-bars.large{height:clamp(64px,13vh,120px);margin:0 0 12px}.mobile-shell .course-preview .course-description{margin:0;font-size:13px;line-height:1.5}.mobile-shell .course-preview .course-detail-summary{margin:12px 0 0}.mobile-shell .course-preview-details{flex-direction:column;flex:1 0 170px;min-height:0;display:flex}.mobile-shell .course-preview-steps-heading{flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 16px;font-size:12px;display:flex}.mobile-shell .course-preview-steps-heading h3{margin:0;font-size:13px;font-weight:500}.mobile-shell .course-preview-steps-heading>span{color:var(--muted)}.mobile-shell .course-preview .step-list{flex:1;min-height:0;margin:0;padding:0 16px;overflow:auto}.mobile-shell .course-preview .step-list>div{grid-template-columns:20px minmax(0,1fr) auto;gap:4px 8px;min-height:60px;padding:10px 0;display:grid}.mobile-shell .course-preview .step-list>div>span{grid-row:1/3;align-self:center;font-size:11px}.mobile-shell .course-preview .step-list strong{overflow-wrap:anywhere;min-width:0;font-size:13px}.mobile-shell .course-preview .step-list b{text-align:left;grid-column:2/-1;min-width:0;font-size:12px}.mobile-shell .course-preview .preview-actions{border-top:1px solid var(--line);background:var(--panel);flex-shrink:0;margin:0;padding:8px 16px}.mobile-shell .ride-analysis .modal-body{padding:0}.mobile-shell .ride-analysis-layout{height:auto;display:block;overflow:visible}.mobile-shell .ride-analysis-chart,.mobile-shell .ride-analysis-metrics{padding:16px;overflow:visible}.mobile-shell .ride-analysis-chart{border-top:1px solid var(--line)}.mobile-shell .ride-analysis .record-detail-stats{gap:8px;margin-bottom:16px}.mobile-shell .ride-analysis .record-detail-stats strong{white-space:nowrap;font-size:clamp(18px,5.6vw,26px)}.mobile-shell .ride-analysis .record-detail-stats span{font-size:11px}.mobile-shell .ride-analysis .ride-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-shell .record-extra-details{margin:0 16px}.mobile-shell .record-advanced{border-top:1px solid var(--line)}.mobile-shell .record-advanced>summary{min-height:44px;color:var(--soft);cursor:pointer;justify-content:space-between;align-items:center;font-size:13px;list-style:none;display:flex}.mobile-shell .record-advanced>summary::-webkit-details-marker{display:none}.mobile-shell .record-advanced>summary:after{content:"+";color:var(--muted);font-size:18px}.mobile-shell .record-advanced[open]>summary:after{content:"−"}.mobile-shell .ride-inspection .modal-body{overflow:auto}.mobile-shell .ride-scene-dialog .modal-body{overflow:hidden}.mobile-shell .mobile-summary-actions>.button:last-child{grid-column:auto}.mobile-shell .mobile-ride-summary{padding-bottom:calc(72px + var(--mobile-safe-bottom))}.mobile-shell .mobile-ride-summary:has(.session-load-note){padding-bottom:calc(120px + var(--mobile-safe-bottom))}}.app-shell.mobile-shell .ride-analysis .record-detail-stats span,.app-shell.mobile-shell .ride-analysis .ride-metrics-grid dt{font-size:12px}.app-shell.mobile-shell .ride-analysis .ride-metrics-grid :is(dt small,dd span){font-size:11px}.app-shell.mobile-shell .ride-analysis .record-technical-details,.app-shell.mobile-shell .ride-analysis .ride-metrics-grid p,.app-shell.mobile-shell .ride-analysis .ride-metrics-help :is(summary,summary span,p){color:var(--muted);font-size:12px;line-height:1.5}.app-shell.mobile-shell .ride-analysis .record-technical-details p{font-size:12px}@media (max-width:360px) and (orientation:portrait){.mobile-shell .editor-preview-targets>span{flex-direction:column;align-items:flex-start;gap:3px}.mobile-shell .editor-preview-targets strong{max-width:100%;font-size:11px}}@media (max-height:680px) and (orientation:portrait){.mobile-shell .editor-preview{padding:9px 10px 8px}.mobile-shell .editor-preview-targets{margin-top:8px}.mobile-shell .editor-preview-targets>span{padding:4px 7px}.mobile-shell .editor-preview .workout-bars.large{height:54px;margin:6px 0 0}.mobile-shell .editor-preview .workout-chart-selection{padding:4px 0}.mobile-shell .editor-steps-heading{margin-top:10px}}.ride-context{align-items:center;gap:12px;min-width:0;display:flex}.ride-context h1{min-width:0;color:var(--soft);text-overflow:ellipsis;white-space:nowrap;flex:1;margin:0;font-size:14px;font-weight:500;overflow:hidden}.ride-context .session-state-row{flex-shrink:0;gap:8px}.ride-context .session-status{white-space:nowrap;font-size:11px}.ride-context .session-load-note{border:0;flex-shrink:0;min-height:44px;font-size:10px}.ride-context .session-load-note button{min-height:44px}.mobile-ride-data,.mobile-ride-main,.mobile-ride-plan{min-width:0;min-height:0}.mobile-ride-data{--ride-data-columns:minmax(0,1.3fr) repeat(2,minmax(0,1fr));--ride-cell-inset:16px;flex-direction:column;display:flex;container-type:inline-size}.mobile-shell .mobile-ride .ride-readings{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--panel);overflow:hidden}.mobile-shell .mobile-ride .ride-reading-stats>span:last-child{display:none}.mobile-shell .mobile-ride .ride-reading-stats{color:var(--muted)}.mobile-shell .mobile-ride .ride-reading-stats b{color:var(--soft);font-weight:500}.mobile-shell .mobile-ride-footer .mobile-ride-views{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;display:grid}.mobile-shell .mobile-ride-footer .mobile-ride-views button{min-height:44px;color:var(--muted);justify-content:center;padding:0 6px;font-size:12px}.mobile-shell .mobile-ride-footer .mobile-ride-views .session-adjust span{display:inline}.session-desktop.is-free-ride:not(.has-plan) .session-desktop-cockpit{grid-template-columns:minmax(0,1fr)}.session-target .target-feedback{border-radius:var(--radius-control,4px);min-width:32px;min-height:32px;color:var(--muted);background:var(--accent-soft);white-space:nowrap;font-variant-numeric:tabular-nums;flex:none;justify-content:center;align-items:center;gap:5px;padding:5px 7px;font-size:11px;line-height:1.2;display:inline-flex}.session-target .target-feedback>svg{stroke-width:2px;flex-shrink:0}.session-target .target-feedback[data-state=on-target]{color:#8bd5b1;background:#8bd5b112}.session-target .target-feedback[data-state=below]{color:#97beff;background:#97beff12}.session-target .target-feedback[data-state=above]{color:#efb17e;background:#efb17e12}.mobile-shell .mobile-ride--landscape{flex-direction:column;flex:1;gap:8px;min-height:0;padding:0;display:flex}.mobile-shell .mobile-ride--landscape .ride-context{flex-shrink:0;min-height:28px}.mobile-shell .mobile-ride--landscape .mobile-ride-main{flex:1;grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.mobile-shell .mobile-ride--landscape.has-plan .mobile-ride-main{grid-template-columns:minmax(0,2.3fr) minmax(180px,1fr)}.mobile-shell .mobile-ride--landscape .mobile-ride-data{--ride-value-row-size:clamp(56px,min(27vh,15cqw),132px);--ride-note-offset:6px}.mobile-shell .mobile-ride--landscape .ride-readings{grid-template-columns:var(--ride-data-columns);flex:1;grid-template-rows:minmax(0,1fr);padding:0;display:grid}.mobile-shell .mobile-ride--landscape .ride-reading{min-width:0;min-height:0;padding:10px var(--ride-cell-inset);border:0;flex-direction:column;justify-content:center;display:flex;position:relative}.mobile-shell .mobile-ride--landscape .ride-reading.power{padding:10px var(--ride-cell-inset);border:0;grid-area:1/1}.mobile-shell .mobile-ride--landscape .ride-reading.heart{border:0;border-left:1px solid var(--line);grid-area:1/2}.mobile-shell .mobile-ride--landscape .ride-reading.cadence{border:0;border-left:1px solid var(--line);grid-area:1/3}.mobile-shell .mobile-ride--landscape .ride-reading-label{flex-shrink:0;gap:6px;font-size:12px;line-height:18px}.mobile-shell .mobile-ride--landscape .ride-reading-label small{font-size:10px}.mobile-shell .mobile-ride--landscape .ride-reading-value{font-size:clamp(28px,min(18vh,10cqw,calc(var(--ride-value-row-size) * .7)),88px);letter-spacing:-1.5px;flex-shrink:0;margin:6px 0;font-weight:600;line-height:1}.mobile-shell .mobile-ride--landscape .ride-reading-value:before{content:"​";font-size:var(--ride-value-row-size);letter-spacing:0;line-height:1}.mobile-shell .mobile-ride--landscape .ride-reading.power .ride-reading-value{font-size:var(--ride-value-row-size);letter-spacing:-3px;margin:6px 0}.mobile-shell .mobile-ride--landscape .ride-reading.power .ride-reading-value.four-digits{font-size:clamp(32px,min(24vh,12cqw,calc(var(--ride-value-row-size) * .85)),112px);letter-spacing:-2px}.mobile-shell .mobile-ride--landscape .ride-reading-stats{flex-shrink:0;gap:4px;font-size:11px;line-height:18px}.mobile-shell .mobile-ride--landscape .ride-reading-stats b{font-size:14px;line-height:18px}.mobile-shell .mobile-ride--landscape .ride-reading:has(.ride-reading-note) .ride-reading-stats{visibility:hidden}.mobile-shell .mobile-ride--landscape .ride-reading-note{top:calc(50% + var(--ride-value-row-size) / 2 + var(--ride-note-offset));right:var(--ride-cell-inset);left:var(--ride-cell-inset);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:10px;line-height:18px;display:block;position:absolute;overflow:hidden}.mobile-shell .mobile-ride--landscape .mobile-ride-aux{grid-template-columns:var(--ride-data-columns);border:0;border-inline:1px solid #0000;flex-shrink:0;min-height:42px;padding:7px 0 0}.mobile-shell .mobile-ride--landscape .mobile-ride-aux>div{padding:0 var(--ride-cell-inset);align-items:baseline;gap:8px;display:flex}.mobile-shell .mobile-ride--landscape .mobile-ride-aux>div+div{border-left:1px solid var(--line)}.mobile-shell .mobile-ride--landscape .mobile-ride-aux span{white-space:nowrap;margin:0;font-size:11px}.mobile-shell .mobile-ride--landscape .mobile-ride-aux strong{white-space:nowrap;font-size:18px}.mobile-shell .mobile-ride--landscape .mobile-ride-plan{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--panel);flex-direction:column;display:flex;overflow:hidden}.mobile-shell .mobile-ride--landscape .mobile-ride-plan .session-target{border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;flex-shrink:0;min-height:60px;margin:0;padding:8px 12px}.mobile-shell .mobile-ride--landscape .mobile-ride-plan .session-target strong{font-size:30px;line-height:1}.mobile-shell .mobile-ride--landscape .session-target>div>span{margin-bottom:4px;font-size:10px}.mobile-shell .mobile-ride--landscape .session-target-delta{max-width:none;font-size:10px}.mobile-shell .mobile-ride--landscape .mobile-ride-plan .session-progress{background:0 0;border:0;border-radius:0;flex:1;align-content:center;gap:8px;min-height:0;padding:8px 10px;display:grid;overflow:hidden}.mobile-shell .mobile-ride--landscape .session-stage-progress{padding-left:8px}.mobile-shell .mobile-ride--landscape .session-progress-heading{font-size:10px}.mobile-shell .mobile-ride--landscape .session-progress-heading strong{font-size:12px}.mobile-shell .mobile-ride--landscape .session-stage-progress h2{margin:6px 0 2px;font-size:12px}.mobile-shell .mobile-ride--landscape .session-countdown{gap:4px}.mobile-shell .mobile-ride--landscape .session-countdown strong{font-size:clamp(16px,2.7vw,24px)}.mobile-shell .mobile-ride--landscape .session-countdown.is-long strong{font-size:clamp(13px,2.1vw,19px)}.mobile-shell .mobile-ride--landscape .session-progress .workout-bars{height:30px;margin:8px 0 6px}.mobile-shell .mobile-ride--landscape .session-course-meta,.mobile-shell .mobile-ride--landscape .session-next{font-size:10px}.mobile-shell .mobile-ride--landscape .session-stage-track{margin:7px 0 6px}.mobile-shell .mobile-ride--landscape .mobile-ride-footer{border-top:1px solid var(--line);flex-shrink:0;align-items:center;gap:16px;min-height:52px;padding-top:6px;display:flex}.mobile-shell .mobile-ride--landscape .mobile-ride-footer .mobile-ride-views{flex:1;max-width:360px}.mobile-shell .mobile-ride--landscape .mobile-ride-footer .session-controls{background:0 0;flex:0 0 300px;gap:12px;margin:0 0 0 auto;padding:0}.mobile-shell .mobile-ride--landscape .mobile-ride-footer .session-controls .session-time{flex:1;min-width:72px}.mobile-shell .mobile-ride--landscape .session-time strong{font-size:28px}.mobile-shell .mobile-ride--landscape .mobile-ride-footer .session-controls button{min-width:72px;min-height:44px;padding:0 12px}@supports (container-type:size) and (height:1cqh){.mobile-shell .mobile-ride--landscape .ride-readings{container-type:size}.mobile-shell .mobile-ride--landscape .ride-reading{--ride-value-row-size:clamp(32px,min(27vh,15cqw,calc(100cqh - 60px)),132px)}}.mobile-shell .mobile-ride--portrait .ride-context{min-height:36px;margin-bottom:10px}.mobile-shell .mobile-ride--portrait .mobile-ride-main{gap:12px;display:grid}.mobile-shell .mobile-ride--portrait .mobile-ride-plan{gap:10px;display:grid}.mobile-shell .mobile-ride--portrait .session-target{margin:0;padding:10px 14px}.mobile-shell .mobile-ride--portrait .session-target strong{font-size:34px}.mobile-shell .mobile-ride--portrait .session-progress{padding:12px 14px}.mobile-shell .mobile-ride--portrait .mobile-ride-views{margin-top:8px}.mobile-shell .mobile-ride--portrait .ride-context .session-load-note{gap:4px}.mobile-shell .mobile-ride--portrait .ride-context:has(.session-load-note) h1{display:none}.mobile-shell .mobile-ride--portrait .ride-context .session-load-note{margin-left:auto}.mobile-shell .mobile-ride--portrait.is-free-ride{flex-direction:column;min-height:100%;display:flex}.mobile-shell .mobile-ride--portrait.is-free-ride .mobile-ride-main{flex:1}.mobile-shell .mobile-ride--portrait.is-free-ride .ride-readings{flex:1;grid-template-rows:minmax(170px,1.3fr) minmax(110px,1fr)}.mobile-shell .mobile-ride--portrait.is-free-ride .ride-reading{flex-direction:column;justify-content:center;display:flex}.mobile-shell .mobile-ride--portrait.is-free-ride .ride-reading-value{font-size:clamp(44px,8vh,68px)}.mobile-shell .mobile-ride--portrait.is-free-ride .ride-reading.power .ride-reading-value{font-size:clamp(88px,13vh,120px)}.mobile-shell .mobile-ride--portrait.is-free-ride .ride-reading.power .ride-reading-value.four-digits{font-size:clamp(68px,10vh,96px)}.modal.ride-adjust-dialog{width:min(380px,100vw - 32px)}.ride-adjust-layout{gap:18px;display:grid}.ride-adjust-dialog .modal-body{padding:18px}.ride-adjust-dialog .session-display-setting{border:0;flex-direction:column;align-items:stretch;gap:14px;min-height:0;display:flex}.session-setting-copy{flex-direction:column;gap:5px;min-width:0;display:flex}.session-setting-copy strong{color:var(--foreground);font-size:13px;font-weight:500}.session-setting-copy>span{color:var(--muted);font-size:11px;line-height:1.5}.ride-adjust-dialog .session-display-options{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--background);grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;display:grid}.ride-adjust-dialog .session-display-options button{border-radius:var(--radius-control);min-width:0;min-height:44px;font-size:13px}.ride-adjust-dialog .session-display-options button[aria-pressed=true]{background:var(--surface-hover);color:var(--foreground);box-shadow:0 1px 4px #0003}.ride-adjust-dialog .session-sound-setting{border-top:1px solid var(--line);gap:12px;min-height:64px;margin-top:16px;padding-top:12px}.ride-adjust-dialog .session-sound-setting input{flex-shrink:0}.ride-adjust-dialog .intensity-adjuster{flex-direction:column;align-items:stretch;gap:8px;display:flex}.ride-adjust-dialog .intensity-adjuster>span{color:var(--foreground);font-size:13px;font-weight:500}.ride-adjust-dialog .intensity-adjuster>div{justify-content:space-between;align-items:center;gap:12px;padding:0;display:flex}.ride-adjust-dialog .intensity-adjuster button{border:1px solid var(--line);border-radius:var(--radius-control);min-width:44px}.ride-adjust-dialog .intensity-adjuster output{font-size:32px}.ride-adjust-dialog .session-adjust-actions{gap:6px;margin:12px 0 0;padding:0}.ride-adjust-dialog .session-adjust-actions button{border:1px solid var(--line);border-radius:var(--radius-control);background:0 0;min-height:44px;padding:4px 8px;font-size:12px}.ride-adjust-footer{border-top:1px solid var(--line);flex-shrink:0;justify-content:flex-end;padding:10px 18px;display:flex}.ride-adjust-footer .button{width:100%;min-height:44px}.app-shell.mobile-shell .modal.ride-adjust-dialog{width:min(380px,calc(100vw - var(--mobile-safe-left) - var(--mobile-safe-right) - 24px))}.mobile-shell .ride-adjust-dialog .modal-body{padding:16px}.mobile-shell .ride-adjust-dialog .session-display-setting{min-height:0}.mobile-shell .ride-adjust-dialog .session-sound-setting{min-height:60px}.session-erg{border:1px solid var(--line);background:var(--surface);color:var(--soft);gap:5px}.session-erg>svg{opacity:.58}.session-erg[aria-checked=true]{border-color:var(--accent-border);background:var(--accent-soft);color:var(--foreground)}.session-erg[aria-checked=true]>svg{opacity:1}.session-erg:not(:disabled):hover{border-color:var(--accent-border)}.session-target.is-free-erg{grid-template-columns:minmax(0,1fr) auto;gap:8px 10px;display:grid}.session-target.is-free-erg .session-target-reading{min-width:0}.session-target.is-free-erg .target-feedback{grid-area:1/2}.free-target-stepper{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.free-target-stepper button{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--background);min-height:44px;color:var(--soft);font-variant-numeric:tabular-nums;font-size:13px}.free-target-stepper button:not(:disabled):hover{border-color:var(--accent-border);background:var(--surface-hover);color:var(--foreground)}.free-target-stepper button:disabled{opacity:.35}.desktop-shell .free-target-stepper{justify-self:end;width:min(100%,280px)}.mobile-landscape .session-target.is-free-erg{grid-template-columns:minmax(0,1fr) auto;gap:4px 6px;display:grid}.mobile-landscape .session-target.is-free-erg>.free-target-stepper{flex-direction:row;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.mobile-landscape .session-target.is-free-erg .session-target-reading>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mobile-landscape .session-target.is-free-erg .free-target-stepper{gap:4px}.mobile-landscape .session-target.is-free-erg .free-target-stepper button{min-height:44px}@supports not (container-type:inline-size){.mobile-shell .mobile-ride--landscape .mobile-ride-data{--ride-value-row-size:clamp(32px,min(23vh,calc(var(--mobile-viewport-height) - var(--mobile-safe-top) - var(--mobile-safe-bottom) - 265px)),100px)}.mobile-shell .mobile-ride--landscape.has-workout .mobile-ride-data{--ride-value-row-size:clamp(32px,min(56px,calc(var(--mobile-viewport-height) - var(--mobile-safe-top) - var(--mobile-safe-bottom) - 265px)),56px)}.mobile-shell .mobile-ride--landscape .ride-reading-value{font-size:clamp(28px,calc(var(--ride-value-row-size) * .7),64px)}.mobile-shell .mobile-ride--landscape .ride-reading.power .ride-reading-value{font-size:var(--ride-value-row-size)}.mobile-shell .mobile-ride--landscape .ride-reading.power .ride-reading-value.four-digits{font-size:clamp(32px,calc(var(--ride-value-row-size) * .85),80px)}}@media (orientation:landscape) and (min-width:560px){.modal.ride-adjust-dialog.has-workout{width:min(640px,100vw - 32px)}.app-shell.mobile-shell .modal.ride-adjust-dialog.has-workout{width:min(640px,calc(100vw - var(--mobile-safe-left) - var(--mobile-safe-right) - 24px))}.ride-adjust-dialog.has-workout .ride-adjust-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:18px}.ride-adjust-dialog.has-workout .ride-adjust-display{border-left:1px solid var(--line);padding-left:18px}.ride-adjust-dialog.has-workout .session-display-setting{gap:8px}.ride-adjust-dialog.has-workout .session-setting-copy{gap:4px}.ride-adjust-dialog.has-workout .session-sound-setting{min-height:48px;margin-top:8px;padding-top:8px}.mobile-shell .ride-adjust-dialog.has-workout .session-sound-setting{min-height:48px}.ride-adjust-dialog.has-workout .ride-adjust-footer .button{width:112px}.mobile-shell .ride-adjust-dialog.has-workout .modal-body{padding:12px 16px}.mobile-shell .ride-adjust-dialog.has-workout .modal-header{min-height:48px}.mobile-shell .ride-adjust-dialog.has-workout .ride-adjust-footer{padding:8px 16px}}@media (orientation:landscape) and (max-width:680px){.mobile-shell .mobile-ride--landscape .mobile-ride-data{--ride-cell-inset:10px;--ride-note-offset:2.5px}.mobile-shell .mobile-ride--landscape .ride-reading,.mobile-shell .mobile-ride--landscape .ride-reading.power{padding:8px var(--ride-cell-inset)}.mobile-shell .mobile-ride--landscape .ride-reading-label{font-size:10px;line-height:15px}.mobile-shell .mobile-ride--landscape .ride-reading-value,.mobile-shell .mobile-ride--landscape .ride-reading.power .ride-reading-value{margin-block:4px}.mobile-shell .mobile-ride--landscape .ride-reading-label>span{gap:4px}.mobile-shell .mobile-ride--landscape .mobile-ride-aux>div{padding:0 var(--ride-cell-inset);flex-flow:column;align-items:flex-start;gap:2px}.mobile-shell .mobile-ride--landscape .mobile-ride-aux span{font-size:10px;line-height:12px}.mobile-shell .mobile-ride--landscape .mobile-ride-aux strong{font-size:16px;line-height:20px}.mobile-shell .mobile-ride--landscape .mobile-ride-footer{gap:10px}.mobile-shell .mobile-ride--landscape .mobile-ride-footer .session-controls{flex-basis:240px;gap:8px}.mobile-shell .mobile-ride--landscape .mobile-ride-footer .session-controls button{min-width:60px;padding-inline:8px}.mobile-shell .mobile-ride--landscape .session-time strong{font-size:25px}.mobile-shell .mobile-ride--landscape .session-countdown span,.mobile-shell .mobile-ride--landscape .session-stage-heading-default{display:none}.mobile-shell .mobile-ride--landscape .session-stage-heading-compact{display:inline}.mobile-shell .mobile-ride--landscape .session-course-meta,.mobile-shell .mobile-ride--landscape .session-next{font-size:9px}}@media (orientation:landscape) and (max-height:340px){.mobile-shell .mobile-ride--landscape{gap:6px}.mobile-shell .mobile-ride--landscape .mobile-ride-plan .session-target{min-height:52px;padding:6px 10px}.mobile-shell .mobile-ride--landscape .mobile-ride-plan .session-progress{padding:6px 10px}.mobile-shell .mobile-ride--landscape .session-progress .workout-bars{height:20px;margin:5px 0 4px}.mobile-shell .mobile-ride--landscape .session-stage-progress h2{margin-top:4px}.mobile-shell .mobile-ride--landscape .session-stage-track{margin:5px 0 4px}}@media (orientation:portrait) and (max-height:700px){.mobile-shell .mobile-ride--portrait .ride-context{min-height:32px;margin-bottom:6px}.mobile-shell .mobile-ride--portrait .ride-readings{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);padding:0}.mobile-shell .mobile-ride--portrait .ride-reading{padding:8px 10px}.mobile-shell .mobile-ride--portrait .ride-reading.power{border:0;border-right:1px solid var(--line);flex-direction:column;grid-area:1/1/3;justify-content:center;display:flex}.mobile-shell .mobile-ride--portrait .ride-reading.heart{grid-area:1/2}.mobile-shell .mobile-ride--portrait .ride-reading.cadence{border:0;border-top:1px solid var(--line);grid-area:2/2}.mobile-shell .mobile-ride--portrait .ride-reading-value{margin:6px 0;font-size:36px}.mobile-shell .mobile-ride--portrait.is-free-ride .ride-readings{grid-template-rows:repeat(2,minmax(0,1fr))}.mobile-shell .mobile-ride--portrait.is-free-ride .ride-reading-value{font-size:36px}.mobile-shell .mobile-ride--portrait.is-free-ride .ride-reading.power .ride-reading-value{font-size:72px}.mobile-shell .mobile-ride--portrait.is-free-ride .ride-reading.power .ride-reading-value.four-digits{font-size:54px}.mobile-shell .mobile-ride--portrait .ride-reading.power .ride-reading-value{font-size:72px}.mobile-shell .mobile-ride--portrait .ride-reading.power .ride-reading-value.four-digits{font-size:54px}.mobile-shell .mobile-ride--portrait .mobile-ride-aux{padding:8px 0}.mobile-shell .mobile-ride--portrait .mobile-ride-aux span{margin-bottom:3px}.mobile-shell .mobile-ride--portrait .mobile-ride-plan{gap:8px}.mobile-shell .mobile-ride--portrait.has-workout .mobile-ride-main,.mobile-shell .mobile-ride--portrait.has-workout .mobile-ride-plan{gap:6px}.mobile-shell .mobile-ride--portrait.has-workout .ride-reading{padding:3px 10px}.mobile-shell .mobile-ride--portrait.has-workout .ride-reading-value{margin:2px 0;font-size:28px}.mobile-shell .mobile-ride--portrait.has-workout .ride-reading.power .ride-reading-value{font-size:58px}.mobile-shell .mobile-ride--portrait.has-workout .ride-reading.power .ride-reading-value.four-digits{font-size:46px}.mobile-shell .mobile-ride--portrait.has-workout .mobile-ride-aux{padding:6px 0}.mobile-shell .mobile-ride--portrait.has-workout .session-target{padding:6px 10px}.mobile-shell .mobile-ride--portrait.has-workout .session-target strong{font-size:28px}.mobile-shell .mobile-ride--portrait.has-workout .session-progress{gap:10px;padding:8px 10px}.mobile-shell .mobile-ride--portrait.has-workout .session-stage-progress{padding-left:10px}.mobile-shell .mobile-ride--portrait.has-workout .session-stage-progress h2{margin-top:4px;font-size:12px}.mobile-shell .mobile-ride--portrait.has-workout .session-countdown strong{font-size:23px}.mobile-shell .mobile-ride--portrait.has-workout .session-countdown.is-long strong{font-size:18px}.mobile-shell .mobile-ride--portrait.has-workout .session-progress .workout-bars{height:28px;margin:6px 0}.mobile-shell .mobile-ride--portrait.has-workout .session-stage-track{margin:5px 0}.mobile-shell .mobile-ride--portrait.has-workout .session-course-meta,.mobile-shell .mobile-ride--portrait.has-workout .session-next{font-size:10px}.mobile-shell .mobile-ride--portrait.is-free-ride.has-plan .session-target.is-free-erg{grid-template-columns:minmax(0,1fr) 96px;align-items:center;gap:8px;padding:7px 10px}.mobile-shell .mobile-ride--portrait.is-free-ride.has-plan .session-target.is-free-erg .target-feedback{display:none}.mobile-shell .mobile-ride--portrait.is-free-ride.has-plan .session-target.is-free-erg .free-target-stepper{grid-area:1/2;width:96px}.mobile-shell .mobile-ride--portrait.is-free-ride.has-plan .session-target.is-free-erg .free-target-stepper button{min-width:0;padding-inline:4px}.mobile-shell .mobile-ride--portrait.is-free-ride.has-plan .session-target.is-free-erg .session-target strong{font-size:30px}}.celebration-fireworks{--burst-radius:clamp(50px,9vw,135px);pointer-events:none;position:absolute;inset:0;overflow:hidden}.celebration-burst{left:var(--burst-x);top:var(--burst-y);color:var(--burst-color);position:absolute}.celebration-flash,.celebration-spark{pointer-events:none;display:block;position:absolute}.celebration-spark{opacity:0;width:3px;height:12px;animation:celebration-spark 3s var(--burst-delay) ease-out 3 both;background:currentColor;border-radius:50%;top:-3px;left:-2px;box-shadow:0 0 8px,0 0 18px}.celebration-flash{opacity:0;width:8px;height:8px;animation:celebration-flash 3s var(--burst-delay) ease-out 3 both;background:#fff8e8;border-radius:50%;margin:-4px;box-shadow:0 0 22px 10px}@keyframes celebration-spark{0%,8%{opacity:0;transform:rotate(var(--spark-angle)) translateY(0) scale(.3)}13%,30%{opacity:1}75%,to{opacity:0;transform:rotate(var(--spark-angle)) translateY(calc(-1 * var(--burst-radius) * var(--burst-scale))) scale(.65)}}@keyframes celebration-flash{0%,26%,8%,to{opacity:0;transform:scale(.25)}12%{opacity:.85;transform:scale(1)}}.workout-celebration{z-index:90;pointer-events:none;background:radial-gradient(at 50% 25%,#241c2eb3,#07070738 55%,#0000 80%);animation:celebration-overlay 12s both;position:fixed;inset:0;overflow:hidden}.workout-celebration-message{text-align:center;text-shadow:0 2px 18px #000,0 2px 32px #000;width:min(90%,520px);position:absolute;top:22%;left:50%;transform:translate(-50%)}.workout-celebration-message small,.workout-celebration-message span,.workout-celebration-message strong{display:block}.workout-celebration-message span{color:#ffd69c;letter-spacing:.32em;font-size:11px;font-weight:700}.workout-celebration-message strong{color:#fff9ed;letter-spacing:.03em;margin-top:10px;font-size:clamp(25px,3.4vw,44px);line-height:1.25}.workout-celebration-message small{color:#e4d9d0;margin-top:10px;font-size:13px}@keyframes celebration-overlay{0%{opacity:0}6%,78%{opacity:1}to{opacity:0}}.mini-completion{text-align:center;flex:1;place-items:center;min-height:0;display:grid;position:relative;overflow:hidden}.mini-completion .celebration-fireworks{--burst-radius:clamp(25px,12vw,55px)}.mini-completion-message{z-index:1;text-shadow:0 2px 10px #000,0 2px 18px #000;max-width:90%;padding:8px;position:relative}.mini-completion-message small,.mini-completion-message span,.mini-completion-message strong{display:block}.mini-completion-message span{color:#ffd69c;letter-spacing:.2em;font-size:9px;font-weight:700}.mini-completion-message strong{color:#fff9ed;margin:8px 0 6px;font-size:23px;line-height:1.2}.mini-completion-message small{color:#ded6d0;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.layout-small .mini-completion-message strong{margin:5px 0;font-size:19px}@media (max-height:450px){.workout-celebration-message{top:14%}.workout-celebration-message span{font-size:9px}.workout-celebration-message strong{margin-top:5px;font-size:24px}.workout-celebration-message small{margin-top:4px;font-size:11px}}@media (prefers-reduced-motion:reduce){.celebration-fireworks{display:none}.workout-celebration{animation:none}}@media (max-width:380px){.desktop-compact .mobile-studio-header{gap:4px;padding-inline:10px}.desktop-compact .mobile-studio-header:not(.is-riding) .mobile-studio-brand:not(.mobile-studio-back)>span{display:none}.desktop-compact .mobile-studio-back{min-width:64px}.desktop-compact .mobile-studio-nav{gap:0}}.app-shell.desktop-shell{--lobby-accent:var(--accent);--lobby-ink:var(--foreground);--lobby-muted:var(--muted);--lobby-line:var(--line);--lobby-panel:var(--panel);color:var(--lobby-ink);background:linear-gradient(180deg,#ffffff02,transparent 32rem),var(--background)}.desktop-app-header{z-index:30;border-bottom:1px solid var(--lobby-line);align-items:center;gap:26px;width:min(1440px,100% - 64px);height:74px;margin:0 auto;display:flex;position:relative}.desktop-app-header .brand{letter-spacing:-.5px;gap:9px;font-size:19px}.desktop-app-header .brand svg{width:29px;height:29px}.desktop-header-label{flex-direction:column;gap:3px;display:flex}.desktop-header-label small{color:var(--lobby-muted);letter-spacing:2px;font-size:8px;font-weight:400}.desktop-header-navigation a{min-height:40px;color:var(--soft);align-items:center;gap:8px;padding:8px 10px;font-size:12px;display:inline-flex}.desktop-header-navigation svg{transform:rotate(180deg)}.desktop-header-tools{align-items:center;gap:8px;margin-left:auto;display:flex}.desktop-header-tools>a,.desktop-header-tools>button{min-width:38px;min-height:38px;color:var(--muted);background:0 0;border:0;justify-content:center;align-items:center;gap:7px;padding:8px 10px;font-size:12px;display:inline-flex}.desktop-header-tools>a:hover,.desktop-header-tools>button:hover{color:var(--lobby-ink);background:#ffffff06}.desktop-header-tools .header-actions{gap:8px}.desktop-header-tools .device-pill{background:#ffffff04;border:1px solid #ffffff16;border-radius:6px;min-height:38px;padding:8px 12px}.desktop-header-tools .tiny-dot.online{background:var(--lobby-accent);box-shadow:0 0 9px #ffffff10}.app-shell.desktop-shell .main-content{width:calc(100% - 64px);max-width:1440px;padding:24px 0 20px}.app-shell.desktop-shell.ride-page .main-content{max-width:1280px;padding-top:24px}.desktop-shell .page-header{margin-bottom:22px}.desktop-shell .page-footer{margin-top:22px;padding:16px 0 0}.desktop-shell .site-icp{justify-content:center;margin-top:8px;display:flex}.desktop-shell .message-bar{margin-bottom:16px;padding:11px 14px}.desktop-shell.focus-mode .desktop-app-header{height:58px}.desktop-shell.focus-mode .desktop-header-label small{display:none}.desktop-lobby{grid-template-columns:minmax(0,1.22fr) minmax(380px,1fr);gap:28px;height:min(700px,100dvh - 130px);min-height:570px;display:grid}.lobby-world{flex-direction:column;min-width:0;min-height:0;display:flex}.lobby-heading{justify-content:space-between;align-items:center;gap:16px;padding:0 4px 16px;display:flex}.lobby-eyebrow{color:var(--lobby-muted);letter-spacing:2px;font-size:9px;font-weight:500;line-height:1.5;display:block}.lobby-heading h1{color:var(--lobby-ink);letter-spacing:-1.2px;text-wrap:nowrap;margin-top:5px;font-size:31px;font-weight:550;line-height:1.3}.lobby-state{color:var(--muted);white-space:nowrap;align-items:center;gap:7px;font-size:11px;display:inline-flex}.lobby-state i{background:var(--faint);border-radius:50%;width:5px;height:5px}.lobby-state.is-active i{background:var(--lobby-accent)}.lobby-scene{isolation:isolate;background:radial-gradient(ellipse at 50% 75%,#ffffff05,transparent 63%),linear-gradient(150deg,#10101080,var(--background-raised));border:1px solid #ffffff08;border-radius:10px;flex:1;min-height:230px;position:relative;overflow:hidden}.lobby-scene:before{content:"";background:var(--surface);z-index:-1;border-radius:50%;height:30%;position:absolute;bottom:20px;left:12%;right:9%;transform:rotate(-7deg);box-shadow:inset 0 1px #ffffff06}.lobby-scene-grid{opacity:.15;z-index:-1;background-image:linear-gradient(#ffffff10 1px,#0000 0),linear-gradient(90deg,#ffffff10 1px,#0000 0);background-size:42px 42px;position:absolute;inset:20% -15% -40%;transform:perspective(380px)rotateX(58deg);-webkit-mask-image:linear-gradient(#0000,#000 70%);mask-image:linear-gradient(#0000,#000 70%)}.lobby-scene-label{color:var(--muted);letter-spacing:.2px;font-size:12px;position:absolute;top:18px;left:20px}.lobby-scene .road-motion--lobby{background:0 0;border:0;width:auto;height:auto;min-height:0;margin:0;position:absolute;inset:24px 0 35px}.lobby-scene .road-motion--lobby canvas{width:100%;height:100%}.lobby-scene .road-motion--lobby .road-motion-controls{justify-content:flex-end;gap:12px;padding-inline:16px}.lobby-scene-caption{pointer-events:none;color:var(--faint);letter-spacing:1px;align-items:center;gap:12px;font-size:9px;display:flex;position:absolute;bottom:15px;left:20px;right:20px}.lobby-scene-caption span:last-child{display:none}.lobby-profile{border-bottom:1px solid var(--lobby-line);grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;padding:16px 2px;display:grid}.lobby-profile>a,.lobby-profile>div{flex-direction:column;align-items:flex-start;gap:6px;min-width:0;display:flex;position:relative}.lobby-profile span{color:var(--lobby-muted);font-size:11px}.lobby-profile strong{color:var(--soft);font-variant-numeric:tabular-nums;font-size:19px;font-weight:500;line-height:1.2}.lobby-profile small{color:var(--muted);font-size:11px}.lobby-profile svg{color:var(--faint);position:absolute;bottom:2px;right:13px}.lobby-profile a:hover strong,.lobby-profile a:hover svg{color:var(--lobby-accent)}.lobby-recent{min-height:121px;padding-top:15px}.lobby-section-heading{justify-content:space-between;align-items:center;padding-bottom:9px;display:flex}.lobby-section-heading h2{color:var(--soft);font-size:12px;font-weight:500}.lobby-section-heading .text-button{min-height:24px;font-size:10px}.lobby-record{min-height:48px;color:var(--muted);border-top:1px solid #ffffff08;grid-template-columns:26px minmax(0,1fr) auto 66px 14px;align-items:center;gap:9px;padding:7px 3px;font-size:12px;display:grid}.lobby-record:hover{background:#ffffff03}.lobby-record-icon{color:var(--muted)}.lobby-record strong{color:var(--soft);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:450;overflow:hidden}.lobby-record strong small{color:var(--faint);margin-top:3px;font-size:9px;display:block}.lobby-record>span:nth-last-child(2){text-align:right}.lobby-record small{font-size:10px}.lobby-history-empty{color:var(--muted);align-items:center;gap:12px;padding:12px 3px;font-size:12px;display:flex}.lobby-history-empty small{color:var(--faint);margin-top:6px;font-size:10px;display:block}.lobby-repeat{width:100%;color:var(--muted);background:0 0;border:0;align-items:center;gap:7px;padding:8px 3px 0;font-size:10px;display:flex}.lobby-repeat strong{color:var(--soft);margin-left:auto;font-size:10px;font-weight:450}.lobby-repeat:hover:not(:disabled){color:var(--lobby-ink)}.lobby-planner{background:linear-gradient(145deg,#ffffff03,transparent 50%),var(--lobby-panel);border:1px solid #ffffff12;border-radius:12px;flex-direction:column;min-width:0;min-height:0;padding:22px;display:flex}.lobby-planner-heading{justify-content:space-between;align-items:center;gap:12px;padding-bottom:17px;display:flex}.lobby-planner-heading h2{letter-spacing:-.6px;margin-top:5px;font-size:21px;font-weight:500}.lobby-library-link{min-height:36px;color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:11px;display:inline-flex}.lobby-library-link:hover{color:var(--lobby-accent)}.lobby-options{scrollbar-width:thin;scrollbar-color:var(--line) transparent;flex-direction:column;flex:1;gap:6px;min-height:0;padding:1px;display:flex;overflow:auto}.lobby-option{background:#ffffff02;border:1px solid #0000;border-radius:7px;flex-shrink:0;align-items:center;min-width:0;display:flex}.lobby-option:hover{background:#ffffff04}.lobby-option.is-selected{background:var(--accent-soft);border-color:var(--accent-border)}.lobby-option-select{text-align:left;min-width:0;min-height:63px;color:inherit;background:0 0;border:0;flex:1;align-items:center;gap:11px;padding:10px 9px 10px 12px;display:flex}.lobby-selection-dot{border:1px solid var(--accent-border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:15px;height:15px;display:inline-flex}.lobby-selection-dot svg{opacity:0}.lobby-option.is-selected .lobby-selection-dot{background:var(--lobby-accent);color:var(--background);border-color:#0000}.lobby-option.is-selected .lobby-selection-dot svg{opacity:1}.lobby-option-copy{flex-direction:column;flex:1;gap:7px;min-width:0;display:flex}.lobby-option-copy strong{color:var(--soft);white-space:nowrap;text-overflow:ellipsis;align-items:baseline;gap:8px;font-size:13px;font-weight:500;display:flex;overflow:hidden}.lobby-option-copy strong small{color:var(--muted);flex-shrink:0;font-size:10px;font-weight:400}.lobby-option-copy>span{color:var(--muted);white-space:nowrap;font-size:11px}.lobby-option .workout-bars{width:66px;height:26px;min-height:0;box-shadow:none;background:0 0;border:0;flex:0 0 66px;margin:0;padding:0}.lobby-option .workout-bars svg{height:26px}.lobby-option-details{min-width:27px;min-height:39px;color:var(--faint);justify-content:center;align-items:center;margin-right:5px;display:inline-flex}.lobby-option-details:hover{color:var(--lobby-accent)}.lobby-free-mark{width:88px;color:var(--muted);justify-content:center;display:flex}.lobby-departure{border-top:1px solid #ffffff10;margin-top:16px;padding-top:16px}.lobby-departure-summary{justify-content:space-between;align-items:center;gap:12px;display:flex}.lobby-departure-summary>div{align-items:center;gap:11px;min-width:0;display:flex}.lobby-departure-summary>div>span{color:var(--muted);white-space:nowrap;font-size:10px}.lobby-departure-summary strong{color:var(--soft);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:500;overflow:hidden}.lobby-erg{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:10px;display:inline-flex}.lobby-erg input{accent-color:var(--lobby-accent);width:14px;height:14px}.lobby-departure-note{color:var(--muted);min-height:16px;margin-top:9px;font-size:11px;line-height:1.6}.lobby-start{background:var(--lobby-accent);width:100%;min-height:52px;color:var(--background);border:0;border-radius:7px;justify-content:flex-start;align-items:center;gap:10px;margin-top:13px;padding:12px 17px;font-size:14px;font-weight:600;display:flex}.lobby-start>span:not(.busy-indicator){text-align:left;flex:1}.lobby-start>svg:last-child{margin-left:auto}.lobby-start:hover:not(:disabled){background:var(--accent-strong)}.lobby-start:disabled{opacity:.45}.lobby-preflight{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;margin-top:12px;font-size:10px;display:flex}.lobby-preflight span{align-items:center;gap:5px;display:inline-flex}.lobby-preflight i{background:var(--faint);border-radius:50%;width:4px;height:4px}.lobby-preflight i.ready{background:var(--lobby-accent)}.lobby-option-details:focus-visible,.lobby-option-select:focus-visible,.lobby-repeat:focus-visible,.lobby-start:focus-visible{outline:2px solid var(--lobby-accent);outline-offset:2px}@media (max-width:1120px){.desktop-lobby{grid-template-columns:minmax(0,1fr) minmax(375px,.95fr);gap:20px}.lobby-planner{padding:18px}.lobby-heading h1{font-size:27px}.lobby-state{font-size:10px}.lobby-option-select{gap:8px;padding-left:10px}.lobby-option .workout-bars{flex-basis:52px;width:52px}.lobby-option-copy strong{font-size:12px}.lobby-profile{gap:8px}.lobby-profile strong{font-size:17px}.lobby-profile svg{display:none}}@media (prefers-reduced-motion:no-preference){.desktop-lobby{animation:desktop-lobby-enter .22s var(--ease-out)}@keyframes desktop-lobby-enter{0%{opacity:.65;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}}@media (max-height:780px){.lobby-planner{padding:17px}.lobby-planner-heading{padding-bottom:12px}.lobby-planner-heading h2{font-size:20px}.lobby-options{gap:4px}.lobby-option-select{min-height:53px;padding-top:8px;padding-bottom:8px}.lobby-option-copy{gap:5px}.lobby-option-copy strong{line-height:1.35}.lobby-option-copy>span{line-height:1.4}.lobby-departure{margin-top:12px;padding-top:12px}.lobby-departure-note{margin-top:6px}.lobby-start{min-height:48px;margin-top:10px}.lobby-preflight{margin-top:9px}}.app-shell.mobile-shell{background:var(--background);padding:0}.mobile-shell .main-content{width:auto;max-width:900px;padding:16px max(16px,env(safe-area-inset-right)) 24px max(16px,env(safe-area-inset-left));margin:0 auto}.mobile-shell .main-content>.page-header{min-height:0;margin:0 0 20px;padding:0}.mobile-shell .page-header h1{font-size:24px}.mobile-shell .device-pill,.mobile-shell .icon-button{min-width:44px;min-height:44px}.mobile-shell input:not([type=checkbox]),.mobile-shell select,.mobile-shell textarea{font-size:16px}.mobile-shell .button{min-height:44px}.mobile-shell .message-bar{min-height:44px;color:var(--soft);align-items:center;margin:0 0 12px;padding:0 10px;font-size:11px;display:flex}.mobile-shell .message-bar .icon-button{flex-shrink:0}.mobile-lobby{min-width:0}.mobile-lobby-scene{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--panel);height:190px;position:relative;overflow:hidden}.mobile-lobby-greeting{z-index:2;pointer-events:none;position:absolute;top:15px;left:16px}.mobile-lobby-greeting>span{color:var(--muted);letter-spacing:2px;font-size:10px}.mobile-lobby-greeting h1{letter-spacing:-.5px;margin-top:5px;font-size:21px;font-weight:500;line-height:1.5}.mobile-lobby-scene .road-motion{background:0 0;border:0;border-radius:0;height:100%;min-height:0;margin:0}.mobile-lobby-scene .road-motion canvas{width:100%;height:100%}.mobile-shell .road-motion-controls{gap:8px;min-height:44px;padding:0 4px}.mobile-shell .road-motion-gender button,.mobile-shell .road-motion-toggle{min-width:44px;height:44px;min-height:44px;padding:0 8px;font-size:11px}.mobile-lobby-profile{border-bottom:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));padding:13px 0 15px;display:grid}.mobile-lobby-profile>*{min-height:44px;color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:baseline;gap:6px;font-size:11px;display:flex}.mobile-lobby-profile>*+*{border-left:1px solid var(--line)}.mobile-lobby-profile strong{color:var(--foreground);font-variant-numeric:tabular-nums;font-size:18px;font-weight:500}.mobile-lobby-profile small{color:var(--muted);font-size:10px;font-weight:400}.mobile-lobby-section-heading{flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;min-height:54px;display:flex}.mobile-lobby-section-heading h2{font-size:15px;font-weight:500}.mobile-lobby-section-heading a{min-height:44px;color:var(--muted);white-space:nowrap;align-items:center;gap:4px;font-size:12px;display:flex}.mobile-plan-options{gap:7px;display:grid}.mobile-plan{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--panel);min-width:0;display:flex}.mobile-plan.is-selected{border-color:var(--accent-border);background:var(--accent-soft)}.mobile-plan-select{border-radius:var(--radius-control);text-align:left;min-width:0;min-height:66px;color:var(--foreground);background:0 0;border:0;flex:1;align-items:center;gap:10px;padding:9px 10px;display:flex}.mobile-plan-select:disabled{opacity:.55}.mobile-plan-check{border:1px solid var(--faint);width:16px;height:16px;color:var(--background);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.mobile-plan-check svg{visibility:hidden}.is-selected .mobile-plan-check{border-color:var(--accent);background:var(--accent)}.is-selected .mobile-plan-check svg{visibility:visible}.mobile-plan-copy{flex:1;min-width:0}.mobile-plan-copy strong{overflow-wrap:anywhere;flex-wrap:wrap;align-items:baseline;gap:6px;font-size:13px;font-weight:500;line-height:1.4;display:flex}.mobile-plan-copy small{color:var(--muted);white-space:nowrap;font-size:10px;font-weight:400}.mobile-plan-copy>span{color:var(--muted);margin-top:4px;font-size:10px;display:block}.mobile-plan-select>svg{color:var(--muted);flex-shrink:0;margin-right:12px}.mobile-plan-select .workout-bars{flex:0 0 60px;width:60px;height:28px;margin:0}.mobile-shell .workout-bars>svg{width:100%;height:100%}.mobile-plan-info{width:44px;min-height:44px;color:var(--muted);flex:0 0 44px;place-items:center;display:grid}.mobile-departure{padding:10px 16px max(10px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--background)}.mobile-departure-summary{justify-content:space-between;align-items:center;gap:8px;min-height:28px;margin-bottom:5px;display:flex}.mobile-departure-summary>strong{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:13px;font-weight:500;overflow:hidden}.mobile-departure-summary>span{color:var(--muted);font-size:10px}.mobile-erg{min-height:44px;color:var(--soft);flex-shrink:0;align-items:center;gap:7px;font-size:11px;display:flex}.mobile-erg input{appearance:none;border:1px solid var(--line);background:var(--surface);border-radius:20px;width:30px;height:18px;margin:0;position:relative}.mobile-erg input:after{content:"";background:var(--muted);border-radius:50%;width:12px;height:12px;position:absolute;top:2px;left:2px}.mobile-erg input:checked{background:var(--accent)}.mobile-erg input:checked:after{background:var(--background);left:14px}.mobile-erg input:disabled{opacity:.45}.mobile-start{border-radius:var(--radius-control);width:100%;min-height:48px;color:var(--background);background:var(--accent);border:0;justify-content:center;align-items:center;gap:9px;padding:0 16px;font-size:14px;font-weight:600;display:flex}.mobile-start>svg:last-child{margin-left:auto}.mobile-start>svg:first-child{margin-right:auto}.mobile-start:disabled{opacity:.5}.mobile-preflight{color:var(--muted);justify-content:space-between;gap:8px;margin-top:7px;font-size:9px;display:flex}.portrait-lobby{padding-bottom:calc(165px + env(safe-area-inset-bottom))}.portrait-lobby .mobile-departure{z-index:30;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));position:fixed;bottom:0;left:0;right:0}.mobile-recent{margin-top:10px}.mobile-recent p{color:var(--muted);margin:0;padding:6px 0 12px;font-size:12px}.mobile-recent-row{border-top:1px solid var(--line);min-height:60px;color:var(--soft);align-items:center;gap:10px;font-size:12px;display:flex}.mobile-recent-row>strong{overflow-wrap:anywhere;flex:1;min-width:0;font-weight:500}.mobile-recent-row small{color:var(--muted);margin-top:4px;font-size:10px;display:block}.mobile-repeat{width:100%;min-height:44px;color:var(--muted);text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:8px 0;font-size:11px;display:flex}.mobile-repeat>span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.mobile-repeat strong{color:var(--soft);flex-shrink:0;font-weight:400}.mobile-shell .device-popover{z-index:100;width:auto;max-width:none;max-height:calc(var(--mobile-viewport-height,100dvh) - env(safe-area-inset-top) - 12px);overscroll-behavior:contain;border-radius:var(--radius-surface) var(--radius-surface) 0 0;padding-bottom:max(12px,env(safe-area-inset-bottom));background:var(--panel);position:fixed;inset:auto 0 0;overflow-y:auto}.mobile-shell .device-popover button{min-height:44px}.mobile-shell .device-connected-actions button{padding-inline:8px;font-size:12px}.mobile-shell .device-popover-header{z-index:1;background:var(--panel);position:sticky;top:0}.mobile-shell .modal{width:min(680px,100%);max-height:calc(var(--mobile-viewport-height,100dvh) - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 24px)}.mobile-shell .modal-backdrop{padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}@media (max-width:380px){.mobile-plan-select .workout-bars{flex-basis:42px;width:42px}.mobile-plan-select{gap:8px}}.mobile-device-backdrop{z-index:90;background:#0009;position:fixed;inset:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}