@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-ext-wght-normal-B5bTHO_g.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(/assets/instrument-sans-latin-wght-normal-BbzFLZTg.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-V-xxqcpd.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-9HEixskS.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-600-normal-CTOM6hUh.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-600-normal-fLZuRloM.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-vietnamese-600-normal-D2EvbN8M.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-600-normal-iLQfcSjf.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ground:#f5f7fa;--panel:#fff;--ink:#13171d;--muted:#5b6472;--line:#d5dae2;--control-line:#848d9a;--accent:#0c7078;--accent-ink:#fff;--accent-tint:#e8f1f2;--band-great:#7bd389;--band-good:#c3e88d;--band-fair:#ffe08a;--band-poor:#ffb86b;--band-bad:#ff8f8f;--band-none:#d9d9d9;--week-out:#7d8693;--stripe:#0000004d;--band-ink:#1a1a1a;--caveat-bg:#13171d;--caveat-ink:#f5f7fa;--wind-head:#c92a2a;--wind-cross:#8f6400;--wind-tail:#237a36;--series-temp:#c4501f;--series-rain:#1f6fbf;--series-cloud:#6a5fd1;--danger:#b42318;--danger-tint:#fdeceb;--sans:"Instrument Sans Variable", "Instrument Sans", "Helvetica Neue", Arial, sans-serif;--mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--step-display:clamp(28px, 23.97px + 1.074vw, 36px);--step-title:clamp(22px, 18.98px + .805vw, 28px);--step-verdict:clamp(20px, 17.48px + .671vw, 25px);--step-body-l:17px;--step-body:15px;--step-small:13px;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--radius:3px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font:400 var(--step-body) / 1.5 var(--sans);color:var(--ink);background:var(--ground);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme=light]){--ground:#12151a;--panel:#191d24;--ink:#eef1f5;--muted:#97a1ae;--line:#2a3039;--control-line:#646d7a;--accent:#3fb8c1;--accent-ink:#0b1215;--accent-tint:#173338;--band-great:#2f6b45;--band-good:#4f6a2c;--band-fair:#6e5c1c;--band-poor:#7c4a22;--band-bad:#7e3434;--band-none:#3a404b;--week-out:#737d8b;--stripe:#ffffff52;--band-ink:#eef1f5;--caveat-bg:#e3e7ed;--caveat-ink:#12151a;--wind-head:#ff8a8a;--wind-cross:#f0c048;--wind-tail:#69d67e;--series-temp:#f08a5d;--series-rain:#5aa9ec;--series-cloud:#9d94f0;--danger:#ff8f80;--danger-tint:#3a1f1f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--ground:#12151a;--panel:#191d24;--ink:#eef1f5;--muted:#97a1ae;--line:#2a3039;--control-line:#646d7a;--accent:#3fb8c1;--accent-ink:#0b1215;--accent-tint:#173338;--band-great:#2f6b45;--band-good:#4f6a2c;--band-fair:#6e5c1c;--band-poor:#7c4a22;--band-bad:#7e3434;--band-none:#3a404b;--week-out:#737d8b;--stripe:#ffffff52;--band-ink:#eef1f5;--caveat-bg:#e3e7ed;--caveat-ink:#12151a;--wind-head:#ff8a8a;--wind-cross:#f0c048;--wind-tail:#69d67e;--series-temp:#f08a5d;--series-rain:#5aa9ec;--series-cloud:#9d94f0;--danger:#ff8f80;--danger-tint:#3a1f1f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-colour-blind]{--wind-head:#b8331b;--wind-cross:#7a4fb0;--wind-tail:#006e61;--series-cloud:#5f6b78}@media (prefers-color-scheme:dark){:root[data-colour-blind]:not([data-theme=light]){--wind-head:#ff6a55;--wind-cross:#b59bff;--wind-tail:#5fdcc0;--series-cloud:#9aa5b1}}:root[data-colour-blind][data-theme=dark]{--wind-head:#ff6a55;--wind-cross:#b59bff;--wind-tail:#5fdcc0;--series-cloud:#9aa5b1}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}[hidden]{display:none!important}body{background:var(--ground);color:var(--ink);margin:0}h1,h2,h3{color:var(--ink);text-wrap:balance;letter-spacing:-.01em}h2{font-size:var(--step-title);-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;font-weight:600;line-height:1.2}h3{font-size:var(--step-body-l);font-weight:600}.data,td,time{font-variant-numeric:tabular-nums}.data,.departures__score,.departures__hour,.segment-day__watts,.segment-day__hour{font-family:var(--mono);font-variant-numeric:tabular-nums}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.icon{flex-shrink:0}.app{grid-template-rows:auto 1fr auto;min-height:100vh;display:grid}.app-header{justify-content:space-between;align-items:center;gap:var(--s4);padding:var(--s3) var(--s5);border-bottom:1px solid var(--line);background:var(--panel);display:flex}.app-brand{font-size:var(--step-body-l);letter-spacing:-.02em;text-align:left;margin:0;font-weight:700}.app-body{gap:var(--s5);width:100%;max-width:1280px;padding:var(--s5);box-sizing:border-box;grid-template-columns:1fr;margin:0 auto;display:grid}@media (width>=960px){.app-body{grid-template-columns:340px minmax(0,1fr);align-items:start}.app-rail{top:var(--s5);max-height:calc(100vh - 2 * var(--s5));position:sticky;overflow-y:auto}}.app-rail{gap:var(--s4);grid-template-columns:minmax(0,1fr);align-content:start;min-width:0;display:grid}.rail-block{gap:var(--s3);padding:var(--s4);background:var(--panel);border-radius:var(--radius);min-width:0;display:grid}.app-canvas{gap:var(--s4);grid-template-columns:minmax(0,1fr);align-content:start;min-width:0;display:grid}.app-panel{gap:var(--s4);grid-template-columns:minmax(0,1fr);min-width:0;display:grid}.empty-state{gap:var(--s3);padding:var(--s6) var(--s5);border:1px dashed var(--line);border-radius:var(--radius);color:var(--muted);justify-items:start;max-width:65ch;margin:0;display:grid}.empty-state p{margin:0}.app-tabs__list{gap:var(--s4);border-bottom:1px solid var(--line);display:flex}.app-tabs__tab{align-items:center;gap:var(--s2);padding:var(--s2) 2px;color:var(--muted);font:500 var(--step-body) var(--sans);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;margin-bottom:-1px;display:inline-flex}.app-tabs__tab:hover{color:var(--ink)}.app-tabs__tab[aria-selected=true]{color:var(--ink);border-bottom-color:var(--accent)}@media (width<=959px){.app-body{padding:var(--s4)}.app-header{padding:var(--s3) var(--s4);gap:var(--s2)}.app-header__actions{gap:var(--s1)}.app-tabs{z-index:10;background:var(--panel);border-top:1px solid var(--line);padding:var(--s1) var(--s2) calc(var(--s1) + env(safe-area-inset-bottom));position:fixed;bottom:0;left:0;right:0}.app-tabs__list{justify-content:space-around;gap:var(--s1);border-bottom:0}.app-tabs__tab{padding:var(--s2) var(--s1);border-top:2px solid #0000;border-bottom:0;flex-direction:column;flex:1;gap:2px;margin-bottom:0;font-size:12px}.app-tabs__tab[aria-selected=true]{border-top-color:var(--accent)}.app{padding-bottom:calc(64px + env(safe-area-inset-bottom))}}.theme-toggle{border:1px solid var(--line);border-radius:var(--radius);background:var(--ground);gap:2px;padding:2px;display:inline-flex}.theme-toggle__option{width:30px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:2px;place-items:center;padding:0;display:inline-grid}.theme-toggle__option[aria-checked=true]{background:var(--panel);color:var(--ink);box-shadow:0 0 0 1px var(--line)}.caveat{background:var(--caveat-bg);color:var(--caveat-ink);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border-radius:999px;align-items:center;gap:3px;padding:1px 6px 1px 4px;font-size:10px;font-weight:600;display:inline-flex}.app-footer{padding:var(--s3) var(--s5);font-size:var(--step-small);color:var(--muted)}.app-footer p{margin:0}.dropzone{padding:var(--s4);border:1px dashed var(--control-line);border-radius:var(--radius);background:var(--ground);text-align:center;cursor:pointer;justify-items:center;gap:2px;display:grid}.dropzone:hover,.dropzone--active{border-color:var(--accent)}.dropzone p{margin:0}.dropzone__title{color:var(--ink);overflow-wrap:anywhere;font-weight:600}.dropzone__hint{font-size:var(--step-small);color:var(--muted)}@media (pointer:coarse){.dropzone__hint--drag{display:none}}form{gap:var(--s4);flex-wrap:wrap;align-items:end;display:flex}form label{gap:var(--s1);flex-direction:column;font-size:14px;display:flex}form input{padding:var(--s2);border:1px solid var(--control-line);background:var(--panel);color:var(--ink);border-radius:2px}form button{padding:var(--s2) var(--s4);background:var(--accent);color:var(--accent-ink);cursor:pointer;border:none;border-radius:2px}form button:disabled{opacity:.6;cursor:not-allowed}.ride-form{gap:var(--s3);align-items:stretch;display:grid}form.form-stack{flex-wrap:nowrap;display:grid}.ride-form label{font-size:var(--step-small);color:var(--muted);font-weight:500}.ride-form input{box-sizing:border-box;width:100%;min-height:44px;padding:var(--s2) var(--s3);border-radius:var(--radius);font:400 16px var(--sans);font-variant-numeric:tabular-nums}.ride-form select{box-sizing:border-box;width:100%;min-height:44px;padding:var(--s2) var(--s3);border:1px solid var(--control-line);border-radius:var(--radius);background:var(--panel);color:var(--ink);font:400 16px var(--sans)}.pace{gap:var(--s3);border:0;min-width:0;margin:0;padding:0;display:grid}.pace legend{margin-bottom:var(--s2);font-size:var(--step-small);color:var(--muted);padding:0;font-weight:500}.segmented{border:1px solid var(--line);border-radius:var(--radius);background:var(--ground);grid-template-columns:1fr 1fr;gap:2px;padding:2px;display:grid}.ride-form .segmented__option{min-height:40px;color:var(--muted);font-size:var(--step-body);cursor:pointer;border-radius:2px;place-items:center;font-weight:500;display:grid;position:relative}.segmented__option input{opacity:0;cursor:pointer;min-height:0;margin:0;position:absolute;inset:0}.segmented__option:has(input:checked){background:var(--panel);color:var(--ink);box-shadow:0 0 0 1px var(--line)}.segmented__option:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:1px}.field-hint{margin-top:calc(-1 * var(--s2));font-size:var(--step-small);color:var(--muted)}.field-error{margin:calc(-1 * var(--s2)) 0 0;font-size:var(--step-small);color:var(--danger);font-weight:500}.ride-form input[aria-invalid=true]{border-color:var(--danger)}.ride-form input:focus{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);outline:none}.button-primary,.ride-form .button-primary{min-height:44px;padding:var(--s2) var(--s4);border-radius:var(--radius);background:var(--accent);color:var(--accent-ink);font:600 var(--step-body) var(--sans);cursor:pointer;border:0}.button-primary:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 88%, var(--ink))}.button-primary:disabled{opacity:.6;cursor:not-allowed}.verdict{gap:var(--s2);padding:var(--s5);border-radius:var(--radius);background:var(--accent-tint);display:grid}.verdict__line{font-size:var(--step-verdict);letter-spacing:-.015em;margin:0;font-weight:600;line-height:1.25}.verdict__line .data{font-family:var(--sans);font-variant-numeric:tabular-nums;color:var(--accent);font-weight:600}.nowrap{white-space:nowrap}.pace-check{gap:var(--s2);padding:var(--s4) var(--s5);border:1px solid var(--line);border-left:4px solid var(--band-fair);border-radius:var(--radius);background:var(--panel);color:var(--ink);display:grid}.pace-check h3{font-size:var(--step-body);margin:0}.pace-check p{margin:0}.pace-check__pick{font-weight:600}.pace-check__options{gap:var(--s2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.pace-check__option{min-height:44px;padding:var(--s2) var(--s3);border:1px solid var(--control-line);border-radius:var(--radius);background:var(--ground);color:var(--ink);font:inherit;text-align:start;cursor:pointer;justify-items:start;gap:2px;display:grid}.pace-check__option:hover{border-color:var(--accent)}.pace-check__level{font-weight:600}.pace-check__figures{font-size:var(--step-small);color:var(--muted)}.pace-check .link-button{justify-self:start}.pace-note{font-size:var(--step-small);margin:0}.card__note{font-size:var(--step-small)}.sep{color:var(--muted);margin-inline:.15em}.verdict__facts{gap:var(--s1) var(--s5);color:var(--muted);flex-wrap:wrap;margin:0;padding:0;font-size:14px;list-style:none;display:flex}.verdict__facts li .icon{vertical-align:-2px;margin-right:var(--s1)}.verdict__facts .data{color:var(--ink)}@media (width<=959px){.verdict{padding:var(--s4)}}.result{gap:var(--s4);grid-template-columns:minmax(0,1fr);min-width:0;display:grid}.result-section{border-radius:var(--radius);background:var(--panel);padding:0 var(--s4)}.result-section>summary{cursor:pointer;align-items:center;min-height:48px;font-weight:600;list-style:none;display:flex}.result-section>summary::-webkit-details-marker{display:none}.result-section>summary:before{content:"";width:7px;height:7px;margin-right:var(--s3);border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transition:transform .15s;transform:rotate(-45deg)}.result-section[open]>summary:before{transform:rotate(45deg)}.result-section[open]{padding-bottom:var(--s4)}@media (prefers-reduced-motion:reduce){.result-section>summary:before{transition:none}}.result__meta{align-items:flex-start;gap:var(--s3);flex-wrap:wrap;display:flex}.result__meta>.share,.result__meta>.save-route,.result__meta>.share__done{flex-basis:100%}.result__meta>.save-route{padding-top:var(--s3);border-top:1px solid var(--line);order:2}.whatsapp-share{gap:var(--s1);display:grid}.whatsapp-share p{max-width:34em;font-size:var(--step-small);margin:0}.ride-bar{align-items:center;gap:var(--s3);padding:var(--s2) var(--s2) var(--s2) var(--s3);border-radius:var(--radius);background:var(--panel);font-size:14px;display:flex}.ride-bar__name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.ride-bar__edit{min-height:36px;padding:0 var(--s3);border:1px solid var(--accent);border-radius:var(--radius);color:var(--accent);font:600 14px var(--sans);cursor:pointer;background:0 0}@media (width>=960px){.only-mobile{display:none!important}}@media (width<=959px){.app-body[data-mobile-view=prepare] .app-panel--ruta,.app-body:not([data-mobile-view=prepare]) .app-rail{display:none}}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;padding:var(--s2) var(--s3);border-bottom:1px solid var(--line);white-space:nowrap}th{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:500}td{font-family:var(--mono);font-size:13px}.debug-col{background:color-mix(in srgb, var(--band-fair) 22%, transparent);font-family:var(--mono);font-size:12px}.debug-toggle{align-items:center;gap:var(--s2);min-height:44px;font-size:var(--step-small);color:var(--muted);cursor:pointer;display:inline-flex}.muted{color:var(--muted);font-size:var(--step-small)}.data-source-badge{font-size:var(--step-small);color:var(--muted);margin:0}.cards-row{gap:var(--s3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid;container-type:inline-size}@media (width>=1400px){.cards-row{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=560px){.cards-row{grid-template-columns:1fr}}.card__statement-small{font-weight:600}.kit-card__extras{font-size:var(--step-small);color:var(--muted);list-style:outside;padding-inline-start:1.1em!important}.card{gap:var(--s2);padding:var(--s4);border-radius:var(--radius);background:var(--panel);align-content:start;min-width:0;font-size:14px;display:grid}.card h3{font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0}.card p{margin:0}.rain-window{gap:2px;display:grid}.card__statement{font-size:var(--step-body-l);font-weight:600}.table-scroll{max-width:100%;overflow-x:auto}.table-scroll:focus-visible{outline-offset:0}.card__figure{font-family:var(--mono);letter-spacing:-.01em;font-variant-numeric:tabular-nums;color:var(--ink);font-size:24px;font-weight:500}.card ul{gap:var(--s1);margin:0;padding:0;font-size:14px;list-style:none;display:grid}.wind-bar{background:var(--line);border-radius:2px;height:10px;display:flex;overflow:hidden}.card .wind-legend{gap:var(--s1) var(--s3);flex-wrap:wrap;display:flex}.wind-legend li{align-items:center;gap:var(--s1);display:inline-flex}.wind-legend__dot{border-radius:2px;width:8px;height:8px}.wind-bar__head{background:var(--wind-head)}.wind-bar__cross{background:var(--wind-cross)}.wind-bar__tail{background:var(--wind-tail)}.wind-class--head{color:var(--wind-head)}.wind-class--cross{color:var(--wind-cross)}.wind-class--tail{color:var(--wind-tail)}.weather-timeline{gap:var(--s4);padding-top:var(--s3);display:grid}.chart-note{align-items:center;gap:var(--s2);font-size:var(--step-small);margin:0;display:flex}.chart-note__swatch{background:var(--line);border-radius:2px;width:18px;height:10px;display:inline-block}.chart-legend{align-items:center;gap:0 var(--s3);font-size:var(--step-small);color:var(--muted);flex-wrap:wrap;display:inline-flex}.legend-item{align-items:center;gap:var(--s1);display:inline-flex}.legend-swatch{border-radius:2px;width:10px;height:10px;display:inline-block}.legend-line{width:16px;border-top:2px solid;margin-inline-start:var(--s2);display:inline-block}.legend-line--dashed{border-top-style:dashed}.chart-caption{margin:var(--s1) 0 0;font-size:var(--step-small)}.chart-block__head{justify-content:space-between;align-items:baseline;gap:0 var(--s3);flex-wrap:wrap;min-height:1.6em;display:flex}.chart-plot{position:relative}.chart-card{z-index:1;max-width:min(60%,260px);padding:var(--s1) var(--s2);border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--panel) 92%, transparent);color:var(--muted);font-size:var(--step-small);pointer-events:none;gap:1px;margin-left:8px;line-height:1.35;display:grid;position:absolute;top:4px;box-shadow:0 2px 8px #0000001f}.chart-card--left{margin-left:0;margin-right:8px}.chart-card .data,.chart-card__when{color:var(--ink)}.chart-card__when .data{font-weight:600}.chart-block h4{margin:0 0 var(--s1);font-size:var(--step-small);color:var(--muted);font-weight:500}.route-figure{border-radius:var(--radius);background:var(--panel);margin:0;overflow:hidden}.route-map{background:var(--ground);width:100%;height:clamp(260px,45vh,460px);position:relative}.route-profile{border-top:1px solid var(--line);padding:var(--s2) var(--s2) 0 0}.route-profile__caption{justify-content:space-between;gap:var(--s1) var(--s3);padding:0 0 var(--s1) var(--s4);font-size:var(--step-small);color:var(--muted);flex-wrap:wrap;min-height:1.5em;display:flex}.route-profile__caption .data{color:var(--ink)}.route-map .maplibregl-ctrl-bottom-right .maplibregl-ctrl.maplibregl-ctrl-attrib,.route-map .maplibregl-ctrl-attrib{background:color-mix(in srgb, var(--panel) 85%, transparent);color:var(--muted)}.route-map .maplibregl-ctrl-attrib a{color:var(--muted)}.speed-capped{cursor:help;border-bottom:1px dotted;font-style:italic}.speed-capped__mark{font-style:normal;font-weight:700}.speed-capped-note{margin:var(--s2) 0 0;color:var(--muted);max-width:70ch;font-size:12px;line-height:1.5}.advanced-params{padding:var(--s2) var(--s3);border:1px solid var(--line);border-radius:var(--radius)}.advanced-params summary{cursor:pointer;align-items:center;min-height:32px;font-size:14px;font-weight:500;display:flex}.advanced-params__intro{margin:var(--s2) 0;color:var(--muted);font-size:12px}.advanced-params__grid{gap:var(--s3);margin-bottom:var(--s2);grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));display:grid}.advanced-params__grid label{gap:var(--s1);flex-direction:column;font-size:13px;display:flex}.advanced-params__grid small{color:var(--muted);font-size:12px;line-height:1.4}.time-marker{background:var(--caveat-bg);color:var(--caveat-ink);font:500 11px var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none;border-radius:999px;padding:2px 6px}.strava-connect{gap:var(--s2);justify-items:start;font-size:14px;display:grid}.strava-connect p{margin:0}.strava-connect__button{border-radius:6px;line-height:0;display:inline-block}.strava-connect__button img{width:237px;max-width:100%;height:auto;display:block}.strava-picker{gap:var(--s2);padding:var(--s3);border:1px solid var(--line);border-radius:var(--radius);background:var(--ground);display:grid}.strava-link{gap:var(--s1);padding-bottom:var(--s2);border-bottom:1px solid var(--line);font:400 13px var(--sans);display:grid}.strava-link label{color:var(--ink);font-weight:500}.strava-link__row{gap:var(--s2);display:flex}.strava-link__row input{width:0;min-width:0;min-height:44px;padding:0 var(--s3);border:1px solid var(--control-line);border-radius:var(--radius);background:var(--panel);color:var(--ink);font:400 16px var(--sans);flex:1}.strava-link p{margin:0}.segments__link{border-bottom:0;padding-bottom:0}.strava-picker__tabs{gap:var(--s2);display:flex}.strava-picker__tabs button{min-height:32px;padding:var(--s1) var(--s3);border:1px solid var(--control-line);background:var(--panel);color:var(--muted);cursor:pointer;font:500 13px var(--sans);border-radius:999px}.strava-picker__tabs button[aria-selected=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.strava-picker__list{max-height:260px;margin:0;padding:0;list-style:none;overflow-y:auto}.strava-picker__list button{text-align:left;width:100%;min-height:44px;padding:var(--s2);border:none;border-bottom:1px solid var(--line);color:var(--muted);cursor:pointer;font:400 13px var(--sans);background:0 0;flex-direction:column;gap:2px;display:flex}.strava-picker__list button.is-selected{background:var(--accent-tint)}.strava-picker__name{color:var(--ink);overflow-wrap:anywhere;font-weight:500}.strava-picker__attribution{width:auto;max-width:100%;height:20px;margin:10px 0 0;display:block}.strava-selection{color:var(--muted);margin:0;font-size:13px}.strava-selection strong{color:var(--ink)}.form-stack{gap:var(--s3);align-items:stretch;display:grid}.form-stack label{font-size:var(--step-small);color:var(--muted);font-weight:500}.form-stack input{box-sizing:border-box;width:100%;min-height:44px;padding:var(--s2) var(--s3);border-radius:var(--radius);font:400 16px var(--sans)}.form-stack input:focus{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);outline:none}.form-stack small,.form-stack p{font-size:var(--step-small);color:var(--muted);margin:0}.colour-blind{gap:var(--s1);display:grid}.colour-blind__label{align-items:center;gap:var(--s2);cursor:pointer;min-height:44px;font-weight:500;display:flex}.colour-blind__label input{width:20px;height:20px;accent-color:var(--accent);cursor:pointer;margin:0}.colour-blind__hint{font-size:var(--step-small);color:var(--muted);margin:0}.rail-title{font-size:var(--step-body-l);margin:0;font-weight:600}.account-panel--in{gap:var(--s3);justify-items:start;font-size:14px;display:grid}.account-panel__who{overflow-wrap:anywhere}.account-notice,.account-unverified{font-size:var(--step-small);color:var(--muted);margin:0}.link-button{min-height:32px;color:var(--accent);text-underline-offset:2px;cursor:pointer;font:inherit;text-align:left;background:0 0;border:none;padding:0;text-decoration:underline}.link-button:disabled{color:var(--muted);cursor:not-allowed}.link-button--danger{color:var(--danger);font-weight:600}.account-delete{padding:var(--s3) var(--s4);border:1px solid color-mix(in srgb, var(--danger) 45%, transparent);border-radius:var(--radius);background:var(--danger-tint);border-left-width:4px;justify-self:stretch}.account-delete p{margin:0}.account-delete__title{font-size:var(--step-body);margin:0;font-weight:600}.account-delete__actions{gap:var(--s2);flex-wrap:wrap;display:flex}.button-danger{min-height:44px;padding:var(--s2) var(--s4);border-radius:var(--radius);background:var(--danger);color:var(--ground);font:600 var(--step-body) var(--sans);cursor:pointer;border:0}.button-danger:disabled{opacity:.6;cursor:not-allowed}.saved-routes{gap:var(--s3);display:grid}.saved-routes>p,.saved-routes ul{margin:0}.saved-routes ul{gap:var(--s2);padding:0;list-style:none;display:grid}.saved-route{gap:var(--s2);padding:var(--s3);border:1px solid var(--line);border-radius:var(--radius);background:var(--ground);display:grid}.saved-route-name{overflow-wrap:anywhere;font-weight:600}.saved-route-origin{font-size:var(--step-small);color:var(--muted);margin-top:-6px}.saved-route label{gap:var(--s1);font-size:var(--step-small);color:var(--muted);min-width:0;font-weight:500;display:grid}.saved-route input{box-sizing:border-box;width:100%;min-width:0;min-height:44px;padding:0 var(--s2);border:1px solid var(--control-line);border-radius:var(--radius);background:var(--panel);color:var(--ink);font:400 16px var(--sans)}.saved-route__actions{align-items:center;gap:var(--s2) var(--s4);flex-wrap:wrap;display:flex}.saved-route-confirm{align-items:center;gap:var(--s1) var(--s3);flex-wrap:wrap;flex-basis:100%;font-size:14px;display:flex}.save-route{gap:var(--s2);flex-wrap:wrap;align-items:end;margin:0;display:flex}.save-route label{gap:var(--s1);font-size:var(--step-small);color:var(--muted);font-weight:500;display:grid}.save-route input{min-height:44px;padding:0 var(--s3);border:1px solid var(--control-line);border-radius:var(--radius);background:var(--panel);color:var(--ink);font:400 16px var(--sans)}.save-route small{color:var(--muted);flex-basis:100%}.save-route--done{color:var(--muted);font-size:14px}.strava-selection .link-button{margin-left:var(--s2)}.crash{gap:var(--s4);max-width:36rem;margin:var(--s7) auto;padding:var(--s5);justify-items:start;display:grid}.crash__message{gap:var(--s3);display:grid}.crash h1{font-size:var(--step-title);margin:0}.crash p{color:var(--muted);margin:0}.share{gap:var(--s3);padding:var(--s4);border-radius:var(--radius);background:var(--panel);flex-basis:100%;display:grid}.share>p{margin:0}.share__option{gap:var(--s2);cursor:pointer;align-items:flex-start;font-size:14px;display:flex}.share__option input{width:20px;height:20px;accent-color:var(--accent);flex-shrink:0;margin:1px 0 0}.share__link{gap:var(--s2);display:flex}.share__link input{min-width:0;min-height:44px;padding:0 var(--s3);border:1px solid var(--control-line);border-radius:var(--radius);background:var(--ground);color:var(--ink);font:400 14px var(--mono);flex:1}.share__actions{align-items:center;gap:var(--s3);flex-wrap:wrap;display:flex}a.button-primary,a.button-secondary{box-sizing:border-box;align-items:center;text-decoration:none;display:inline-flex}.calendar-actions{justify-items:start;gap:var(--s1);display:grid}.result__meta>.calendar-actions{display:contents}.result__meta>.calendar-actions>.link-button{min-height:0;margin-top:calc(-1 * var(--s2));font-size:var(--step-small);text-align:left;flex-basis:100%;order:1;justify-content:flex-start}.image-export__preview{border:1px solid var(--line);border-radius:var(--radius);width:100%;max-width:360px;height:auto;display:block}.image-export__text{gap:var(--s1);font-size:var(--step-small);display:grid}.image-export__text textarea{box-sizing:border-box;width:100%;padding:var(--s2) var(--s3);border:1px solid var(--control-line);border-radius:var(--radius);background:var(--ground);color:var(--ink);font:400 14px/1.5 var(--sans);resize:vertical}.share__done{color:var(--muted);margin:0;font-size:14px}.shared-banner{gap:var(--s3);padding:var(--s3) var(--s4);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:var(--radius);background:var(--panel);font-size:14px;display:grid}.shared-banner p{margin:0}.shared-banner__actions{align-items:center;gap:var(--s3);flex-wrap:wrap;display:flex}.onboarding{gap:var(--s3);padding:var(--s4);border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);border-radius:var(--radius);background:var(--accent-tint);justify-items:start;display:grid}.onboarding__steps{gap:var(--s2);margin:0;padding-left:1.2em;font-size:14px;display:grid}.onboarding__steps li::marker{color:var(--accent);font-family:var(--mono);font-weight:600}.loading{gap:var(--s3);padding:var(--s5);border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);color:var(--muted);display:grid}.loading p{margin:0}.loading__bar{background:var(--line);border-radius:999px;height:3px;display:block;position:relative;overflow:hidden}.loading__bar:after{content:"";border-radius:inherit;background:var(--accent);width:35%;animation:1.3s ease-in-out infinite loading-slide;position:absolute;inset:0 auto 0 0}@keyframes loading-slide{0%{transform:translate(-100%)}to{transform:translate(300%)}}@media (prefers-reduced-motion:reduce){.loading__bar:after{opacity:.5;width:100%;animation:none}}.notice{gap:var(--s3);padding:var(--s3) var(--s4);border:1px solid color-mix(in srgb, var(--danger) 45%, transparent);border-radius:var(--radius);background:var(--danger-tint);color:var(--ink);border-left-width:4px;align-items:flex-start;display:flex}.notice>.icon{color:var(--danger);margin-top:2px}.notice__body{gap:var(--s1);justify-items:start;display:grid}.notice__body p{margin:0}[role=alert]:not(.notice){padding:var(--s2) var(--s3);border-left:3px solid var(--danger);border-radius:0 var(--radius) var(--radius) 0;background:var(--danger-tint);color:var(--ink);margin:0;font-size:14px}.lang-toggle{min-width:36px;min-height:36px;padding:0 var(--s2);border:1px solid var(--line);border-radius:var(--radius);background:var(--ground);color:var(--ink);font:600 13px var(--mono);cursor:pointer;position:relative}.app-header__actions{align-items:center;gap:var(--s2);display:flex}.header-account{white-space:nowrap;align-items:center;gap:var(--s1);min-height:36px;padding:0 var(--s3);border:1px solid var(--line);border-radius:var(--radius);background:var(--ground);color:var(--ink);font:500 14px var(--sans);cursor:pointer;display:inline-flex}.stops-panel{font-size:14px}.stops-panel summary{cursor:pointer;min-height:32px;color:var(--accent);align-items:center;font-weight:500;display:flex}.stops-panel__intro{margin:var(--s2) 0;color:var(--muted);font-size:var(--step-small)}.stops-panel ul{margin:var(--s2) 0;gap:var(--s2);padding:0;list-style:none;display:grid}.stops-panel li{gap:var(--s2);grid-template-columns:1fr 1fr auto;align-items:end;display:grid}.stops-panel button.link-button{min-height:44px}.departures{gap:var(--s4);min-width:0;display:grid}.departures>p{margin:0}.departures-launcher{gap:var(--s3);flex-wrap:wrap;align-items:center;display:flex}.departures__heatmap{gap:var(--s1);grid-template-columns:repeat(6,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.departures__first{grid-column-start:var(--start-6)}@media (width>=600px){.departures__heatmap{grid-template-columns:repeat(12,minmax(0,1fr))}.departures__first{grid-column-start:var(--start-12)}}.departures__cell{width:100%;min-height:44px;padding:var(--s1) 2px;cursor:pointer;font:inherit;color:var(--band-ink);border:2px solid #0000;border-radius:2px;justify-items:center;gap:0;display:grid;position:relative}.departures__cell--great{background:var(--band-great)}.departures__cell--good{background:var(--band-good)}.departures__cell--fair{background:var(--band-fair)}.departures__cell--poor{background:var(--band-poor)}.departures__cell--bad{background:var(--band-bad)}.departures__cell--best{border-color:var(--ink)}.departures__cell:hover{outline:2px solid var(--control-line);outline-offset:1px}.departures__hour{font-size:11px}.departures__score{font-size:15px;font-weight:600}.departures__legend{font-size:var(--step-small)}.departures__compare{gap:var(--s3);grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));display:grid}.departures__card label{gap:var(--s1);font-size:var(--step-small);color:var(--muted);font-weight:500;display:grid}.departures__card select{min-height:44px;padding:0 var(--s3);border:1px solid var(--control-line);border-radius:var(--radius);background:var(--panel);color:var(--ink);font:400 16px var(--mono);font-variant-numeric:tabular-nums}.departures__card-title{margin:0}.departures__fixed{min-height:44px;padding:0 var(--s3);border-radius:var(--radius);background:var(--ground);color:var(--ink);border:1px solid #0000;align-items:center;margin:0;font-size:16px;display:flex}.departures__headline{align-items:baseline;gap:var(--s1);margin:var(--s2) 0 0;flex-wrap:wrap;display:flex}.departures__headline .data{font-size:var(--step-title);color:var(--ink);font-weight:600}.departures__of{color:var(--muted)}.departures__badge{margin-left:var(--s2);padding:2px var(--s2);background:var(--accent-tint);color:var(--accent);border-radius:999px;align-self:center;font-size:12px;font-weight:600}.departures__detail{gap:var(--s1) var(--s3);margin:var(--s2) 0;grid-template-columns:auto 1fr;font-size:14px;display:grid}.departures__detail dt{color:var(--muted)}.departures__detail dd{color:var(--ink);margin:0}.button-secondary{min-height:44px;padding:var(--s2) var(--s4);border:1px solid var(--accent);border-radius:var(--radius);color:var(--accent);font:600 var(--step-body) var(--sans);cursor:pointer;background:0 0}.button-secondary:hover{background:var(--accent-tint)}.segments{gap:var(--s4);min-width:0;display:grid}.segments__form{gap:var(--s3);padding:var(--s4);border-radius:var(--radius);background:var(--panel);grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;display:grid}.segments__form>*{grid-column:1/-1;margin:0}.segments__form>label:not(.segments__segment){grid-column:auto}.segments__form label{gap:var(--s1);font-size:var(--step-small);color:var(--muted);font-weight:500;display:grid}.segments__form select,.segments__form input{box-sizing:border-box;width:100%;min-height:44px;padding:0 var(--s3);border:1px solid var(--control-line);border-radius:var(--radius);background:var(--panel);color:var(--ink);font:400 16px var(--sans);font-variant-numeric:tabular-nums}.segments__go{justify-self:start}.segment-day{gap:var(--s4);min-width:0;display:grid}.segment-day>p{margin:0}.segment-day__table td{font-family:var(--sans);vertical-align:middle;font-size:14px}.segment-day__table .num{text-align:right}.segment-day__table .segment-day__hour,.segment-day__table .segment-day__watts{font-family:var(--mono);font-variant-numeric:tabular-nums}.segment-day__hour{color:var(--muted)}.segment-day__table .segment-day__watts{font-size:15px}.segment-day__row--pick td{background:var(--accent-tint);font-weight:600}.segment-day__row--pick .segment-day__hour{color:var(--ink)}.segment-day__row--pick .segment-day__watts{color:var(--accent)}.segment-day__pick{margin-left:var(--s2);background:var(--accent);color:var(--accent-ink);font:600 10px var(--sans);letter-spacing:.04em;text-transform:uppercase;vertical-align:1px;border-radius:999px;padding:1px 6px}.segment-day__effort{color:var(--muted)}.segment-day__row--pick .segment-day__effort{color:var(--ink)}.dot{width:10px;height:10px;margin-right:var(--s2);vertical-align:-1px;border-radius:2px;display:inline-block}.band-best{background:var(--band-great)}.band-good{background:var(--band-good)}.band-fair{background:var(--band-fair)}.band-poor{background:var(--band-poor)}.band-impossible{background:var(--band-none)}.segment-day__legend{font-size:12px}@media (width<=599px){.segment-day__table th,.segment-day__table td{padding:var(--s2) var(--s1)}.segment-day__table th:first-child,.segment-day__table td:first-child{padding-left:var(--s2)}.segment-day__effort{white-space:normal;min-width:7em}.segment-day__pick{width:fit-content;margin:2px 0 0;display:block}}.day-chooser{gap:var(--s2);flex-wrap:wrap;display:flex}.day-chooser__day{min-height:36px;padding:var(--s1) var(--s3);border:1px solid var(--line);background:var(--panel);color:var(--ink);font:500 var(--step-small) var(--sans);cursor:pointer;border-radius:999px}.day-chooser__day[aria-checked=true]{border-color:var(--accent);background:var(--accent-tint);color:var(--accent)}.day-chooser__day:disabled{opacity:.6;cursor:progress}.strava-connect__placeholder{border-radius:var(--radius);background:var(--line);opacity:.35;width:237px;max-width:100%;height:48px}.dropzone__error{margin:0 0 var(--s2);font-size:var(--step-small);color:var(--danger);font-weight:500}.saved-route__head{gap:var(--s3);align-items:center;display:flex}.saved-route__thumb{border:1px solid var(--line);border-radius:var(--radius);background:var(--ground);color:var(--accent);flex:none;padding:2px}.saved-route__title{gap:2px;min-width:0;display:grid}.saved-route__stats,.saved-route__last{font-size:var(--step-small)}.lazy-placeholder{border-radius:var(--radius);background:color-mix(in srgb, var(--line) 35%, transparent)}.departures__cell--gone{opacity:.35;cursor:not-allowed;filter:grayscale(.7)}.day-chooser{scrollbar-width:thin;flex-wrap:nowrap;padding-bottom:2px;overflow-x:auto}.day-chooser__day{flex:none}.lazy-placeholder{place-items:center;display:grid}.badge{border:1px solid var(--line);color:var(--muted);vertical-align:middle;border-radius:999px;padding:0 6px;font-size:11px;font-weight:500;line-height:18px;display:inline-block}.shared-banner__fresh{color:var(--accent);margin:0;font-weight:600}.climbs>summary{gap:0 var(--s2);flex-wrap:wrap}.climbs__summary{font-size:var(--step-small);font-weight:400}.climbs__list{gap:var(--s3);grid-template-columns:1fr;margin:0;padding:0;list-style:none;display:grid}.climb{gap:var(--s1);padding:var(--s3) var(--s4);border-radius:var(--radius);background:var(--ground);font-size:14px;display:grid}.climb p{margin:0}.climb__head{align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.climb__name{font-weight:600}.climb__span,.climb__weather{font-size:var(--step-small)}.climb__cat--HC,.climb__cat--1{border-color:var(--wind-head);color:var(--wind-head)}.route-map__loading{z-index:2;background:var(--ground);pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.climb__steepest{font-size:var(--step-small)}.pace-check p .data,.verdict__facts .data,.card__note .data,.climb__weather .data{font-family:var(--sans);font-variant-numeric:tabular-nums;font-weight:600}.confidence:before{content:"";vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-inline-end:6px;display:inline-block}.confidence--high:before{background:var(--band-great)}.confidence--medium:before{background:var(--band-fair)}.confidence--low:before{background:var(--band-bad)}.settings-menu{position:relative}.settings-menu__button{place-items:center;padding:0;display:inline-grid}.settings-menu__panel{top:calc(100% + var(--s2));z-index:30;gap:var(--s3);min-width:240px;max-width:calc(100vw - 2 * var(--s4));box-sizing:border-box;padding:var(--s3) var(--s4);border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);display:grid;position:absolute;right:0;box-shadow:0 8px 24px #0000002e}.settings-menu__row{justify-content:space-between;align-items:center;gap:var(--s3);font-size:14px;display:flex}.settings-menu__choice{width:auto;min-width:36px;padding:0 var(--s2);font:600 13px var(--mono)}.settings-menu__choice[aria-pressed=true]{background:var(--panel);color:var(--ink);box-shadow:0 0 0 1px var(--line)}.app-header{min-width:0}.app-brand{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.app-brand__mark{align-items:center;gap:var(--s2);vertical-align:middle;display:inline-flex}.app-brand__mark .icon{color:var(--accent)}.app-brand__two{font-family:var(--mono);color:var(--accent);margin:0 .5px;font-weight:600}.app-brand__beta{margin-left:var(--s1);letter-spacing:.02em;vertical-align:.2em}.ride-alert{gap:var(--s2);padding:var(--s3);border:1px solid var(--line);border-radius:var(--radius);background:var(--ground);font-size:14px;display:grid}.ride-alert p{margin:0}.end-marker{border:2px solid var(--ink);background:var(--ink);color:var(--panel);font:600 12px var(--sans);white-space:nowrap;pointer-events:none;border-radius:999px;margin-bottom:7px;padding:2px 8px;position:relative;box-shadow:0 1px 4px #00000040}.end-marker:after{content:"";border:6px solid #0000;border-top-color:var(--ink);border-bottom:0;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}.end-marker--finish{background:var(--panel);color:var(--ink)}.rider-profile{padding:var(--s2) var(--s3);border-radius:var(--radius);background:var(--ground);min-width:0}.rider-profile>summary{align-items:baseline;gap:var(--s1) var(--s2);min-height:36px;padding:var(--s1) 0;cursor:pointer;flex-wrap:wrap;display:flex}.rider-profile__title{color:var(--ink);font-weight:600}.rider-profile__summary{font-size:var(--step-small);overflow-wrap:anywhere;min-width:0}.rider-profile__intro{margin:var(--s2) 0;font-size:var(--step-small)}.rider-profile__grid{gap:var(--s3);margin-bottom:var(--s2);grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));display:grid}.rider-profile__grid>label{gap:var(--s1);font-size:var(--step-small);color:var(--muted);flex-direction:column;min-width:0;font-weight:500;display:flex}.rider-profile__grid input,.rider-profile__grid select{box-sizing:border-box;width:100%;min-height:44px;padding:0 var(--s3);border:1px solid var(--control-line);border-radius:var(--radius);background:var(--panel);color:var(--ink);font:400 16px var(--sans)}.rider-profile__grid small{color:var(--muted);font-size:12px;font-weight:400;line-height:1.4}.rider-profile__grid>.field-error{margin:calc(-1 * var(--s2)) 0 0;grid-column:1/-1}.rider-profile__advanced{font-size:var(--step-small);grid-column:1/-1}.rider-profile__advanced summary{cursor:pointer;align-items:center;min-height:32px;font-weight:500;display:flex}.segments__form .rider-profile,.segments__form .segments__choice,.segments__form .stretch-picker,.segments__form .segments__climbs{grid-column:1/-1}.segments__choice{gap:var(--s2);border:0;min-width:0;margin:0;padding:0;display:grid}.segments__choice legend{margin-bottom:var(--s2);font-size:var(--step-small);color:var(--muted);padding:0;font-weight:500}.segmented--three{grid-template-columns:repeat(3,minmax(0,1fr))}.segments .segmented__option{min-height:44px;padding:var(--s1);color:var(--muted);font-size:var(--step-small);text-align:center;cursor:pointer;border-radius:2px;place-items:center;font-weight:500;line-height:1.25;display:grid;position:relative}.segments .segmented__option:has(input:disabled){opacity:.55;cursor:not-allowed}.segments__form .segmented__option input,.segments__form .segments__climb input{width:auto;min-height:0;padding:0}.segments__climbs{gap:var(--s2);border:0;min-width:0;margin:0;padding:0;display:grid}.segments__form .segments__climb{align-items:flex-start;gap:var(--s2);padding:var(--s2) var(--s3);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);cursor:pointer;font-weight:400;display:flex}.segments__climb:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.segments__climb input{accent-color:var(--accent);margin-top:3px}.segments__fake{padding:var(--s2) var(--s3);border-radius:var(--radius);background:var(--caveat-bg);color:var(--caveat-ink);font-size:var(--step-small);margin:0}.stretch-picker{gap:var(--s2);min-width:0;display:grid}.stretch-picker__chart{border:1px solid var(--line);border-radius:var(--radius);background:var(--ground);touch-action:none;cursor:crosshair;width:100%;height:120px;display:block}.stretch-picker__profile{fill:var(--line)}.stretch-picker__selection{fill:var(--accent);fill-opacity:.25;stroke:var(--accent);stroke-width:2px;vector-effect:non-scaling-stroke}.stretch-picker__help{font-size:var(--step-small);margin:0}.stretch-picker__inputs{gap:var(--s3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.climb__analyse{margin-top:var(--s1);justify-self:start}.segment-effects{padding:var(--s3) var(--s4);border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.segment-effects h3{margin:0 0 var(--s2)}.segment-effects ul{gap:var(--s1);margin:0;padding-left:1.2em;display:grid}.rider-profile__coefficients{margin:calc(-1 * var(--s2)) 0 0;grid-column:1/-1;font-size:12px}.segment-why{gap:var(--s3);padding:var(--s3) var(--s4);border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);min-width:0;display:grid}.segment-why h3,.segment-why h4{margin:0}.segment-chart{min-width:0;margin:0}.segment-chart figcaption,.segment-chart__wind-label,.segment-chart__help{font-size:var(--step-small);margin:0}.segment-chart__wind-label{margin-top:var(--s2)}.segment-why__hour{align-items:center;gap:var(--s2);font-size:var(--step-small);color:var(--muted);display:flex}.segment-why__hour select{min-height:40px;padding:0 var(--s2);border:1px solid var(--control-line);border-radius:var(--radius);background:var(--panel);color:var(--ink);font:400 16px var(--sans)}.segment-why__body{gap:var(--s3);grid-template-columns:minmax(0,1fr);display:grid}@media (width>=720px){.segment-why__body{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start}}.segment-why__text{gap:var(--s2);min-width:0;display:grid}.segment-why__text p{margin:0}.segment-why__caveats{gap:var(--s1);font-size:var(--step-small);margin:0;padding-left:1.2em;display:grid}.segment-why__caveats:empty{display:none}.segment-why__factor{margin:0;font-weight:500}.segment-map{gap:var(--s1);margin:0;display:grid}.segment-map__canvas,.segment-map--loading{border-radius:var(--radius);background:var(--ground);width:100%;height:240px;overflow:hidden}.segment-map figcaption{font-size:var(--step-small)}.segment-breakdown p{margin:0 0 var(--s1);font-size:var(--step-small)}.segment-breakdown ul{gap:var(--s1);margin:0;padding:0;list-style:none;display:grid}.segment-breakdown__row{align-items:center;gap:var(--s2);font-size:var(--step-small);grid-template-columns:minmax(0,9em) minmax(0,1fr) auto;display:grid}.segment-breakdown__bar{background:var(--ground);border-radius:999px;height:10px;overflow:hidden}.segment-breakdown__bar span{background:var(--muted);border-radius:999px;height:100%;display:block}.segment-breakdown__row--wind .segment-breakdown__bar span{background:var(--wind-head)}.segment-breakdown__row--wind .segment-breakdown__bar span.is-negative{background:var(--wind-tail)}.segment-day__flat{padding:var(--s2) var(--s3);border-radius:var(--radius);background:var(--ground);margin:0;font-weight:500}.segment-day__all>summary{cursor:pointer;align-items:center;min-height:40px;font-weight:600;display:flex}.dot.zone-easy,.dot.zone-tempo{background:var(--wind-tail)}.dot.zone-sweetspot,.dot.zone-hard{background:var(--wind-cross)}.dot.zone-limit,.dot.zone-above{background:var(--wind-head)}.segment-day{grid-template-columns:minmax(0,1fr)}.segment-day>*,.segment-day__all{min-width:0}.segment-map__frame{position:relative}.segment-map__wind{top:var(--s2);left:var(--s2);background:var(--caveat-bg);color:var(--caveat-ink);font:500 12px var(--sans);pointer-events:none;border-radius:999px;align-items:center;gap:4px;margin:0;padding:2px 8px 2px 4px;display:inline-flex;position:absolute}.ftp-band__detail{margin-top:2px;display:block}.segments__summary{justify-content:space-between;align-items:center;gap:var(--s2) var(--s3);padding:var(--s3);border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);flex-wrap:wrap;display:flex}.segments__summary p{overflow-wrap:anywhere;min-width:0;margin:0;font-weight:500}.segments__results{gap:var(--s4);min-width:0;scroll-margin-top:var(--s3);display:grid}.segment-why__text p .data,.segment-why__factor .data,.segment-effects .data,.segment-day__flat .data,.segment-map figcaption .data{font-family:var(--sans);font-variant-numeric:tabular-nums;font-weight:600}.segment-week{gap:var(--s3);min-width:0;display:grid}.segment-week__grid{grid-template-columns:4.5em repeat(24,minmax(0,1fr));align-items:center;gap:2px;min-width:0;display:grid}.segment-week__row{display:contents}.segment-week__hour{font:11px var(--mono);color:var(--muted)}.segment-week__day{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.segment-week__cell{cursor:pointer;border:0;border-radius:2px;width:100%;min-width:0;height:22px;padding:0;display:block}.segment-week__cell.is-empty{cursor:default;background:0 0}.segment-week__cell.band-impossible{background:var(--week-out)}.segment-week__cell.is-caveat{background-image:repeating-linear-gradient(135deg, transparent 0 3px, var(--stripe) 3px 5px)}.segment-week__cell.is-best{outline:2px solid var(--ink);outline-offset:1px}.segment-week__readout{min-height:1.5em;margin:var(--s1) 0 0;font-size:var(--step-small);color:var(--ink)}.segment-week__help{font-size:var(--step-small);margin:0}.segment-week__days{gap:var(--s1);margin:0;padding:0;list-style:none;display:grid}.segment-week__days li{justify-content:space-between;gap:var(--s1) var(--s3);padding:var(--s1) 0;border-bottom:1px solid var(--line);font-size:var(--step-small);flex-wrap:wrap;display:flex}.segment-week__days li.is-best{font-weight:600}@media (width<=480px){.segment-week__grid{grid-template-columns:3.4em repeat(24,minmax(0,1fr));gap:1px}.segment-week__cell{height:18px}}.segment-xoms{gap:var(--s2);display:grid}.segment-xoms p{margin:0;font-weight:500}.segment-xoms__actions{gap:var(--s2);flex-wrap:wrap;display:flex}.segments,.segments__results,.segment-why{grid-template-columns:minmax(0,1fr)}.segment-versus{gap:var(--s3);padding:var(--s3) var(--s4);border:2px solid var(--accent);border-radius:var(--radius);background:var(--panel);min-width:0;display:grid}.segment-versus h2,.segment-versus p{margin:0}.segment-versus__bars{gap:var(--s2);margin:0;padding:0;list-style:none;display:grid}.segment-versus__bars li{gap:2px var(--s2);grid-template-columns:minmax(0,9em) minmax(0,1fr);grid-template-areas:"who value""bar bar";align-items:baseline;display:grid}.segment-versus__who{grid-area:who;font-weight:600}.segment-versus__value{font-variant-numeric:tabular-nums;grid-area:value}.segment-versus__bar{background:var(--ground);border-radius:999px;grid-area:bar;height:14px;overflow:hidden}.segment-versus__bar span{background:var(--muted);border-radius:999px;height:100%;display:block}.segment-versus__bar span.is-me{background:var(--accent)}.segment-versus__verdict{font-size:var(--step-body-l);font-weight:600}.header-plans{white-space:nowrap;min-height:36px;padding:0 var(--s3);border:1px solid var(--accent);border-radius:var(--radius);color:var(--accent);font:600 14px var(--sans);cursor:pointer;background:0 0}.header-plans:hover{background:var(--accent-tint)}.plan-status{font-size:var(--step-small);color:var(--muted);margin:0}.plan-status--spent{color:var(--ink)}.plan-status--door,.plan-notice{gap:var(--s3);padding:var(--s3) var(--s4);border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);border-radius:var(--radius);background:var(--accent-tint);color:var(--ink);border-left-width:4px;justify-items:start;display:grid}.plan-status--door p,.plan-notice p{font-size:var(--step-body);margin:0}.plan-badge{padding:2px var(--s2);background:var(--accent);color:var(--accent-ink);font:600 var(--step-small) var(--sans);letter-spacing:.02em;border-radius:999px;display:inline-block}.premium-gate{gap:var(--s3);max-width:65ch;padding:var(--s5);border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);justify-items:start;display:grid}.premium-gate h2{font-size:var(--step-verdict);margin:0}.premium-gate p{color:var(--muted);margin:0}.plan-return{margin:0 var(--s4);padding:var(--s2) var(--s4);border-radius:var(--radius);background:var(--accent-tint);color:var(--ink)}.plans-dialog{box-sizing:border-box;width:min(640px,100vw - 32px);max-height:calc(100dvh - 32px);padding:var(--s5);border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);color:var(--ink);overflow-y:auto}.plans-dialog[open]{gap:var(--s4);display:grid}.plans-dialog>*{min-width:0}.plans-dialog::backdrop{background:#00000073}.plans-dialog__head{justify-content:space-between;align-items:baseline;gap:var(--s3);display:flex}.plans-dialog__head h2{font-size:var(--step-title);margin:0}.plans-dialog p{margin:0}.plans-table{border-collapse:collapse;width:100%;font-size:var(--step-small)}.plans-table th,.plans-table td{padding:var(--s2);border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-family:var(--sans);font-size:var(--step-small);color:var(--ink);text-transform:none;letter-spacing:normal;white-space:normal}.plans-table thead th{color:var(--muted);font-weight:600}.plans-table tbody th{font-weight:400}.plans-table td{width:24%}.plans-yes{color:var(--accent);font-weight:700}.plans-no{color:var(--muted)}.plans-prices{gap:var(--s3);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.plans-price{gap:var(--s1);padding:var(--s4);border:1px solid var(--line);border-radius:var(--radius);align-content:start;justify-items:start;display:grid}.plans-price--featured{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.plans-price__amount{font:600 var(--step-body-l) var(--sans)}.plans-price__saving{font-size:var(--step-small);color:var(--accent);font-weight:600}.plans-price button{margin-top:var(--s2)}.legal-links{gap:var(--s1) var(--s4);font-size:var(--step-small);flex-wrap:wrap;display:flex}.legal-links a{color:var(--muted)}.legal-links a:hover{color:var(--ink)}.legal-page{background:var(--ground);min-height:100vh;color:var(--ink);grid-template-rows:auto 1fr auto;display:grid}.legal-page__header{justify-content:space-between;align-items:center;gap:var(--s4);padding:var(--s3) var(--s5);border-bottom:1px solid var(--line);background:var(--panel);display:flex}.legal-page__brand{font-size:var(--step-body-l);letter-spacing:-.02em;color:var(--ink);font-weight:700;text-decoration:none}.legal-page__main{padding:var(--s6) var(--s4)}.legal-page__text{max-width:68ch;margin:0 auto;line-height:1.6}.legal-page__text h1{margin:0 0 var(--s2);letter-spacing:-.02em;font-size:28px}.legal-page__text h2{margin:var(--s6) 0 var(--s2);font-size:19px}.legal-page__text h3{margin:var(--s5) 0 var(--s1);font-size:var(--step-body)}.legal-page__text p,.legal-page__text ul{margin:0 0 var(--s3)}.legal-page__text li{margin-bottom:var(--s1)}.legal-page__text a{color:var(--accent);overflow-wrap:anywhere}.legal-page__footer{padding:var(--s4) var(--s5);border-top:1px solid var(--line)}@media (width<=599px){.legal-page__header,.legal-page__footer{padding-inline:var(--s4)}.legal-page__main{padding:var(--s5) var(--s4)}}
