@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--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{:root,:host{--font-sans:ui-sans-serif, system-ui, 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;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{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}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, 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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{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{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,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{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-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{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.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}.inline{display:inline}.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}.uppercase{text-transform:uppercase}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.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,)}}:root{--ink:#15201c;--ink-soft:#25342e;--paper:#f4f1e7;--panel:#fffdf7;--muted:#69756f;--line:#d9d8cd;--accent:#f2ce3f;--accent-bright:#ffdc45;--accent-border:#f2ce3f59;--accent-medium:#f2ce3fa6;--accent-soft:#f2ce3f47;--accent-dark:#8a6712;--divider-blue:#245f8f;--divider-blue-border:#4e8fbe;--shadow:0 20px 55px #1b26201a;--font-geist-sans:"Segoe UI", Arial, sans-serif;--font-geist-mono:"Cascadia Mono", "SFMono-Regular", Consolas, monospace}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-geist-sans), Arial, sans-serif;margin:0}button{font:inherit}button:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--accent-bright);outline-offset:2px}.reference-page{background:radial-gradient(circle at 82% 3%, #f2ce3f38, transparent 28rem), var(--paper);min-height:100svh;padding:clamp(22px,4vw,58px)}.reference-page a{color:inherit}.reference-page>*{width:min(1120px,100%);margin-inline:auto}.reference-brand{letter-spacing:.03em;margin-bottom:28px;font-size:16px;font-weight:900;text-decoration:none;display:inline-block}.reference-breadcrumb{color:var(--muted);align-items:center;gap:8px;margin-bottom:34px;font-size:13px;display:flex}.reference-breadcrumb a{font-weight:700}.reference-hero{padding:clamp(28px,6vw,76px) 0}.reference-hero.compact{padding-top:12px}.reference-hero h1{letter-spacing:-.045em;max-width:850px;margin:0;font-size:clamp(38px,6vw,76px);line-height:.98}.reference-hero.compact h1{font-size:clamp(34px,5vw,62px)}.reference-hero>p:not(.eyebrow){max-width:780px;color:var(--ink-soft);margin:24px 0 0;font-size:clamp(17px,2vw,21px);line-height:1.55}.reference-cta{background:var(--ink);border-radius:5px;margin-top:28px;padding:13px 18px;font-weight:800;text-decoration:none;display:inline-block;color:#fff!important}.reference-cta:hover{background:var(--ink-soft)}.reference-section{border-top:1px solid var(--line);padding:clamp(34px,5vw,64px) 0}.reference-section>h2,.reference-profile h2{letter-spacing:-.025em;margin:0 0 24px;font-size:clamp(25px,3vw,38px)}.reference-section>h3{margin:32px 0 12px}.edition-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.edition-group{border:1px solid var(--line);background:#fffdf7b8;border-radius:10px;padding:22px}.edition-group h3{margin:0 0 15px;font-size:22px}.edition-group ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.edition-group li{border-top:1px solid var(--line);justify-content:space-between;gap:18px;padding-top:8px;display:flex}.edition-group li a{font-weight:800}.edition-group li span{color:var(--muted);font-size:13px}.reference-stage-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;display:grid}.reference-stage-card{border:1px solid var(--line);background:var(--panel);border-radius:8px;overflow:hidden;box-shadow:0 10px 25px #1b26200d}.reference-stage-card>a{padding:16px 16px 9px;text-decoration:none;display:block}.reference-stage-card img{width:100%;height:auto;margin-bottom:15px;display:block}.reference-stage-card h3{min-height:2.5em;margin:5px 0 0;font-size:18px;line-height:1.25}.reference-stage-card dl{border-top:1px solid var(--line);gap:20px;margin:0;padding:11px 16px 14px;display:flex}.reference-stage-card dl div,.reference-facts div{gap:3px;display:grid}.reference-stage-card dt,.reference-facts dt{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:11px;font-weight:800}.reference-stage-card dd,.reference-facts dd{margin:0;font-weight:800}.reference-profile{border:1px solid var(--line);background:var(--panel);border-radius:10px;margin-top:8px;padding:clamp(18px,4vw,36px)}.reference-profile img{width:100%;height:auto;display:block}.reference-facts{border:1px solid var(--line);background:var(--line);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0;display:grid;overflow:hidden}.reference-facts div{background:var(--panel);min-height:82px;padding:16px}.checkpoint-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.checkpoint-list li{border:1px solid var(--line);background:var(--panel);border-radius:6px;justify-content:space-between;gap:16px;padding:13px 15px;display:flex}.checkpoint-list span{color:var(--muted);flex:none;font-size:13px}.reference-method p{max-width:820px;color:var(--ink-soft);font-size:17px;line-height:1.65}.sidebar-archive-link{color:#fff;margin-top:7px;font-weight:800;display:block}@media (max-width:820px){.edition-groups,.reference-stage-grid,.reference-facts{grid-template-columns:1fr 1fr}.checkpoint-list{grid-template-columns:1fr}}@media (max-width:540px){.reference-page{padding-inline:18px}.edition-groups,.reference-stage-grid,.reference-facts{grid-template-columns:1fr}.reference-stage-card h3{min-height:auto}.reference-breadcrumb{white-space:nowrap;overflow-x:auto}}.eyebrow{color:inherit;font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;text-transform:uppercase;margin:0 0 5px;font-size:12px;font-weight:700}.tour-explore-shell{grid-template-columns:310px minmax(0,1fr);height:100svh;display:grid;overflow:hidden}.tour-explore-shell[data-race=giro-ditalia]{--accent:#f277a5;--accent-bright:#ff9abc;--accent-border:#f277a566;--accent-medium:#f277a5a6;--accent-soft:#f277a547;--accent-dark:#a4315d}.tour-explore-shell[data-race=vuelta-a-espana]{--accent:#e64b45;--accent-bright:#ff6b63;--accent-border:#e64b456b;--accent-medium:#e64b45a6;--accent-soft:#e64b4547;--accent-dark:#9b2925}.desktop-sidebar,.drawer-panel{background:var(--ink);color:#f8f5eb}.desktop-sidebar{min-width:0;height:100%;min-height:0;overflow:hidden}.stage-sidebar-inner{flex-direction:column;height:100%;min-height:0;max-height:100svh;display:flex;overflow:hidden}.sidebar-brand{color:inherit;flex:none;align-items:center;gap:16px;padding:24px 20px 19px;text-decoration:none;display:flex}.sidebar-brand:focus-visible{outline:2px solid var(--race-accent,#f2ce3f);outline-offset:-4px}.brand-logo{object-fit:contain;flex:none;width:83px;height:37px;display:block}.brand-copy{min-width:0}.sidebar-brand h1{letter-spacing:-.055em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:23px;font-weight:700;line-height:1}.sidebar-brand p{color:#9ba7a1;font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;text-transform:uppercase;margin:5px 0 0;font-size:9px;font-weight:700;line-height:1}.edition-controls{flex:none;grid-template-columns:minmax(0,1fr) 88px;gap:8px;padding:0 20px 15px;display:grid}.edition-controls[data-gpx-import=true]{grid-template-columns:minmax(0,1fr)}.edition-controls label{min-width:0}.edition-controls label>span{color:#9ba7a1;font-family:var(--font-geist-mono), monospace;letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px;font-size:10px;font-weight:700;display:block}.edition-controls select{background:var(--ink-soft);color:#f8f5eb;border:1px solid #ffffff29;border-radius:4px;width:100%;min-width:0;padding:7px 8px;font-size:13px}.edition-controls select:focus-visible{outline:3px solid var(--accent-bright);outline-offset:2px}.sidebar-summary{color:#9ba7a1;font-family:var(--font-geist-mono), monospace;letter-spacing:.06em;text-transform:uppercase;border-block:1px solid #ffffff17;flex:none;justify-content:space-between;padding:10px 20px;font-size:11px;display:flex}.gpx-import-panel{border-top:1px solid #ffffff17;flex-direction:column;flex:auto;justify-content:center;gap:10px;min-height:0;padding:24px 20px;display:flex}.gpx-library{border-top:1px solid #ffffff17;flex-direction:column;flex:auto;min-height:0;display:flex}.gpx-library .gpx-import-panel{border-top:0;flex:none;justify-content:flex-start;gap:8px;padding:14px 20px}.gpx-library .gpx-import-panel>div:first-child{margin-bottom:2px}.gpx-library .gpx-import-panel h2{font-size:20px}.gpx-library .gpx-import-panel>div>p:last-child{margin-top:6px}.gpx-import-panel>div{margin-bottom:8px}.gpx-import-panel .eyebrow{color:var(--accent-bright);font-family:var(--font-geist-mono), monospace;letter-spacing:.1em;text-transform:uppercase;margin:0 0 7px;font-size:10px;font-weight:800}.gpx-import-panel h2{color:#f8f5eb;letter-spacing:-.035em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:23px}.gpx-import-panel>div>p:last-child{color:#aeb7b2;margin:9px 0 0;font-size:12px;line-height:1.5}.gpx-file-input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.gpx-elevation-option{color:#f8f5eb;cursor:pointer;background:#ffffff09;border:1px solid #ffffff24;border-radius:5px;align-items:flex-start;gap:9px;padding:11px 10px;display:flex}.gpx-elevation-option input{accent-color:var(--accent-bright);margin:2px 0 0}.gpx-elevation-option span{gap:3px;display:grid}.gpx-elevation-option b{font-size:12px;line-height:1.3}.gpx-elevation-option small{color:#aeb7b2;font-size:11px;line-height:1.4}.gpx-import-button,.gpx-cancel-button{width:100%;font:inherit;cursor:pointer;border-radius:5px;padding:10px 12px;font-size:13px;font-weight:800}.gpx-import-button{border:1px solid var(--accent-bright);background:var(--accent);color:var(--ink)}.gpx-cancel-button{color:#f8f5eb;background:0 0;border:1px solid #fff3}.gpx-import-button:disabled,.gpx-cancel-button:disabled{cursor:wait;opacity:.58}.gpx-import-error{color:#ffb4a9;margin:5px 0 0;font-size:12px;line-height:1.4}.gpx-import-actions{grid-template-columns:minmax(0,1fr) 64px;gap:8px;display:grid;margin:0!important}.local-route-message{color:#aeb7b2;text-align:center;margin:18px 10px;font-size:12px;line-height:1.5}.stage-list-frame{flex:1 1 0;min-height:0;position:relative}.stage-list-frame:before,.stage-list-frame:after{z-index:2;opacity:0;pointer-events:none;content:"";height:88px;transition:opacity .18s;position:absolute;left:0;right:0}.stage-list-frame:before{background:linear-gradient(to bottom, var(--ink), #15201c00);top:0}.stage-list-frame:after{background:linear-gradient(to top, var(--ink), #15201c00);bottom:0}.stage-list-frame[data-continues-above=true]:before,.stage-list-frame[data-continues-below=true]:after{opacity:1}.stage-list{overscroll-behavior:contain;scrollbar-color:#53615b transparent;scrollbar-gutter:stable;scrollbar-width:thin;height:100%;padding:10px;overflow-y:auto}.stage-list::-webkit-scrollbar{width:8px}.stage-list::-webkit-scrollbar-track{background:0 0}.stage-list::-webkit-scrollbar-thumb{border:2px solid var(--ink);background:#53615b;border-radius:999px}.stage-card{color:#f8f5eb;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;grid-template-columns:48px minmax(0,1fr);width:100%;margin-bottom:5px;padding:10px 9px;transition:background .18s,border-color .18s,transform .18s;display:grid}.stage-card:hover{background:#ffffff0e;transform:translate(2px)}.stage-card[data-selected=true]{border-color:var(--accent-border);background:var(--accent);color:var(--ink)}.stage-card-number{font-family:var(--font-geist-mono), monospace;text-align:center;flex-direction:column;align-self:start;align-items:center;font-size:22px;font-weight:800;line-height:1;display:flex}.stage-card-number small{letter-spacing:.12em;text-transform:uppercase;margin-bottom:3px;font-size:9px;font-weight:700;display:block}.stage-card-number-value{flex-direction:column;align-items:center;gap:2px;width:100%;display:flex}.stage-card-number-text{font-variant-numeric:tabular-nums;letter-spacing:0;text-align:center;width:100%;display:block}.stage-card-number-icons{justify-content:center;align-items:center;gap:4px;min-height:16px;display:inline-flex}.queen-stage-icon{color:#f6cf57;filter:drop-shadow(0 1px 1px #00000059);width:15px;display:inline-flex}.queen-stage-icon svg{fill:currentColor;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;width:100%;height:auto;display:block;overflow:visible}.queen-stage-icon svg path:last-child{fill:none}.stage-card[data-selected=true] .queen-stage-icon{color:var(--ink);filter:none}.time-trial-icon{color:#f8f5eb;filter:drop-shadow(0 1px 1px #00000059);width:16px;display:inline-flex}.time-trial-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:100%;height:auto;display:block;overflow:visible}.stage-card[data-selected=true] .time-trial-icon{color:var(--ink);filter:none}.stage-card-body{min-width:0;display:block}.stage-card-heading{justify-content:space-between;align-items:baseline;gap:8px;min-width:0;display:flex}.stage-card-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin-bottom:2px;font-size:13px;font-weight:700;display:block;overflow:hidden}.stage-card-date{font-family:var(--font-geist-mono), monospace;letter-spacing:.02em;opacity:.72;text-transform:uppercase;flex:none;font-size:10px;font-weight:700}.stage-card-preview{filter:none;object-fit:fill;opacity:1;width:100%;height:33px;transition:filter .18s;display:block}.stage-card[data-selected=true] .stage-card-preview{opacity:1}.tour-explore-shell[data-race=vuelta-a-espana] .stage-card[data-selected=true][data-stage-type=mountain] .stage-card-preview{filter:brightness(0)saturate()}.local-route-preview{color:#e8b91f}.stage-card[data-selected=true] .local-route-preview{color:var(--ink)}.local-route-preview-axis{fill:none;stroke:#c7c8bf;stroke-dasharray:2 3;stroke-width:1px}.local-route-preview-area{fill:currentColor;fill-opacity:.22}.local-route-preview-line{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px}.local-route-preview-baseline{fill:none;stroke:currentColor;stroke-width:1px}.stage-card-metrics{font-family:var(--font-geist-mono), monospace;opacity:.72;justify-content:space-between;margin-top:2px;font-size:10px;display:flex}.rest-day-card{border:1px solid var(--divider-blue-border);background:var(--divider-blue);color:#d9eaf6;border-radius:5px;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:0;min-height:32px;margin:1px 0 6px;padding:5px 9px;display:grid}.rest-day-marker{opacity:.75;border-top:1px solid #ffffffad;width:18px}.rest-day-name{white-space:nowrap;align-items:baseline;gap:7px;min-width:0;font-size:11px;display:flex;overflow:hidden}.rest-day-name b{color:#fff;letter-spacing:.04em;text-transform:uppercase;font-size:11px}.rest-day-name span{text-overflow:ellipsis;overflow:hidden}.rest-day-card time{font-family:var(--font-geist-mono), monospace;letter-spacing:.02em;opacity:.72;text-transform:uppercase;font-size:10px;font-weight:700}.sidebar-footnote{color:#87938d;border-top:1px solid #ffffff17;flex:none;padding:13px 20px 16px;font-size:11px;line-height:1.45}.tour-explore-main{flex-direction:column;min-width:0;min-height:0;display:flex}.stage-modification{color:#79500a;margin-top:5px;font-size:12px;position:relative}.stage-modification summary{cursor:pointer;white-space:normal;width:fit-content;max-width:100%;font-weight:650;line-height:1.4}.stage-modification summary:focus-visible{outline-offset:3px;outline:2px solid}.stage-modification-details{color:#493b23;background:#fff8e8;border:1px solid #dfc58c;border-radius:6px;padding:12px}.stage-modification-details p{margin:0 0 8px;line-height:1.5}.stage-modification-details a{text-underline-offset:3px;text-decoration:underline}.stage-heading .stage-modification-details{z-index:30;width:min(380px,70vw);position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 6px 20px #0002}.stage-modification-badge{color:#e4c68a;margin-top:4px;font-size:10px;font-weight:650;display:block}.stage-card[data-selected=true] .stage-modification-badge{color:var(--ink)}.topbar{border-bottom:1px solid var(--line);background:#f4f1e7f0;align-items:center;gap:18px;min-height:82px;padding:15px 26px;display:flex}.stage-heading{min-width:0}.stage-heading .eyebrow{color:#76827c}.mobile-stage-context{display:none}.stage-heading h2{letter-spacing:-.055em;text-overflow:ellipsis;white-space:nowrap;margin:0 0 -.14em;padding-bottom:.14em;font-size:clamp(20px,2.1vw,30px);line-height:1.05;overflow:hidden}.topbar-actions{flex-direction:column;flex:0 0 112px;align-items:stretch;gap:6px;width:112px;margin-left:auto;display:flex}.topbar-icon-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.topbar-icon-action{border:1px solid var(--ink);height:30px;color:var(--ink);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;padding:0;display:inline-flex}.topbar-icon-action svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:17px;height:17px}.topbar-icon-action:focus-visible{outline:3px solid var(--accent-bright);outline-offset:2px}.share-stage-button{background:var(--ink);color:var(--accent)}.share-stage-button:hover{background:var(--ink-soft)}.coffee-support-link{background:var(--accent);grid-column:2;text-decoration:none}.coffee-support-link:hover{background:var(--accent-bright)}.topbar-actions .unit-toggle{width:100%;display:flex}.topbar-actions .unit-toggle button{flex:1;min-width:0;padding-inline:4px}.topbar-edition-totals{border-left:1px solid var(--line);flex:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2.4vw,38px);margin-left:auto;padding:4px clamp(10px,1.6vw,22px);display:grid}.topbar-edition-totals span{flex-direction:column;gap:2px;display:flex}.topbar-edition-totals small{color:var(--muted);font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;text-transform:uppercase;font-size:8px;font-weight:800}.topbar-edition-totals strong{font-family:var(--font-geist-mono), monospace;letter-spacing:-.04em;white-space:nowrap;font-size:clamp(16px,1.6vw,22px);line-height:1}.topbar-stage-schedule{border-left:1px solid var(--line);flex:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 20px;margin-left:auto;padding:3px 18px;display:grid}.topbar-stage-schedule span{flex-direction:column;gap:2px;display:flex}.topbar-stage-schedule small,.topbar-stage-schedule em{color:var(--muted);font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;text-transform:uppercase;font-size:8px;font-style:normal;font-weight:800}.topbar-stage-schedule strong{font-family:var(--font-geist-mono), monospace;letter-spacing:-.04em;white-space:nowrap;font-size:16px;line-height:1}.topbar-stage-schedule em{grid-column:1/-1}.topbar[data-has-schedule=true] .topbar-actions,.topbar[data-all-stages=true] .topbar-actions{margin-left:0}.sidebar-view-toggle{border-top:1px solid #ffffff17;flex:none;padding:10px 10px 0}.sidebar-edition-totals{background:#ffffff1f;border:1px solid #ffffff1f;border-radius:5px;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-bottom:9px;display:grid;overflow:hidden}.sidebar-edition-totals span{background:var(--ink-soft);flex-direction:column;gap:3px;min-width:0;padding:9px 10px 8px;display:flex}.sidebar-edition-totals small{color:#9ba7a1;font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;text-transform:uppercase;font-size:8px;font-weight:800}.sidebar-edition-totals strong{color:#fffdf5;font-family:var(--font-geist-mono), monospace;text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:1.1;overflow:hidden}.all-stages-toggle{background:var(--ink-soft);color:#f8f5eb;width:100%;font-family:var(--font-geist-mono), monospace;text-transform:uppercase;cursor:pointer;border:1px solid #fff3;border-radius:5px;flex:none;justify-content:center;align-items:center;padding:7px 10px;font-size:10px;font-weight:800;display:inline-flex}.all-stages-toggle:hover{background:#304039;border-color:#ffffff75}.all-stages-toggle[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:var(--ink)}.desktop-stage-result,.mobile-stage-result{color:var(--ink);cursor:pointer;border:0}.desktop-stage-result{text-align:left;background:0 0;border-left:1px solid #cbcbbf;align-items:center;gap:9px;min-width:0;max-width:330px;padding:3px 0 3px 17px;display:flex}.desktop-stage-result>span:first-child{color:var(--accent-dark);font-size:18px}.desktop-stage-result>span:nth-child(2){flex-direction:column;min-width:0;display:flex}.desktop-stage-result small,.mobile-stage-result small{color:#7a857f;font-family:var(--font-geist-mono), monospace;letter-spacing:.09em;text-transform:uppercase;font-size:9px;font-weight:800}.desktop-stage-result strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.desktop-stage-result b{color:var(--accent-dark);font-family:var(--font-geist-mono), monospace;text-transform:uppercase;flex:none;font-size:10px}.desktop-stage-result:hover strong,.desktop-stage-result:hover b{text-decoration:underline}.mobile-stage-result{display:none}.unit-toggle{background:#e5e3d9;border:1px solid #b9beb7;border-radius:5px;flex:none;padding:2px;display:inline-flex;overflow:hidden}.unit-toggle button{color:#69756e;font-family:var(--font-geist-mono), monospace;text-transform:uppercase;cursor:pointer;background:0 0;border:0;border-radius:3px;padding:6px 8px;font-size:10px;font-weight:800;line-height:1}.unit-toggle button[data-selected=true]{background:var(--ink);color:#fff;box-shadow:0 1px 3px #0000002e}.unit-toggle button:focus-visible{outline:2px solid var(--accent-dark);outline-offset:1px}.stage-menu-button,.drawer-close{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:4px;padding:9px 11px;font-size:11px;font-weight:700}.stage-menu-button{display:none}.tour-explore-content{flex:1;grid-template-rows:minmax(150px,1fr) clamp(220px,34vh,290px);gap:12px;min-height:0;padding:12px;display:grid;overflow:hidden}.tour-explore-content[data-map-mode=all]{grid-template-rows:minmax(0,1fr)}.map-panel,.profile-panel{background:var(--panel);min-height:0;box-shadow:var(--shadow);border:1px solid #22312a14;border-radius:7px;position:relative;overflow:hidden}.route-map-wrap,.route-map{width:100%;height:100%}.mobile-map-expand-button{display:none}.all-stages-marker{background:var(--ink);width:25px;height:25px;color:var(--accent);font-family:var(--font-geist-mono), monospace;pointer-events:none;border:2px solid #fff;border-radius:50%;place-items:center;font-size:9px;font-weight:900;display:grid;box-shadow:0 2px 8px #00000052}.all-stages-key{z-index:4;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-family:var(--font-geist-mono), monospace;text-transform:uppercase;background:#15201ce0;border:1px solid #ffffff1f;border-radius:4px;gap:13px;padding:7px 9px;font-size:9px;display:flex;position:absolute;bottom:52px;left:14px;box-shadow:0 8px 24px #0000002e}.all-stages-key span{align-items:center;gap:5px;display:inline-flex}.all-stages-key i{border-top:3px solid var(--accent);width:19px;display:inline-block}.all-stages-key span:last-child i{border-top:1px dashed #aab2ad}.all-stages-loading{text-align:center;place-content:center;width:100%;height:100%;padding:32px;display:grid}.all-stages-loading h2{letter-spacing:-.04em;margin:14px 0 5px}.all-stages-loading p{max-width:520px;color:var(--muted);margin:0 auto 14px}.all-stages-loading button{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:4px;width:max-content;margin:8px auto 0;padding:9px 12px;font-size:11px;font-weight:800}.map-readout{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-family:var(--font-geist-mono), monospace;background:#15201ce0;border:1px solid #ffffff1f;border-radius:4px;align-items:baseline;gap:9px;padding:8px 10px;font-size:11px;display:flex;position:absolute;top:14px;right:14px;box-shadow:0 8px 24px #0000002e}.map-readout b{color:var(--accent);font-size:14px}.stage-forecast{min-width:0;font-family:var(--font-geist-mono), monospace;flex-direction:column;display:flex}.stage-forecast-loading{color:#fff;white-space:nowrap;font-size:14px;line-height:32px}.stage-forecast-values{align-items:center;gap:6px;min-width:0;display:flex;overflow:hidden}.stage-forecast-values strong{color:#fff;white-space:nowrap;font-size:15px;line-height:20px}.stage-forecast-values .stage-forecast-temperature{font-size:17px}.stage-forecast-values i{color:var(--accent);font-style:normal;line-height:20px}.stage-forecast-wind{align-items:center;gap:4px;display:inline-flex}.stage-forecast-speed{margin-left:auto}.wind-direction-arrow{border:1px solid var(--accent);flex:0 0 17px;place-items:center;width:17px;height:17px;display:inline-grid}@supports (color:color-mix(in lab, red, red)){.wind-direction-arrow{border:1px solid color-mix(in srgb, var(--accent) 72%, white)}}.wind-direction-arrow{color:var(--accent);border-radius:50%}.wind-direction-arrow svg{width:13px;height:13px;overflow:visible}.wind-direction-arrow path{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px}.wind-direction-arrow>span{font-size:12px;line-height:1}.stage-forecast-detail{color:#c2cbc6;white-space:nowrap;margin-top:3px;font-size:10px;line-height:12px}.wind-route-marker{color:#17221e;pointer-events:none;background:#fbf8efe6;border:1px solid #17221e80;border-radius:50%;place-items:center;display:grid;box-shadow:0 2px 7px #0003}.wind-route-marker svg{width:72%;height:72%;overflow:visible}.wind-route-marker path{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px}.stage-forecast-map{z-index:5;box-sizing:border-box;border:1px solid #ffffff24;border-left:3px solid var(--accent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#15201ce6;border-radius:4px;width:268px;padding:8px 11px;position:absolute;bottom:14px;left:14px;box-shadow:0 8px 24px #0003}.stage-forecast-inline{display:none}@media (min-width:901px){.map-panel[data-has-forecast=true] .maplibregl-ctrl-bottom-left{bottom:4px;left:282px}}.route-distance-pair{white-space:nowrap;align-items:baseline;gap:5px;display:inline-flex}.route-distance-separator,.route-distance-remaining{color:#aeb8b2}.route-distance-remaining{font-size:.9em;font-weight:500}.climb-detail-card{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#15201ce8;border:1px solid #ffffff1f;border-left:4px solid #d95643;border-radius:4px;flex-direction:column;min-width:230px;padding:10px 34px 10px 11px;display:flex;position:absolute;bottom:10px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0003}.climb-detail-card button{color:#aeb8b2;cursor:pointer;background:0 0;border:0;font-size:20px;position:absolute;top:3px;right:5px}.climb-detail-card p{color:var(--accent);font-family:var(--font-geist-mono), monospace;letter-spacing:.06em;text-transform:uppercase;margin:0 0 3px;font-size:10px;font-weight:700}.climb-category-label{align-items:center;display:flex}.climb-detail-card .climb-manual-edit-dot{background:#f3c644;border-radius:50%;flex:0 0 6px;width:6px;height:6px;margin:0 0 0 5px;display:inline-block}.climb-detail-card strong{font-size:14px}.climb-detail-card span{color:#b9c1bc;margin-top:2px;font-size:11px}.checkpoint-detail-card{border-left-color:var(--checkpoint-color,#25855a);width:min(410px,100% - 24px)}.checkpoint-detail-card[data-kind=intermediate-sprint]{--checkpoint-color:#18895b}.checkpoint-detail-card[data-kind=finish]{--checkpoint-color:#d64e3d}.checkpoint-detail-card[data-category="4"]{--checkpoint-color:#4b9b70}.checkpoint-detail-card[data-category="3"]{--checkpoint-color:#c89a00}.checkpoint-detail-card[data-category="2"]{--checkpoint-color:#e87822}.checkpoint-detail-card[data-category="1"]{--checkpoint-color:#d95643}.checkpoint-detail-card[data-category=HC]{--checkpoint-color:#713b65}.checkpoint-points{margin-top:5px}.checkpoint-points>span{color:#b9c1bc;font-family:var(--font-geist-mono), monospace;letter-spacing:.06em;text-transform:uppercase;margin:0 0 3px;font-size:9px;font-weight:700;display:block}.checkpoint-points ol{flex-wrap:wrap;gap:3px 10px;margin:0;padding:0;list-style:none;display:flex}.checkpoint-points li{color:#b9c1bc;white-space:nowrap;font-size:10px}.checkpoint-points li b{color:#fff;font-size:inherit}.route-endpoint,.route-highlight-marker{border-radius:50%;box-shadow:0 2px 8px #00000047}.route-endpoint{background:#25855a;border:3px solid #fff;width:15px;height:15px}.route-endpoint.finish{background:#d64e3d}.route-highlight-marker{border:4px solid var(--ink);background:var(--accent-bright);pointer-events:none;width:17px;height:17px}.course-checkpoint-marker-wrap{pointer-events:none;width:33px;height:70px;position:absolute}.course-checkpoint-marker{z-index:1;background:var(--checkpoint-color,#18895b);color:#fff;width:25px;height:25px;font-family:var(--font-geist-mono), monospace;cursor:pointer;pointer-events:auto;border:2px solid #fff;border-radius:6px;place-items:center;padding:0;font-size:8px;font-weight:900;line-height:1;display:grid;position:absolute;top:0;left:4px;box-shadow:0 3px 9px #00000052}.course-checkpoint-leader{background:#17221ec7;width:1px;height:45px;position:absolute;bottom:0;left:16px}.course-checkpoint-leader:after{content:"";background:#17221e;border-radius:50%;width:3px;height:3px;position:absolute;bottom:-2px;left:-1px}.course-checkpoint-marker[data-kind=intermediate-sprint]{border-radius:50%}.course-checkpoint-marker[data-kind=finish]{background:conic-gradient(var(--ink) 25%, white 0 50%, var(--ink) 0 75%, white 0) 0 0 / 8px 8px}.course-checkpoint-marker[data-kind=kom]{text-indent:-1px}.course-checkpoint-marker[data-selected=true]{z-index:3;outline:3px solid var(--accent-bright);outline-offset:2px}.profile-panel{flex-direction:column;padding:18px 20px 12px;display:flex}.profile-header{align-items:center;gap:24px;display:flex}.profile-header h3{letter-spacing:-.035em;margin:0;font-size:19px}.profile-header .eyebrow{color:#8b948f}.stage-stats{flex:1;justify-content:center;gap:clamp(16px,3vw,42px);display:flex}.stage-stats span{flex-direction:column;display:flex}.stage-stats small{color:#859089;font-family:var(--font-geist-mono), monospace;letter-spacing:.06em;text-transform:uppercase;margin-bottom:2px;font-size:10px}.stage-stats b{font-size:15px}.profile-live-value{border-left:3px solid var(--accent);min-width:195px;font-family:var(--font-geist-mono), monospace;flex-direction:column;padding-left:10px;display:flex}.profile-live-value strong{font-size:13px}.profile-live-value span{color:var(--muted);font-size:11px}.profile-live-value .route-distance-pair>span:first-child{color:var(--ink);font-size:13px}.profile-live-value .route-distance-separator,.profile-live-value .route-distance-remaining{color:var(--muted)}.edit-climbs-button{color:var(--ink);font-family:var(--font-geist-mono), monospace;text-transform:uppercase;cursor:pointer;background:#fbf8ef;border:1px solid #c5c8bb;border-radius:4px;flex:none;padding:7px 9px;font-size:10px;font-weight:800}.edit-climbs-button:hover{border-color:var(--ink)}.profile-chart{cursor:crosshair;flex-direction:column;flex:1;min-height:0;margin-top:3px;display:flex;position:relative}.profile-chart[data-selecting=true]{cursor:col-resize}.profile-chart svg{touch-action:pan-y;-webkit-user-select:none;user-select:none;flex:1;width:100%;min-height:0;display:block;overflow:visible}.profile-zoom-status{z-index:2;color:#707a74;font-family:var(--font-geist-mono), monospace;pointer-events:none;text-transform:uppercase;background:#fbf8efe6;border:1px solid #c5c8bbc7;border-radius:3px;align-items:center;gap:7px;padding:3px 5px;font-size:10px;font-weight:700;display:flex;position:absolute;top:5px;left:50px}.profile-zoom-status button{color:var(--ink);font:inherit;cursor:pointer;pointer-events:auto;text-transform:uppercase;background:0 0;border:0;border-left:1px solid #c5c8bb;padding:0 0 0 7px}.profile-axis-line{stroke:#96a099;stroke-width:1px}.profile-grid-line{stroke:#dadbd2;stroke-dasharray:3 5;stroke-width:1px}.profile-cursor{stroke:var(--ink);stroke-dasharray:3 3;stroke-width:1px}.profile-point{fill:var(--accent);stroke:var(--ink);stroke-width:2px}.profile-checkpoint{color:#18895b;cursor:pointer;pointer-events:auto}.profile-checkpoint[data-kind=finish]{color:var(--ink)}.profile-checkpoint[data-category="4"]{color:#4b9b70}.profile-checkpoint[data-category="3"]{color:#b99c1d}.profile-checkpoint[data-category="2"]{color:#d87922}.profile-checkpoint[data-category="1"]{color:#d95643}.profile-checkpoint[data-category=HC]{color:#713b65}.profile-checkpoint line{stroke:currentColor;stroke-dasharray:2 2;stroke-width:1.4px}.profile-checkpoint circle,.profile-checkpoint rect{fill:currentColor;stroke:#fff;stroke-width:1.75px;vector-effect:non-scaling-stroke}.profile-checkpoint[data-kind=finish] .profile-checkpoint-shape{fill:url(#profile-finish-checker)}.profile-checkpoint .profile-checkpoint-hit-target{fill:#0000;stroke:none;pointer-events:all}.profile-checkpoint text{fill:#fff;font-family:var(--font-geist-mono), monospace;font-size:8px;font-weight:900}.profile-checkpoint[data-selected=true] .profile-checkpoint-shape{stroke:var(--ink);stroke-width:3px}.profile-axis-label{fill:#7a8580;font-family:var(--font-geist-mono), monospace;font-size:10px}.profile-climb-band{fill:#d6b532;opacity:.08;pointer-events:none}.profile-climb-band[data-difficulty=moderate]{fill:#e58a32}.profile-climb-band[data-difficulty=major]{fill:#d95643}.profile-climb-band[data-difficulty=severe]{fill:#713b65}.profile-climb-band[data-category="4"]{fill:#4b9b70}.profile-climb-band[data-category="3"]{fill:#c89a00}.profile-climb-band[data-category="2"]{fill:#e87822}.profile-climb-band[data-category="1"]{fill:#d95643}.profile-climb-band[data-category=HC]{fill:#713b65}.profile-climb-band[data-selected=true]{opacity:.26}.profile-climb-label{fill:#68736d;font-family:var(--font-geist-mono), monospace;pointer-events:none;font-size:16px;font-weight:800}.profile-climb-label[data-selected=true]{fill:var(--ink)}.profile-zoom-selection{fill:#25855a2e;stroke:#25855a;stroke-width:1px;pointer-events:none}.climb-list{cursor:default;scrollbar-width:none;flex:0 0 28px;align-items:center;gap:4px;padding-inline:42px 18px;display:flex;overflow-x:auto}.climb-list::-webkit-scrollbar{display:none}.climb-list button{color:#68736d;min-width:25px;font-family:var(--font-geist-mono), monospace;cursor:pointer;background:#f7f4ea;border:1px solid #cbc9bb;border-bottom:3px solid #d6b532;border-radius:3px;flex:none;align-items:center;gap:5px;padding:2px 5px;font-size:10px;font-weight:800;display:inline-flex}.climb-chip-name{max-width:165px;color:var(--ink);font-family:var(--font-geist-sans), sans-serif;text-overflow:ellipsis;white-space:nowrap;font-weight:650;display:block;overflow:hidden}.climb-list button[data-selected=true] .climb-chip-name{color:#fff}.climb-list button[data-difficulty=moderate]{border-bottom-color:#e58a32}.climb-list button[data-difficulty=major]{border-bottom-color:#d95643}.climb-list button[data-difficulty=severe]{border-bottom-color:#713b65}.climb-list button[data-category="4"]{border-bottom-color:#4b9b70}.climb-list button[data-category="3"]{border-bottom-color:#c89a00}.climb-list button[data-category="2"]{border-bottom-color:#e87822}.climb-list button[data-category="1"]{border-bottom-color:#d95643}.climb-list button[data-category=HC]{border-bottom-color:#713b65}.climb-list button[data-selected=true]{background:var(--ink);color:#fff}.climb-list .course-point-list-label{color:#8a938e;font-family:var(--font-geist-mono), monospace;letter-spacing:.06em;text-transform:uppercase;flex:none;font-size:8px;font-weight:800}.course-point-list-divider{background:#d5d4ca;flex:0 0 1px;align-self:stretch;margin:4px 3px}.climb-list button.checkpoint-chip{border-bottom-color:#18895b}.climb-list button.checkpoint-chip[data-kind=finish]{border-color:#cbc9bb;border-bottom-color:var(--ink);background:conic-gradient(var(--ink) 25%, white 0 50%, var(--ink) 0 75%, white 0) 0 0 / 8px 8px}.climb-list button.checkpoint-chip[data-kind=finish][data-selected=true]{outline:2px solid var(--accent-bright);outline-offset:1px}.climb-list button.checkpoint-chip[data-category="4"]{border-bottom-color:#4b9b70}.climb-list button.checkpoint-chip[data-category="3"]{border-bottom-color:#c89a00}.climb-list button.checkpoint-chip[data-category="2"]{border-bottom-color:#e87822}.climb-list button.checkpoint-chip[data-category="1"]{border-bottom-color:#d95643}.climb-list button.checkpoint-chip[data-category=HC]{border-bottom-color:#713b65}.no-climbs{color:#929a95;font-family:var(--font-geist-mono), monospace;text-transform:uppercase;font-size:10px}.grade-legend{color:#78837d;font-family:var(--font-geist-mono), monospace;text-transform:uppercase;justify-content:center;gap:15px;font-size:10px;display:flex}.grade-legend span{align-items:center;gap:5px;display:flex}.grade-legend i{background:#5d8fb7;width:14px;height:3px}.grade-legend .grade-easy{background:#4b9b70}.grade-legend .grade-medium{background:#e0a233}.grade-legend .grade-hard{background:#b74d46}.climb-save-notice{background:var(--ink);color:#fff;font-family:var(--font-geist-mono), monospace;border-radius:3px;padding:4px 7px;font-size:10px;position:absolute;bottom:9px;right:12px}.climb-editor-backdrop{z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#070d0ab3;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.results-backdrop{z-index:120;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#070d0ab8;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.share-backdrop{z-index:130;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#070d0ac7;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.share-dialog{background:var(--panel);border:1px solid #ffffff29;border-radius:9px;flex-direction:column;width:min(940px,100%);max-height:min(820px,100svh - 48px);display:flex;overflow:hidden;box-shadow:0 30px 90px #0006}.share-dialog-header{background:var(--ink);color:#fff;flex:none;justify-content:space-between;align-items:flex-start;gap:20px;padding:17px 22px;display:flex}.share-dialog-header .eyebrow{color:var(--accent)}.share-dialog-header h2{letter-spacing:-.045em;margin:0;font-size:25px}.share-dialog-header p:last-child{color:#aeb8b2;margin:4px 0 0;font-size:12px}.share-dialog-header>button{color:#b6c0ba;cursor:pointer;background:0 0;border:0;padding:0 5px;font-size:29px;line-height:1}.share-dialog-body{grid-template-columns:minmax(320px,560px) minmax(230px,1fr);gap:24px;min-height:0;padding:24px;display:grid;overflow:auto}.share-preview{background:var(--paper);border:1px solid #cfd0c7;border-radius:7px;place-self:start center;width:min(100%,100svh - 220px);overflow:hidden;box-shadow:0 15px 40px #15201c24}.share-preview svg{width:100%;height:auto;display:block}.share-actions{flex-direction:column;gap:10px;display:flex}.share-actions>button{color:var(--ink);cursor:pointer;background:#fbf8ef;border:1px solid #bfc3bb;border-radius:5px;padding:11px 13px;font-size:12px;font-weight:800}.share-actions>button:hover{border-color:var(--ink)}.share-actions>button:disabled{cursor:wait;opacity:.58}.share-actions .share-primary{border-color:var(--ink);background:var(--ink);color:#fff;text-align:left;align-items:center;gap:12px;padding:14px;display:flex}.share-primary>span:first-child{background:var(--accent);width:36px;height:36px;color:var(--ink);border-radius:50%;place-items:center;font-size:20px;display:grid}.share-primary>span:last-child{flex-direction:column;gap:2px;display:flex}.share-primary b{font-size:14px}.share-primary small{color:#aeb8b2;font-size:10px;font-weight:500}.share-status{border-left:3px solid var(--accent);background:var(--accent-soft);color:var(--ink);margin:3px 0 0;padding:7px 9px;font-size:11px;font-weight:700;line-height:1.4}.share-note{color:var(--muted);font-family:var(--font-geist-mono), monospace;text-transform:uppercase;margin:auto 0 0;font-size:9px;line-height:1.5}.results-dialog{background:var(--panel);border:1px solid #ffffff29;border-radius:8px;flex-direction:column;width:min(760px,100%);max-height:min(780px,100svh - 48px);display:flex;overflow:hidden;box-shadow:0 30px 90px #0000005c}.results-dialog-header{background:var(--ink);color:#fff;flex:none;justify-content:space-between;align-items:flex-start;gap:20px;padding:18px 22px;display:flex}.results-dialog-header .eyebrow{color:var(--accent)}.results-dialog-header h2{letter-spacing:-.045em;margin:0;font-size:25px}.results-dialog-header p:last-child{color:#aeb8b2;margin:4px 0 0;font-size:12px}.results-dialog-header button{color:#b6c0ba;cursor:pointer;background:0 0;border:0;padding:0 5px;font-size:29px;line-height:1}.results-tabs{border-bottom:1px solid var(--line);background:#e8e5dc;flex:none;grid-template-columns:repeat(5,1fr);display:grid}.results-tabs button{color:#68736d;font-family:var(--font-geist-mono), monospace;letter-spacing:.07em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;border-right:1px solid #d4d1c8;padding:11px 8px 10px;font-size:10px;font-weight:800;position:relative}.results-tabs button:last-child{border-right:0}.results-tabs button:after{background:var(--accent);content:"";opacity:0;height:3px;position:absolute;bottom:-1px;left:12px;right:12px}.results-tabs button[aria-selected=true]{background:var(--panel);color:var(--ink)}.results-tabs button[aria-selected=true]:after{opacity:1}.results-tabs button:disabled{color:#a8aea9;cursor:not-allowed}.results-tabs button:focus-visible{z-index:1;outline:2px solid var(--accent-dark);outline-offset:-3px}.results-winner{border-bottom:1px solid var(--line);background:var(--accent-soft);flex:none;align-items:center;gap:12px;padding:13px 22px;display:flex}.results-winner>span{color:var(--accent-dark);font-size:23px}.results-winner>div{flex-direction:column;display:flex}.results-winner small{color:#6f7974;font-family:var(--font-geist-mono), monospace;letter-spacing:.1em;text-transform:uppercase;font-size:9px;font-weight:800}.results-winner strong{font-size:17px}.results-winner em{color:var(--muted);margin-left:auto;font-size:12px;font-style:normal}.results-winner[data-classification=general]{background:#fff4a8}.results-winner[data-classification=general]>span{color:#d5a900}.results-winner[data-classification=points]{background:#dff1dc}.results-winner[data-classification=points]>span{color:#268342}.results-winner[data-classification=kom]{background-color:#fff;background-image:radial-gradient(circle at 36px 28px,#e1263233 0 20px,#0000 22px),radial-gradient(circle at 116px 88px,#e1263233 0 20px,#0000 22px);background-size:160px 120px}.results-winner[data-classification=kom]>span{color:#cf262e}.results-winner[data-classification=youth]{background:#fff;box-shadow:inset 0 -1px #deded8}.results-winner[data-classification=youth]>span{color:#7e8983}.results-table-wrap{flex:auto;min-height:0;overflow:auto}.results-table-wrap table{border-collapse:collapse;width:100%}.results-table-wrap th{z-index:1;color:#6c7771;font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;text-align:left;text-transform:uppercase;background:#e8e5dc;padding:9px 12px;font-size:9px;position:sticky;top:0}.results-table-wrap th:first-child,.results-table-wrap td:first-child{text-align:center;width:58px}.results-table-wrap th:last-child,.results-table-wrap td:last-child{text-align:right;white-space:nowrap}.results-table-wrap td{border-bottom:1px solid #e5e3da;padding:9px 12px;font-size:12px}.results-table-wrap td:nth-child(3){color:var(--muted)}.results-table-wrap td:nth-child(2) small{color:#8a938e;margin-left:7px;font-size:9px}.results-table-wrap tr[data-winner=true]{background:var(--accent-soft)}.results-table-wrap tr[data-winner=true] td:first-child{color:var(--accent-dark);font-weight:900}.results-dialog-footer{border-top:1px solid var(--line);color:var(--muted);font-family:var(--font-geist-mono), monospace;text-transform:uppercase;flex:none;justify-content:space-between;align-items:center;padding:11px 18px;font-size:10px;display:flex}.results-dialog-footer a{color:var(--ink);font-weight:800}.results-message{flex-direction:column;place-content:center;align-items:center;gap:7px;min-height:240px;display:flex}.results-message span{color:var(--muted);font-size:12px}.climb-editor{background:var(--panel);border:1px solid #ffffff29;border-radius:8px;flex-direction:column;width:min(900px,100%);max-height:min(720px,100svh - 48px);display:flex;overflow:hidden;box-shadow:0 30px 90px #00000057}.climb-editor-header,.climb-editor-footer{flex:none;justify-content:space-between;align-items:center;display:flex}.climb-editor-header{border-bottom:1px solid var(--line);background:var(--ink);color:#fff;padding:18px 22px;position:relative}.climb-editor-header .eyebrow{color:var(--accent)}.climb-editor-header h2{letter-spacing:-.045em;margin:0;font-size:23px}.editor-close{color:#b6c0ba;cursor:pointer;background:0 0;border:0;padding:2px 7px;font-size:27px}.climb-editor-body{flex:auto;grid-template-columns:minmax(300px,.9fr) minmax(360px,1.25fr);min-height:0;display:grid}.climb-editor-list{border-right:1px solid var(--line);background:#f0ede3;flex-direction:column;min-height:0;padding:18px;display:flex}.climb-editor-instructions{flex-direction:column;gap:3px;display:flex}.climb-editor-instructions strong{font-size:14px}.climb-editor-instructions span{color:var(--muted);font-size:12px;line-height:1.4}.climb-editor-actions{flex-wrap:wrap;gap:6px;margin:12px 0 10px;display:flex}.climb-editor button,.climb-editor-footer button{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:4px;padding:8px 10px;font-size:12px;font-weight:700}.climb-editor button.secondary,.climb-editor-footer button.secondary{color:var(--ink);background:0 0;border:1px solid #c8c9be}.climb-editor button:disabled{opacity:.42;cursor:not-allowed}.climb-editor-list ol{min-height:0;margin:0;padding:0 4px 0 0;list-style:none;overflow-y:auto}.climb-editor-list li{background:var(--panel);border:1px solid #d1d1c6;border-radius:4px;grid-template-columns:30px minmax(0,1fr);align-items:stretch;margin-bottom:5px;display:grid}.climb-editor-list li[data-active=true]{border-color:var(--ink);box-shadow:inset 3px 0 var(--accent)}.climb-editor-list li label{border-right:1px solid #e0dfd5;place-items:center;display:grid}.climb-editor-list li input{width:14px;height:14px;accent-color:var(--ink)}.climb-editor-list li button{min-width:0;color:var(--ink);text-align:left;background:0 0;border-radius:0;grid-template-columns:34px minmax(0,1fr) auto;gap:3px 8px;padding:8px 9px;display:grid}.climb-editor-list li button b{font-family:var(--font-geist-mono), monospace;grid-row:1/span 2;align-self:center;font-size:13px}.climb-editor-list li button span{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;overflow:hidden}.climb-editor-list li button small{color:var(--muted);font-size:10px}.climb-editor-list li button i{color:#8a6712;font-family:var(--font-geist-mono), monospace;text-transform:uppercase;grid-area:1/3/span 2;align-self:center;font-size:9px;font-style:normal}.climb-boundary-editor{flex-direction:column;justify-content:flex-start;min-width:0;padding:22px clamp(20px,3vw,36px);display:flex;overflow-y:auto}.climb-profile-preview{background:#f7f4ea;border:1px solid #d8d7cc;border-radius:5px;flex:none;margin-bottom:18px;padding:10px 11px 8px}.climb-preview-heading{color:var(--muted);font-family:var(--font-geist-mono), monospace;text-transform:uppercase;justify-content:space-between;align-items:center;gap:10px;font-size:9px;display:flex}.climb-preview-heading b{color:var(--ink);font-size:10px}.climb-preview-heading span{align-items:center;gap:4px;display:flex}.climb-preview-heading i{width:10px;height:5px;margin-left:5px;display:inline-block}.climb-preview-heading .preview-active-key{border:1px solid var(--ink);background:#15201c1a}.climb-preview-heading .preview-selected-key{border:1px solid var(--accent-dark);background:var(--accent-medium)}.climb-preview-heading.focus-heading{margin-top:5px}.climb-stage-overview,.climb-focus-preview{width:100%;height:auto;display:block;overflow:visible}.climb-preview-area{fill:#3d5a4c14;stroke:none}.climb-preview-line{fill:none;stroke:#73827a;stroke-width:1.5px;vector-effect:non-scaling-stroke}.climb-preview-band rect{fill:#d6b532;fill-opacity:.19;stroke:#a48d24;stroke-opacity:.34;stroke-width:1px;vector-effect:non-scaling-stroke}.climb-preview-band[data-difficulty=moderate] rect{fill:#e58a32}.climb-preview-band[data-difficulty=major] rect{fill:#d95643}.climb-preview-band[data-difficulty=severe] rect{fill:#713b65}.climb-preview-band[data-category="4"] rect{fill:#4b9b70}.climb-preview-band[data-category="3"] rect{fill:#c89a00}.climb-preview-band[data-category="2"] rect{fill:#e87822}.climb-preview-band[data-category="1"] rect{fill:#d95643}.climb-preview-band[data-category=HC] rect{fill:#713b65}.climb-preview-band[data-selected=true] rect{fill:var(--accent);fill-opacity:.62;stroke:var(--accent-dark);stroke-opacity:1;stroke-width:2px}.climb-preview-band[data-active=true] rect{stroke:var(--ink);stroke-opacity:1;stroke-width:2.5px}.climb-preview-band text{fill:#56635d;font-family:var(--font-geist-mono), monospace;font-size:7px;font-weight:800}.climb-preview-band[data-active=true] text{fill:var(--ink)}.climb-preview-boundary{stroke:var(--ink);stroke-dasharray:2 2;stroke-width:1px;vector-effect:non-scaling-stroke}.climb-focus-context{fill:none;stroke:#aeb5b0;stroke-width:1.5px;vector-effect:non-scaling-stroke}.climb-focus-area{fill:var(--accent-soft);stroke:none}.climb-focus-line{fill:none;stroke:var(--accent-dark);stroke-width:2.4px;vector-effect:non-scaling-stroke}.climb-focus-boundary{stroke:var(--ink);stroke-dasharray:3 2;stroke-width:1px;vector-effect:non-scaling-stroke}.climb-focus-point{fill:var(--panel);stroke:var(--ink);stroke-width:2px;vector-effect:non-scaling-stroke}.climb-focus-point.summit{fill:var(--accent)}.climb-focus-label{fill:#6e7a74;font-family:var(--font-geist-mono), monospace;font-size:7px;font-weight:700}.boundary-summary{border-left:4px solid var(--accent);padding-left:13px}.boundary-summary .eyebrow{color:var(--muted)}.boundary-summary h3{letter-spacing:-.04em;margin:0 0 3px;font-size:22px}.boundary-summary>span{color:var(--muted);font-size:10px}.climb-editor-fields{grid-template-columns:minmax(0,1fr) minmax(150px,.7fr);gap:10px;margin-top:20px;display:grid}.climb-editor-fields label{color:var(--muted);flex-direction:column;gap:6px;font-size:11px;font-weight:700;display:flex}.climb-editor-fields input,.climb-editor-fields select{min-width:0;color:var(--ink);font:inherit;background:#fff;border:1px solid #c8c9be;border-radius:4px;padding:8px}.boundary-control{margin-top:28px;display:block}.boundary-control>span{justify-content:space-between;align-items:baseline;gap:15px;display:flex}.boundary-control b{font-size:11px}.boundary-control output{color:var(--muted);font-family:var(--font-geist-mono), monospace;font-size:11px}.boundary-range-row{grid-template-columns:30px minmax(0,1fr) 30px;align-items:center;gap:8px;margin-top:11px;display:grid}.boundary-range-row input{width:100%;accent-color:var(--ink);cursor:ew-resize;margin:0}.boundary-range-row button.secondary{padding:5px 0;font-size:13px;line-height:1}.boundary-note{color:var(--muted);margin:28px 0 0;font-size:11px;line-height:1.5}.boundary-empty{color:var(--muted);text-align:center;font-size:12px}.climb-editor-footer{border-top:1px solid var(--line);gap:20px;padding:13px 18px}.climb-editor-footer>span{color:var(--muted);font-size:11px}.climb-editor-footer>div{gap:7px;display:flex}.mobile-drawer,.mobile-guide-backdrop{display:none}.route-loading,.app-message{text-align:center;flex:1;place-content:center;padding:32px;display:grid}.route-loading h2,.app-message h1{letter-spacing:-.04em;margin:14px 0 5px}.route-loading p,.app-message p{color:var(--muted)}.app-message{background:var(--ink);color:#fff;min-height:100svh}.app-message span{color:var(--accent);font-family:var(--font-geist-mono), monospace;text-transform:uppercase}.loading-track{background:#d7d7cd;border-radius:99px;width:140px;height:5px;margin:auto;overflow:hidden}.loading-track:after{background:var(--accent);content:"";width:45%;height:100%;animation:1.15s ease-in-out infinite alternate load;display:block}@keyframes load{to{transform:translate(125%)}}.maplibregl-ctrl-group{border-radius:4px!important;box-shadow:0 4px 15px #00000029!important}.maplibregl-ctrl-attrib{font-size:11px!important}.map-style-control{z-index:4;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fbf9f1f0;border:1px solid #17221e38;border-radius:5px;display:flex;position:absolute;top:14px;left:14px;overflow:hidden;box-shadow:0 4px 15px #00000029}.map-style-control button{color:#26322e;cursor:pointer;min-height:31px;font-family:var(--font-geist-mono), monospace;letter-spacing:.045em;text-transform:uppercase;background:0 0;border:0;padding:0 10px;font-size:10px;font-weight:700}.map-style-control button+button{border-left:1px solid #17221e2b}.map-style-control button[aria-pressed=true]{color:#fffdf5;background:#17221e}.map-style-control button:focus-visible{z-index:1;outline:2px solid var(--accent);outline-offset:-3px;position:relative}.maplibregl-ctrl-bottom-right .map-fit-control-group,.maplibregl-ctrl-bottom-right .map-wind-control-group,.maplibregl-ctrl-bottom-right .map-gradient-control-group{margin-bottom:4px}.maplibregl-ctrl-bottom-right .map-wind-control-group,.maplibregl-ctrl-bottom-right .map-gradient-control-group{overflow:hidden}.map-fit-control span{font-family:Arial,sans-serif;font-size:18px;line-height:1;display:block}.maplibregl-ctrl .map-gradient-control,.maplibregl-ctrl .map-wind-control{border-radius:inherit;color:#26322e;background:#fffdf5}.map-wind-control[aria-pressed=true],.map-wind-control[aria-pressed=true]:hover{color:#fffdf5;background:#17221e}.map-wind-control-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:23px;height:19px;margin:auto;display:block}.map-gradient-control[aria-pressed=true],.map-gradient-control[aria-pressed=true]:hover{color:#fffdf5;background:#17221e}.map-gradient-control-icon{width:22px;height:18px;margin:auto;display:block}.map-gradient-control-icon-fill{fill:url(#map-gradient-control-fill);opacity:.9}.map-gradient-control-icon-line{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px}@media (min-width:901px) and (max-height:650px){.topbar{min-height:64px;padding:9px 20px}.tour-explore-content{grid-template-rows:minmax(120px,1fr) clamp(180px,34vh,220px);gap:8px;padding:8px}.profile-panel{padding:10px 16px 8px}.profile-header{gap:16px}.profile-header h3{font-size:16px}.stage-stats{gap:clamp(12px,2vw,28px)}.sidebar-brand{padding-block:15px 12px}.sidebar-footnote{display:none}}@media (max-width:900px){.tour-explore-shell{height:auto;min-height:100svh;display:block;overflow:visible}.desktop-sidebar,.map-country-style-option{display:none}.tour-explore-main{min-height:100svh}.topbar{z-index:15;min-height:70px;padding:11px 14px;position:sticky;top:0}.topbar[data-has-schedule=true]{grid-template-columns:auto minmax(0,1fr) auto;gap:8px 12px;display:grid}.topbar[data-has-schedule=true] .stage-menu-button{grid-area:1/1}.topbar[data-has-schedule=true] .stage-heading{grid-area:1/2}.topbar[data-has-schedule=true] .topbar-actions{grid-area:1/3}.topbar-stage-schedule{border:1px solid var(--line);background:#f4f1e7fa;border-radius:4px;grid-area:2/1/auto/-1;grid-template-columns:1fr 1fr auto;gap:12px;width:100%;margin:0;padding:7px 10px}.topbar-stage-schedule em{white-space:nowrap;grid-column:3;align-self:end}.topbar[data-all-stages=true]{grid-template-columns:auto minmax(0,1fr) auto;gap:8px 12px;display:grid}.topbar[data-all-stages=true] .stage-menu-button{grid-area:1/1}.topbar[data-all-stages=true] .stage-heading{grid-area:1/2}.topbar[data-all-stages=true] .topbar-actions{grid-area:1/3}.topbar-edition-totals{border:1px solid var(--line);background:var(--line);border-radius:4px;grid-area:2/1/auto/-1;gap:1px;width:100%;margin:0;padding:0;overflow:hidden}.topbar-edition-totals span{background:#f4f1e7fa;padding:7px 10px 6px}.topbar-edition-totals strong{font-size:15px}.stage-menu-button{display:block}.desktop-stage-result,.desktop-stage-context{display:none}.mobile-stage-context{display:inline}.mobile-stage-result{text-align:left;background:#e9e5d8;border-bottom:1px solid #d4d2c7;flex:none;align-items:center;gap:9px;min-height:42px;padding:7px 14px;display:flex}.mobile-stage-result>span:first-child{color:var(--accent-dark);font-size:17px}.mobile-stage-result>span:nth-child(2){flex-direction:column;min-width:0;display:flex}.mobile-stage-result strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.mobile-stage-result em{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-left:3px;font-size:10px;font-style:normal;overflow:hidden}.mobile-stage-result b{color:var(--accent-dark);font-family:var(--font-geist-mono), monospace;text-transform:uppercase;white-space:nowrap;margin-left:auto;font-size:10px}.topbar-actions{flex-basis:108px;width:108px}.stage-heading h2{font-size:20px}.tour-explore-content{flex-direction:column;padding:9px;display:flex;overflow:visible}.map-panel{height:clamp(320px,40svh,390px)}.mobile-map-expand-button{z-index:6;color:#26322e;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer;background:#fbf9f1f0;border:1px solid #17221e38;border-radius:5px;justify-content:center;align-items:center;width:40px;height:40px;min-height:40px;padding:0;display:inline-flex;position:absolute;top:14px;right:14px;box-shadow:0 4px 15px #00000029}.mobile-map-expand-button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.mobile-map-expand-icon,.mobile-map-expand-icon svg{width:20px;height:20px;display:block}.mobile-map-expand-icon path{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px}.tour-explore-main[data-mobile-map-expanded=true]{z-index:50;background:var(--panel);width:100%;min-height:0;position:fixed;inset:0}.tour-explore-main[data-mobile-map-expanded=true] .topbar,.tour-explore-main[data-mobile-map-expanded=true] .mobile-stage-result,.tour-explore-main[data-mobile-map-expanded=true] .profile-panel{display:none}.tour-explore-main[data-mobile-map-expanded=true] .tour-explore-content{gap:0;height:100svh;padding:0}.tour-explore-main[data-mobile-map-expanded=true] .map-panel{width:100%;height:100svh;box-shadow:none;border:0;border-radius:0}.tour-explore-main[data-mobile-map-expanded=true] .mobile-map-expand-button{top:max(14px, env(safe-area-inset-top));right:max(14px, env(safe-area-inset-right));color:#fff;background:#15201ce6;left:auto}.tour-explore-main[data-mobile-map-expanded=true] .map-country-style-option{display:block}.tour-explore-main[data-mobile-map-expanded=true] .maplibregl-ctrl-bottom-right{right:max(4px, calc(env(safe-area-inset-right) + 4px));bottom:max(4px, calc(env(safe-area-inset-bottom) + 4px))}.tour-explore-main[data-mobile-map-expanded=true] .maplibregl-ctrl-bottom-left{left:max(4px, calc(env(safe-area-inset-left) + 4px));bottom:max(4px, calc(env(safe-area-inset-bottom) + 4px))}.tour-explore-content[data-map-mode=all] .map-panel{height:calc(100svh - 158px);min-height:470px}.all-stages-map-wrap .maplibregl-ctrl-bottom-right{right:max(2px, env(safe-area-inset-right));bottom:max(2px, env(safe-area-inset-bottom))}.all-stages-map-wrap .maplibregl-ctrl-bottom-left{left:max(2px, env(safe-area-inset-left));bottom:max(2px, env(safe-area-inset-bottom))}.all-stages-key{left:max(14px, calc(env(safe-area-inset-left) + 4px));bottom:max(52px, calc(env(safe-area-inset-bottom) + 46px))}.map-readout,.stage-forecast-map{display:none}.profile-panel{min-height:340px;padding:17px 12px 11px}.profile-header{flex-wrap:wrap;gap:12px}.profile-title{margin-right:auto}.profile-header[data-has-forecast=true] .profile-title{display:none}.stage-forecast-inline{border:1px solid #ffffff24;border-left:3px solid var(--accent);background:#15201cf0;border-radius:4px;justify-content:center;max-width:calc(100% - 170px);margin-right:auto;padding:6px 8px;display:flex;box-shadow:0 5px 16px #00000029}.stage-forecast-inline .stage-forecast-values{gap:3px}.stage-forecast-inline .stage-forecast-separator{display:none}.stage-forecast-inline .stage-forecast-values strong{color:#fff;text-overflow:ellipsis;font-size:13px;overflow:hidden}.stage-forecast-inline .stage-forecast-values .stage-forecast-temperature{font-size:15px}.stage-forecast-inline .stage-forecast-wind-prefix{display:none}.stage-forecast-inline .wind-direction-arrow{border-color:var(--accent);color:var(--accent)}.stage-forecast-inline .stage-forecast-detail{display:none}.stage-forecast-inline>strong{color:#fff;white-space:nowrap;font-size:12px}.stage-stats{flex-basis:100%;order:3;justify-content:space-between;gap:8px}.stage-stats span:nth-child(4){display:none}.profile-live-value{min-width:180px}.profile-header[data-has-forecast=true] .profile-live-value{min-width:150px}.edit-climbs-button{order:4}.profile-chart{min-height:190px}.mobile-drawer{z-index:40;pointer-events:none;visibility:hidden;display:block;position:fixed;inset:0}.mobile-drawer[data-open=true]{pointer-events:auto;visibility:visible}.drawer-backdrop{opacity:0;background:#070d0aa3;border:0;transition:opacity .2s;position:absolute;inset:0}.mobile-drawer[data-open=true] .drawer-backdrop{opacity:1}.drawer-panel{inset-block:0;width:min(88vw,340px);transition:transform .24s;position:absolute;left:0;transform:translate(-102%)}.drawer-panel .stage-sidebar-inner{max-height:100svh}.mobile-drawer[data-open=true] .drawer-panel{transform:none}.drawer-close{z-index:2;background:#314039;position:absolute;top:15px;right:13px}.drawer-panel .sidebar-brand{padding-right:78px}.mobile-guide-backdrop{z-index:60;background:#070d0ab3;align-items:flex-end;padding:18px;display:flex;position:fixed;inset:0}.mobile-guide{background:var(--panel);border:1px solid #ffffff40;border-radius:12px;width:min(100%,520px);max-height:calc(100svh - 36px);margin:0 auto;overflow-y:auto;box-shadow:0 24px 70px #00000061}.mobile-guide-handle{background:#c9c8be;border-radius:99px;width:42px;height:4px;margin:9px auto 1px}.mobile-guide-header{align-items:flex-start;gap:12px;padding:16px 18px 15px;display:flex}.mobile-guide-header>div{flex:1}.mobile-guide-header .eyebrow{color:var(--accent-dark);margin-bottom:5px}.mobile-guide-header h2{letter-spacing:-.045em;margin:0;font-size:24px;line-height:1.05}.mobile-guide-header p:last-child{color:var(--muted);margin:8px 0 0;font-size:12px;line-height:1.45}.mobile-guide-header>button{color:#66726c;cursor:pointer;background:0 0;border:0;flex:none;padding:0 4px;font-size:27px;line-height:1}.mobile-guide-tips{margin:0;padding:4px 18px 6px;list-style:none}.mobile-guide-tips li{border-top:1px solid var(--line);grid-template-columns:32px minmax(0,1fr);gap:10px;padding:12px 0;display:grid}.mobile-guide-tips li>span{background:var(--accent-soft);width:28px;height:28px;color:var(--accent-dark);font-family:var(--font-geist-mono), monospace;border-radius:50%;place-items:center;font-size:9px;font-weight:900;display:grid}.mobile-guide-tips strong{font-size:13px;display:block}.mobile-guide-tips p{color:var(--muted);margin:3px 0 0;font-size:11px;line-height:1.45}.mobile-guide-tips b{color:var(--ink)}.mobile-guide-actions{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:8px;padding:13px 18px 17px;display:grid}.mobile-guide-actions button{border:1px solid var(--ink);background:var(--ink);color:#fff;cursor:pointer;border-radius:5px;padding:11px 8px;font-size:12px;font-weight:800}.mobile-guide-actions button.secondary{color:var(--ink);background:0 0;border-color:#c8c9be}}@media (max-width:900px) and (orientation:portrait){.profile-climb-label{display:none}}@media (max-width:900px){.climb-chip-name{display:none}}@media (max-width:520px){.stage-heading .eyebrow{font-size:12px}.stage-heading h2{max-width:42vw}.unit-toggle button{padding-inline:6px;font-size:9px}.all-stages-key{flex-direction:column;gap:5px}.results-backdrop{align-items:end;padding:0}.results-dialog{border-width:1px 0 0;border-radius:12px 12px 0 0;width:100%;min-height:72svh;max-height:88svh}.results-dialog-header{padding:16px}.results-dialog-header h2{font-size:22px}.share-backdrop{align-items:end;padding:0}.share-dialog{border-width:1px 0 0;border-radius:12px 12px 0 0;width:100%;max-height:94svh}.share-dialog-header{padding:15px 16px}.share-dialog-header h2{font-size:22px}.share-dialog-body{flex-direction:column;gap:16px;padding:16px;display:flex}.share-preview{width:min(100%,460px);margin-inline:auto}.share-note{margin-top:3px}.results-winner{padding:12px 16px}.results-winner em{text-align:right;max-width:40%}.results-table-wrap th:nth-child(3),.results-table-wrap td:nth-child(3){display:none}.results-table-wrap th:first-child,.results-table-wrap td:first-child{width:48px}.results-table-wrap th,.results-table-wrap td{padding-inline:9px}.climb-detail-card{min-width:210px;bottom:9px}.stage-stats b{font-size:11px}.stage-forecast-inline{max-width:calc(100% - 156px)}.stage-forecast-inline .stage-forecast-values{gap:4px}.stage-forecast-inline .stage-forecast-values strong{font-size:12px}.profile-header[data-has-forecast=true] .profile-live-value{min-width:144px;padding-left:8px}.grade-legend{gap:8px;font-size:10px}.climb-editor-backdrop{padding:0}.climb-editor{border:0;border-radius:0;width:100%;height:100svh;max-height:100svh}.climb-editor-header{padding:14px 16px}.climb-editor-body{flex-direction:column;display:flex;overflow-y:auto}.climb-editor-list{border-right:0;border-bottom:1px solid var(--line);flex:none;max-height:40svh;padding:13px}.climb-editor-list ol{max-height:20svh}.climb-boundary-editor{flex:1 0 auto;padding:22px 18px}.climb-editor-fields{grid-template-columns:1fr}.climb-profile-preview{margin-bottom:15px;padding-inline:8px}.climb-preview-heading span{font-size:6px}.boundary-control{margin-top:20px}.climb-editor-footer{align-items:flex-end}.climb-editor-footer>span{max-width:145px}}@media (max-width:360px){.mobile-stage-result em{display:none}.profile-header[data-has-forecast=true]{gap:12px 6px}.stage-forecast-inline{flex:0 132px;max-width:132px;margin-right:0}.stage-forecast-inline .stage-forecast-speed-unit{display:none}.profile-header[data-has-forecast=true] .profile-live-value{min-width:137px;margin-left:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}@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-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}
