*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.items-center{align-items:center}.gap-6{gap:1.5rem}.rounded{border-radius:.25rem}.border{border-width:1px}.uppercase{text-transform:uppercase}.ordinal{--tw-ordinal: ordinal;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.line-through{text-decoration-line:line-through}.blur{--tw-blur: blur(8px);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)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{--brand-orange: #f48010;--brand-orange-dark: #d96d09;--brand-orange-light: #f9a64d;--brand-navy: #121822;--brand-navy-2: #1b2533;--indigo: var(--brand-navy);--cream: #ebebd3;--yellow: #f4d35e;--orange-soda: var(--brand-orange-light);--orange-yellow: var(--brand-orange);--bg: #ffffff;--panel: #ffffff;--panel-2: #f6f7f9;--border: #e5e7eb;--text: #111827;--muted: #6b7280;--accent: var(--brand-navy);--accent-2: var(--brand-orange);--accent-3: var(--brand-orange-light);--good: var(--brand-navy);--bad: #e5484d}[data-theme=dark]{--bg: #0d1117;--panel: #161b22;--panel-2: #1c2230;--border: #2a313c;--text: #e6edf3;--muted: #8b949e;--indigo: #c2ccd9;--accent: #c2ccd9;--accent-2: var(--brand-orange-light);--good: #c2ccd9}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%}html,body{overflow-x:clip}img{max-width:100%}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-2);text-decoration:underline}.app-nav-wrap{position:sticky;top:0;z-index:30;background:var(--panel);border-bottom:1px solid var(--border)}.app-nav{display:flex;align-items:center;gap:24px;padding:14px 24px;max-width:1100px;margin:0 auto}@media (max-width: 640px){.app-nav{padding:10px 14px;gap:10px}}.nav-hamburger{margin-left:auto;background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:7px 9px;cursor:pointer;display:inline-flex;flex-direction:column;gap:4px}.nav-hamburger span{display:block;width:18px;height:2px;background:var(--text)}.nav-drawer{display:flex;flex-direction:column;gap:4px;padding:8px 14px 14px;border-top:1px solid var(--border);background:var(--panel)}.nav-drawer a{color:var(--text);font-weight:500;padding:8px 4px}.nav-drawer .lang-select{align-self:flex-start;margin-top:6px}.app-nav a{color:var(--text);font-weight:500}.app-nav a:hover{color:var(--accent);text-decoration:none}.app-nav .brand{display:inline-flex;align-items:center;gap:8px;color:var(--text);font-size:18px;font-weight:800;letter-spacing:.01em}.app-nav .brand:hover{text-decoration:none}.app-nav .brand-logo{display:block;width:26px;height:26px;border-radius:6px;flex:none}.app-nav .brand-name{color:var(--text)}.app-nav .spacer{flex:1}.lang-select,.theme-toggle{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:5px 10px;font:inherit;cursor:pointer}.lang-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:28px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path fill='none' stroke='%23808080' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='M1 1l4 4 4-4'/></svg>");background-repeat:no-repeat;background-position:right 10px center;background-size:10px 6px}.lang-select:hover,.theme-toggle:hover{border-color:var(--accent)}main{max-width:1100px;margin:0 auto;padding:24px}@media (max-width: 640px){main{padding:14px}}h1{font-size:22px;margin:0 0 16px;color:var(--text);font-weight:700}h2{font-size:12px;margin:24px 0 12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:600}h3{font-size:14px;margin:16px 0 8px}.card{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:12px}.card-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px 16px}.muted{color:var(--muted)}.home-podium{flex-basis:100%;list-style:none;margin:10px 0 0;padding:8px 0 0;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:2px}.home-podium-row{display:flex;align-items:center;gap:7px;font-size:12.5px;padding:2px 4px;border-radius:4px}.home-podium-row.pod-gold{background:#c98a1617}.home-podium-row.pod-silver{background:#8a8f9617}.home-podium-row.pod-bronze{background:#a26a3d17}.home-podium-row .pred-rank{min-width:16px;padding-right:0}.home-podium-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-podium-gap{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.pill{display:inline-block;padding:2px 8px;border-radius:4px;background:var(--panel-2);font-size:12px;color:var(--text);border:1px solid var(--border)}.pill.accent{background:#12182214;color:var(--indigo);border-color:transparent}.pill.warn{background:#f4d35e33;color:#8a6b00;border-color:transparent}.pill.soda{background:#ee964b2e;color:var(--orange-soda);border-color:transparent}[data-theme=dark] .pill.warn{color:var(--yellow)}[data-theme=dark] .pill.accent{background:#6aa6ff2e;color:var(--accent)}.slq-inline{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:4px;background:var(--panel-2);border:1px solid var(--border);font-size:12px;line-height:1.4;vertical-align:middle}.slq-label{color:var(--muted)}.slq-label strong{color:var(--text);margin-left:2px}.slq-bar{display:inline-block;width:48px;height:4px;border-radius:2px;background:var(--border);overflow:hidden}.slq-fill{display:block;height:100%;border-radius:2px;transition:width .2s ease}.slq-low .slq-fill{background:#b0b6bf}.slq-modest .slq-fill{background:var(--yellow, #f4d35e)}.slq-good .slq-fill{background:#6fbf73}.slq-strong .slq-fill{background:#2f9e44}.slq-elite .slq-fill{background:var(--indigo, #121822)}.diff-inline{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:4px;background:var(--panel-2);border:1px solid var(--border);font-size:12px;line-height:1.4;vertical-align:middle}.diff-bar{display:inline-block;width:48px;height:4px;border-radius:2px;background:var(--border);overflow:hidden}.diff-fill{display:block;height:100%;border-radius:2px}.pred-table td{vertical-align:middle}.pred-table tbody tr:hover{background:var(--panel-2)}.pred-rank{display:inline-block;min-width:22px;font-variant-numeric:tabular-nums;font-size:13px;color:var(--muted);text-align:right;padding-right:4px}.pred-rank-gold{color:#c98a16;font-weight:600}.pred-rank-silver{color:#8a8f96;font-weight:600}.pred-rank-bronze{color:#a26a3d;font-weight:600}.climb-flag{display:inline-block;margin-left:6px;font-size:10.5px;font-weight:600;color:#b45309;background:#f59e0b24;border:1px solid rgba(245,158,11,.35);border-radius:4px;padding:0 5px;vertical-align:middle;cursor:help;white-space:nowrap}[data-theme=dark] .climb-flag{color:#fbbf24}.climb-strava-tag{display:inline-block;margin-left:6px;font-size:10.5px;font-weight:600;color:#fff;background:#fc4c02;border:1px solid #fc4c02;border-radius:4px;padding:0 5px;vertical-align:middle;cursor:help;white-space:nowrap}.climb-strava-seg{display:inline-block;margin-left:6px;font-size:10.5px;font-weight:600;color:#fc4c02;background:#fc4c021a;border:1px solid rgba(252,76,2,.4);border-radius:4px;padding:0 5px;vertical-align:middle;text-decoration:none;white-space:nowrap}.climb-strava-seg:hover{background:#fc4c0233}.pred-rider{display:flex;align-items:center;gap:9px;min-width:0}.pred-avatar,.pred-avatar-ph{width:36px;height:36px;flex:none;border-radius:50%;border:1px solid var(--border);background:var(--panel-2)}.pred-avatar{-o-object-fit:cover;object-fit:cover;-o-object-position:top center;object-position:top center}.pred-avatar-ph{display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:13px;font-weight:600}.pred-rider-name{display:flex;flex-direction:column;line-height:1.2;min-width:0}.pred-table tr.pred-row-gold{background:#c98a1617}.pred-table tr.pred-row-silver{background:#8a8f9617}.pred-table tr.pred-row-bronze{background:#a26a3d17}.pred-table tr.pred-row-gold:hover td,.pred-table tr.pred-row-silver:hover td,.pred-table tr.pred-row-bronze:hover td{background:transparent}.flag{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",Twemoji Mozilla,sans-serif;font-style:normal;line-height:1}.pred-bar-cell{min-width:76px;padding:6px 10px}.pred-num{font-size:13px;line-height:1.2;font-variant-numeric:tabular-nums}.pred-num strong{color:var(--text)}.pred-bar{margin-top:4px;height:3px;border-radius:2px;background:var(--panel-2);overflow:hidden}.pred-fill{height:100%;border-radius:2px;transition:width .25s ease}.pred-bar-win .pred-fill{background:var(--orange-yellow)}.pred-bar-t10 .pred-fill{background:var(--indigo);opacity:.45}[data-theme=dark] .pred-bar-t10 .pred-fill{background:#78aae6;opacity:.55}.diff-flat .diff-fill{background:#b0b6bf}.diff-easy .diff-fill{background:var(--yellow, #f4d35e)}.diff-moderate .diff-fill{background:#6fbf73}.diff-hard .diff-fill{background:#d9480f}.diff-brutal .diff-fill{background:#b02a1e}.diff-tier{font-size:11px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border)}th{color:var(--muted);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.05em}tr:hover td{background:var(--panel-2)}.table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 640px){.pred-bar-cell{min-width:64px;padding:6px 8px}.pred-table th,.pred-table td{padding-left:8px;padding-right:8px}.pred-avatar,.pred-avatar-ph{width:30px;height:30px}}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:24px}@media (max-width: 700px){.grid-2{grid-template-columns:1fr}}.stage-top-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start;margin-top:8px}.stage-top-grid>.stage-top-col{display:flex;flex-direction:column;gap:8px;min-width:0}.stage-top-grid>.stage-top-col>h2:first-child{margin-top:0}@media (max-width: 900px){.stage-top-grid{grid-template-columns:1fr}}.stage-info-card{padding:12px 14px}.stage-info-title{font-weight:600;font-size:14px;margin-bottom:6px}.stage-info-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:12px}.stage-info-meta>*{display:inline-flex;align-items:center}.wx-card{padding:14px 16px}.wx-head{display:flex;align-items:flex-start;gap:13px}.wx-emoji{font-size:40px;line-height:1;filter:saturate(1.05);flex:none;margin-top:1px}.wx-headmain{flex:1;min-width:0}.wx-topline{display:flex;align-items:center;gap:8px}.wx-temp{font-size:30px;font-weight:800;letter-spacing:-.5px;line-height:1.05;display:inline-flex;align-items:center}.wx-cond{font-size:13px;font-weight:600;color:var(--text);margin-top:3px}.wx-when{font-size:11px;color:var(--muted);margin-top:3px;line-height:1.4}.wx-nowrap{white-space:nowrap}.wx-badge{margin-left:auto;flex:none;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:3px 9px;border-radius:999px;white-space:nowrap}.wx-badge.forecast{background:#ee964b2e;color:var(--orange-soda)}.wx-badge.archive{background:var(--panel-2);color:var(--muted)}.wx-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(86px,1fr));gap:8px;margin-top:14px}.wx-tile{background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:8px 10px}.wx-tile .top{display:flex;align-items:center;gap:5px;line-height:1}.wx-tile .ic{font-size:15px;flex:none}.wx-tile .val{font-size:15px;font-weight:700;color:var(--text);display:inline-flex;align-items:baseline;gap:2px;white-space:nowrap}.wx-tile .val .wx-unit{font-size:10px;font-weight:600;color:var(--muted)}.wx-tile .lbl{font-size:10px;text-transform:uppercase;letter-spacing:.3px;color:var(--muted);margin-top:5px}.wx-tile .sub{font-size:10px;color:var(--muted);margin-top:1px}.wx-windsub{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.wx-windsub .wx-compass{width:11px;height:11px}.wx-compass{color:var(--muted);transition:transform .4s ease;flex:none}.wx-wind{margin-top:12px;padding-top:12px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:9px}.wx-row{display:flex;align-items:center;gap:10px;font-size:12px}.wx-row .nm{width:104px;flex:none;color:var(--muted);display:inline-flex;align-items:center;gap:5px}.wx-meter{flex:1;height:8px;border-radius:4px;background:var(--border);overflow:hidden}.wx-meter>div{height:100%;border-radius:4px;transition:width .5s ease}.wx-row .amt{font-weight:700;font-size:12px;text-align:right;white-space:nowrap;min-width:96px;flex:none}.bgap-card{padding:14px 16px;margin-bottom:12px}.bgap-head{display:flex;align-items:center;gap:10px}.bgap-title{font-weight:700;font-size:14px;color:var(--text)}.bgap-badge{margin-left:auto;flex:none;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:3px 9px;border-radius:999px;white-space:nowrap}.bgap-badge.won{background:#16a34a26;color:#16a34a}.bgap-badge.caught{background:var(--panel-2);color:var(--muted)}.bgap-sub{font-size:11px;margin-top:2px}.live-badge{display:inline-flex;align-items:center;gap:5px;flex:none;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px 8px;border-radius:999px;background:#dc262624;color:#dc2626;white-space:nowrap}.live-dot{width:7px;height:7px;border-radius:50%;background:#dc2626;box-shadow:0 0 #dc262699;animation:live-pulse 1.4s ease-out infinite}@keyframes live-pulse{0%{box-shadow:0 0 #dc26268c}70%{box-shadow:0 0 0 6px #dc262600}to{box-shadow:0 0 #dc262600}}@media (prefers-reduced-motion: reduce){.live-dot{animation:none}}.skeleton{position:relative;overflow:hidden;background:var(--border, #e5e7eb);border-radius:6px}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);animation:skeleton-shimmer 1.3s ease-in-out infinite}@keyframes skeleton-shimmer{to{transform:translate(100%)}}@media (prefers-reduced-motion: reduce){.skeleton:after{animation:none}}.bgap-svg{width:100%;height:auto;margin-top:10px;display:block;overflow:visible}.bgap-grid{stroke:var(--border);stroke-width:1}.bgap-ylabel{fill:var(--muted);font-size:10px;text-anchor:end}.bgap-xlabel{fill:var(--muted);font-size:10px;text-anchor:middle}.bgap-xfinish{fill:var(--accent-2);font-size:10px;font-weight:700;text-anchor:middle}.bgap-area{fill:var(--accent-2);opacity:.16}.bgap-line{fill:none;stroke:var(--accent-2);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.bgap-peak{fill:var(--accent-2);stroke:var(--panel);stroke-width:1.5}.bgap-dataend{stroke:var(--muted);stroke-width:1;stroke-dasharray:3 3;opacity:.7}.bgap-note{font-size:10px;margin-top:4px}.cperf-chart-card{padding:14px 16px;margin-bottom:4px}.cperf-chart-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;justify-content:space-between}.cperf-chart-title{font-weight:700;font-size:14px;color:var(--text)}.cperf-legend{display:flex;flex-wrap:wrap;gap:4px 12px}.cperf-legend-item{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--muted)}.cperf-legend-dot{width:9px;height:9px;border-radius:50%;display:inline-block}.cperf-svg{width:100%;height:auto;margin-top:10px;display:block;overflow:visible}.cperf-grid{stroke:var(--border);stroke-width:1}.cperf-ylabel{fill:var(--muted);font-size:10px;text-anchor:end}.cperf-xlabel{fill:var(--muted);font-size:10px;text-anchor:middle}.cperf-axis-cap{fill:var(--muted);font-size:10px;text-anchor:middle;opacity:.85}.cperf-dot{cursor:pointer}.cperf-hover-line{stroke:var(--muted);stroke-width:1;stroke-dasharray:3 3;opacity:.6}.cperf-tip-box{fill:var(--panel);stroke:var(--border);stroke-width:1;filter:drop-shadow(0 2px 6px rgba(0,0,0,.18))}.cperf-table th,.cperf-table td{vertical-align:middle}.cperf-climb{display:flex;align-items:center;gap:7px;min-width:0}.cperf-cat{flex:none;display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:18px;padding:0 5px;border-radius:4px;font-size:11px;font-weight:700;color:#fff}.cperf-climb-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cperf-strava{flex:none;font-size:12px;line-height:1}.cperf-riders{display:flex;flex-direction:column;gap:3px;min-width:0}.cperf-rider{display:flex;align-items:center;gap:6px;min-width:0;color:var(--text);text-decoration:none}.cperf-rider:hover .cperf-rider-name{text-decoration:underline}.cperf-rider-avatar{flex:none;width:24px;height:24px;border-radius:50%;-o-object-fit:cover;object-fit:cover;-o-object-position:top center;object-position:top center;border:1px solid var(--border);background:var(--panel-2, var(--border))}.cperf-rider-ph{display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--muted)}.cperf-rider-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cperf-more{font-size:12px;padding-left:30px}.cperf-more-btn{background:none;border:none;color:var(--accent);cursor:pointer;font:inherit;font-size:12px;padding:2px 6px;border-radius:4px}.cperf-more-btn:hover{background:var(--panel-2);text-decoration:underline}.cperf-modal-list li{gap:8px}.cperf-modal-list .cperf-rider-avatar{flex:none}.incidents-card{padding:14px 16px 4px;margin-top:4px}.incidents-head{display:flex;align-items:baseline;gap:10px}.incidents-title{font-weight:700;font-size:14px;color:var(--text)}.incidents-sub{font-size:11px;margin-left:auto;flex:none;white-space:nowrap}.help-mark{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;margin-left:6px;font-size:10px;font-weight:700;line-height:1;color:var(--muted, #888);background:#7f7f7f24;border:1px solid rgba(127,127,127,.3);border-radius:50%;vertical-align:middle;cursor:help;-webkit-user-select:none;-moz-user-select:none;user-select:none}.help-mark:hover{color:var(--text);border-color:#7f7f7f8c}.incidents-section{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:14px 0 2px}.incident-tag{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:2px 8px;border-radius:999px;white-space:nowrap;background:#e5393524;color:#e53935}.situ-km{white-space:nowrap;font-variant-numeric:tabular-nums}.situ-count{display:inline-block;min-width:18px;padding:1px 6px;border-radius:999px;background:var(--accent-2);color:#fff;font-size:11px;font-weight:700;text-align:center}.situ-gap{font-variant-numeric:tabular-nums;font-weight:600;color:var(--text)}.situ-rider .flag{margin-right:3px}.situ-chase{line-height:1.5}.situ-chase+.situ-chase{margin-top:2px}.situ-behind{line-height:1.5;opacity:.75}.situ-behind+.situ-behind{margin-top:2px}.situ-behind .situ-gap{color:var(--muted)}.situ-pelcount{font-size:11px;color:var(--muted)}.cal-controls{display:flex;gap:12px;align-items:center;margin-bottom:12px}.cal-controls button{background:var(--panel);border:1px solid var(--border);color:var(--text);padding:6px 12px;border-radius:6px;cursor:pointer}.cal-controls button:hover{border-color:var(--accent)}.cal-body{position:relative}.cal-body.is-loading>.cal-grid,.cal-body.is-loading>.cal-agenda{opacity:.4;pointer-events:none;transition:opacity .15s ease}.cal-loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-start;justify-content:center;padding-top:56px;pointer-events:none}.cal-loading-overlay .loading{background:var(--panel);border:1px solid var(--border);border-radius:999px;padding:8px 16px;box-shadow:0 4px 14px #0000001a}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.cal-day{background:var(--panel);border:1px solid var(--border);border-radius:6px;min-height:90px;padding:6px 8px;font-size:12px;min-width:0;overflow:hidden}.cal-day.dim{opacity:.45}.cal-day.today{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.cal-day.today .dn{color:var(--accent)}.cal-day .dn{font-weight:600;color:var(--muted)}.cal-day .ev{background:var(--panel-2);border-left:3px solid var(--accent-2);border-radius:3px;padding:2px 6px;margin-top:3px;font-size:11px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-day .ev a{color:var(--text)}.cal-day .ev a:hover{color:var(--accent);text-decoration:none}.cal-day .ev.tour-wt{border-left-color:#f4d03f}.cal-day .ev.tour-wc{border-left-color:#b39ddb}.cal-day .ev.tour-pro{border-left-color:var(--orange-soda)}.cal-day .ev.tour-1{border-left-color:var(--indigo)}.cal-day .ev.tour-2{border-left-color:#6c757d}.cal-day .ev.tour-other{border-left-color:var(--border)}.cal-day .ev.tour-wt a{color:#b8860b;font-weight:600}[data-theme=dark] .cal-day .ev.tour-wt a{color:#f4d03f}.cal-day .ev.tour-pro a{color:var(--orange-soda)}.cal-day .ev.tour-1 a{color:var(--accent)}.cal-agenda{display:none}@media (max-width: 640px){.cal-grid{display:none}.cal-agenda{display:flex;flex-direction:column;gap:10px}.cal-controls{gap:8px;flex-wrap:wrap}.cal-monthyear{min-width:120px;font-size:14px}}.cal-agenda-day{border:1px solid var(--border);border-radius:8px;background:var(--panel);padding:2px 14px 6px;scroll-margin-top:64px}.cal-agenda-day.today{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.cal-agenda-date{font-weight:600;font-size:13px;padding:8px 0 2px;text-transform:capitalize}.cal-agenda-day.today .cal-agenda-date{color:var(--accent)}.cal-agenda-empty{color:var(--muted);padding:24px 8px;text-align:center}.cal-agenda-more{display:block;width:100%;margin-top:4px;padding:6px;background:none;border:none;border-top:1px solid var(--border);color:var(--accent);cursor:pointer;font:inherit;font-size:13px;text-align:center}.cal-agenda-more:hover{color:var(--accent-2)}.cal-day .dn{background:none;border:none;padding:0;font:inherit;text-align:left;cursor:pointer;display:block;width:100%;border-radius:4px}.cal-day .dn:disabled{cursor:default}.cal-day .dn:not(:disabled):hover{color:var(--accent)}.cal-day .more{background:none;border:none;padding:2px 0 0;margin:2px 0 0;font:inherit;font-size:10px;color:var(--muted);cursor:pointer;text-align:left}.cal-day .more:hover{color:var(--accent)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:50;padding:16px;animation:modalFade .12s ease-out}.modal-card{background:var(--panel);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 40px #00000040;max-width:560px;width:100%;max-height:82vh;overflow:auto;padding:16px 20px;animation:modalRise .14s ease-out}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:10px;margin-bottom:12px;border-bottom:1px solid var(--border)}.modal-head h3{margin:0;font-size:16px}.modal-head .close{background:none;border:none;color:var(--muted);cursor:pointer;font-size:22px;line-height:1;padding:0 4px;border-radius:4px}.modal-head .close:hover{color:var(--accent);background:var(--panel-2)}.day-list{list-style:none;padding:0;margin:0}.day-list li{padding:10px 0;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.day-list li:last-child{border-bottom:none}.day-list .race-name{font-weight:500;color:var(--text);text-decoration:none}.day-list .race-name:hover{color:var(--accent)}.day-list .stage-tag{font-size:12px;color:var(--muted)}.day-list .cat-pill{font-size:10px;padding:2px 6px;border-radius:4px;background:var(--panel-2);border:1px solid var(--border);color:var(--muted);margin-left:auto;letter-spacing:.3px}.day-list .cat-pill.wt{background:#ee964b2e;color:var(--orange-soda);border-color:transparent}.day-list .cat-pill.pro{background:#12182214;color:var(--indigo);border-color:transparent}.day-list .cat-pill.tour-wt{background:#f4d03f33;color:#b8860b;border-color:transparent}[data-theme=dark] .day-list .cat-pill.tour-wt{color:#f4d03f}.day-list .cat-pill.tour-wc{background:#b39ddb33;color:#7e57c2;border-color:transparent}.day-list .cat-pill.tour-pro{background:#ee964b2e;color:var(--orange-soda);border-color:transparent}.day-list .cat-pill.tour-1{background:#f480101f;color:var(--accent);border-color:transparent}.day-list .cat-pill.tour-2{background:#6c757d26;color:var(--muted);border-color:transparent}@keyframes modalFade{0%{opacity:0}to{opacity:1}}@keyframes modalRise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.cal-controls select{background:var(--panel);border:1px solid var(--border);color:var(--text);padding:6px 28px 6px 10px;border-radius:6px;cursor:pointer;margin-left:auto;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path fill='none' stroke='%23808080' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='M1 1l4 4 4-4'/></svg>");background-repeat:no-repeat;background-position:right 10px center;background-size:10px 6px}.cal-controls select:hover{border-color:var(--accent)}.cal-monthyear{display:inline-flex;align-items:baseline;gap:6px;font-weight:600;font-size:15px;min-width:180px;justify-content:center}.year-pick{position:relative;display:inline-flex;align-items:baseline;gap:4px;cursor:pointer;border-radius:6px;padding:2px 16px 2px 6px;transition:background .12s ease,color .12s ease}.year-pick .year-text{font-weight:600}.year-pick:hover{background:var(--panel-2);color:var(--accent)}.year-pick select{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;width:100%;height:100%;border:none;margin:0;padding:0;font:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent}.year-pick>select+.caret,.year-pick .caret{font-size:10px;color:var(--muted);position:absolute;right:4px;top:50%;transform:translateY(-50%);pointer-events:none}.year-pick:hover .caret{color:var(--accent)}.cal-controls .year-pick select{margin-left:0;background:transparent;border:none;padding:0;border-radius:0}.stage-tabs{display:flex;gap:4px;margin-bottom:16px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.stage-tabs::-webkit-scrollbar{height:4px}.stage-tabs::-webkit-scrollbar-track{background:transparent}.stage-tabs::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.stage-tabs:hover::-webkit-scrollbar-thumb{background:var(--muted)}.stage-tab{background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:6px 12px;white-space:nowrap;color:var(--text);cursor:pointer}.stage-tab:hover{border-color:var(--accent);text-decoration:none}.stage-tab.active{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600}.spec-bars{display:flex;flex-direction:column;gap:6px}.spec-row{display:grid;grid-template-columns:110px 1fr 50px;align-items:center;gap:8px;font-size:12px}.spec-bar-bg{background:var(--panel-2);border-radius:3px;height:10px;overflow:hidden;border:1px solid var(--border)}.spec-bar-fg{height:100%;background:linear-gradient(90deg,var(--yellow),var(--orange-soda),var(--orange-yellow))}.rider-header{display:grid;grid-template-columns:auto auto minmax(320px,1fr);gap:24px;align-items:center;margin-bottom:24px}.rider-header .rider-bio{min-width:0}.rider-header .rider-bio h1{margin:0 0 6px;line-height:1.1}.rider-header .rider-bio p{margin:0;font-size:13px}.rider-socials{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.rider-social{font-size:11px;font-weight:600;line-height:1;padding:4px 9px;border-radius:999px;text-decoration:none;color:var(--muted, #666);border:1px solid var(--border, rgba(127, 127, 127, .28));background:var(--card, rgba(127, 127, 127, .06));transition:color .12s,border-color .12s,background .12s}.rider-social:hover{color:#fff;border-color:transparent}.rider-social-strava:hover{background:#fc4c02}.rider-social-instagram:hover{background:#d6249f}.rider-social-twitter:hover{background:#000}.rider-social-facebook:hover{background:#1877f2}.rider-social-youtube:hover{background:red}.rider-social-tiktok:hover{background:#010101}.rider-spec{padding:14px 16px;align-self:center}@media (max-width: 900px){.rider-header{grid-template-columns:auto minmax(0,1fr);gap:16px}.rider-spec{grid-column:1 / -1}}@media (max-width: 720px){.rider-header{grid-template-columns:1fr;text-align:center;gap:12px;justify-items:center}.rider-photo{width:120px;height:120px}.rider-header .rider-bio{text-align:center}.rider-header .rider-bio h1{font-size:22px;justify-content:center}.rider-header .rider-bio p,.rider-header .rider-bio .rider-socials{justify-content:center}.rider-header .rider-spec{width:100%;justify-self:stretch;text-align:left}}.rider-photo{width:180px;height:180px;-o-object-fit:cover;object-fit:cover;-o-object-position:top center;object-position:top center;border-radius:6px;border:1px solid var(--border);background:var(--panel-2)}.roster-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:14px;margin-top:8px}.roster-card{display:flex;flex-direction:column;align-items:center;text-align:center;text-decoration:none;color:inherit;padding:10px;border:1px solid var(--border);border-radius:6px;background:var(--panel);transition:border-color .12s,transform .12s}.roster-card:hover{border-color:var(--accent);transform:translateY(-1px)}.roster-photo{width:96px;height:96px;border-radius:50%;overflow:hidden;background:var(--panel-2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;margin-bottom:8px}.roster-photo img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:top center;object-position:top center}.roster-photo-placeholder{font-size:32px;font-weight:600;color:var(--muted)}.roster-name{font-size:13px;font-weight:600;line-height:1.2}.roster-meta{font-size:11px;margin-top:2px}.loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:32px 12px;color:var(--muted);font-size:13px}.loading:before{content:"";width:16px;height:16px;border-radius:50%;border:2px solid var(--border);border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error{padding:12px;color:var(--bad)}.link-btn{background:none;border:none;color:var(--accent);cursor:pointer;padding:0;font:inherit;text-decoration:underline}.link-btn:hover{color:var(--accent-2)}.show-more-btn{display:block;width:100%;margin-top:8px;padding:8px;background:none;border:1px solid var(--border);border-radius:8px;color:var(--accent);cursor:pointer;font:inherit;text-align:center}.show-more-btn:hover{color:var(--accent-2);border-color:var(--accent)}input[type=text],input:not([type]){background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:8px 12px}input:focus{outline:none;border-color:var(--accent)}.year-tabs{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:12px;border-bottom:1px solid var(--border)}.year-tab{background:transparent;border:none;color:var(--muted);cursor:pointer;padding:6px 12px;font:inherit;border-bottom:2px solid transparent;margin-bottom:-1px}.year-tab:hover{color:var(--text)}.year-tab.active{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.rider-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:32px;align-items:start}@media (max-width: 900px){.rider-layout{grid-template-columns:1fr}}.rider-main{min-width:0}.rider-side h2{font-size:12px;letter-spacing:.06em}.team-list{list-style:none;padding:0;margin:0;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--panel)}.team-list li{display:flex;align-items:center;gap:10px;padding:6px 10px;font-size:13px;border-bottom:1px solid var(--border)}.team-list li:last-child{border-bottom:none}.team-list .team-season{font-variant-numeric:tabular-nums;font-size:11px;min-width:32px}.season-results-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}table.season-results{width:100%;min-width:560px;border-collapse:collapse;font-size:13px}table.season-results th{text-align:left;font-weight:500;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:8px 10px;border-bottom:1px solid var(--border);background:transparent}table.season-results td{padding:8px 10px;vertical-align:middle;border-bottom:1px solid var(--border)}table.season-results td:nth-child(2){font-variant-numeric:tabular-nums}table.season-results tr.race-row td{background:#1218220d;font-weight:500}table.season-results tr.race-row td:nth-child(2){color:var(--accent)}table.season-results tr.sub-row td{font-size:12px;color:var(--muted);padding-top:4px;padding-bottom:4px}table.season-results tr.sub-row td:nth-child(3){padding-left:24px}table.season-results tr.sub-row a{color:var(--text)}table.season-results tr.sub-row a:hover{color:var(--accent)}table.season-results tr:hover td{background:#ffffff05}table.season-results .cls-rank{display:inline-block;min-width:22px;padding:1px 6px;border-radius:4px;text-align:center;font-weight:600;color:#1a1a1a}table.season-results .cls-gc .cls-rank{background:#f4d03f}table.season-results .cls-points .cls-rank{background:#58c172;color:#fff}table.season-results .cls-kom .cls-rank{background:#e74c3c;color:#fff}table.season-results .cls-youth .cls-rank{background:#fff;color:#1a1a1a;border:1px solid var(--border)}.gc-pill{display:inline-block;min-width:18px;padding:0 5px;border-radius:3px;background:#f4d03f;color:#1a1a1a;font-size:11px;font-weight:600;line-height:16px;text-align:center;text-decoration:none;vertical-align:middle}.gc-pill:hover{filter:brightness(.95);text-decoration:none}.global-search-slot{flex:1;display:flex;justify-content:center;max-width:760px;margin:0 16px}.global-search{position:relative;width:100%}.global-search-input-wrap{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:8px;border:1px solid var(--border);background:var(--panel)}.global-search-input-wrap:focus-within{border-color:#5b8cff;box-shadow:0 0 0 3px #5b8cff2e}.global-search-icon{color:var(--muted, #888);font-size:14px}.global-search-input{flex:1;border:0;outline:none;background:transparent;font:inherit;color:inherit;min-width:0}.global-search-kbd{font-size:11px;color:var(--muted);border:1px solid var(--border);border-radius:4px;padding:1px 5px;background:var(--panel-2)}.global-search-panel{position:absolute;top:calc(100% + 6px);left:0;right:0;min-width:520px;z-index:100;max-height:70vh;overflow-y:auto;border-radius:10px;border:1px solid var(--border);background:var(--panel);color:var(--text);box-shadow:0 12px 32px #00000059;padding:6px 0}.global-search-empty{padding:14px 16px;color:var(--muted);font-size:13px}.global-search-section+.global-search-section{border-top:1px solid var(--border);margin-top:4px;padding-top:4px}.global-search-section-title{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:6px 14px 4px}.global-search-item{width:100%;display:flex;align-items:center;gap:10px;padding:8px 14px;background:transparent;border:0;cursor:pointer;text-align:left;color:inherit;font:inherit}.global-search-item.is-active,.global-search-item:hover{background:#5b8cff1a}.global-search-avatar{width:32px;height:32px;border-radius:50%;background:var(--panel-2);display:flex;align-items:center;justify-content:center;font-size:16px;overflow:hidden;flex-shrink:0}.global-search-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.global-search-text{flex:1;min-width:0}.global-search-title{font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.global-search-sub{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.global-search-muted{color:var(--muted);font-weight:400}@media (max-width: 640px){.global-search-slot{display:none}}.best-results{margin:20px 0 24px;padding:16px 18px}.best-results .best-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}.best-results .best-head h2{margin:0;font-size:16px}.best-results .small{font-size:12px}.best-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:4px 16px}.best-row{display:grid;grid-template-columns:54px 1fr auto;align-items:center;gap:10px;padding:6px 8px;border-radius:4px;border-left:3px solid var(--border);font-size:13px;min-width:0}.best-row:hover{background:#7f7f7f0f}.best-rank-pos{font-size:11px;text-align:right}.best-result-pill{display:inline-block;min-width:38px;text-align:center;font-weight:700;padding:2px 6px;border-radius:4px;background:var(--panel-2);color:var(--text)}.best-result-pill.rank-1{background:#f4d03f;color:#1a1a1a}.best-result-pill.rank-2{background:silver;color:#1a1a1a}.best-result-pill.rank-3{background:#cd7f32;color:#fff}.best-row.tier-worlds .best-result-pill.rank-1{background:linear-gradient(90deg,#1e88e5,#ef5350,#111,#ffeb3b,#43a047);color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.7)}.best-row.tier-continental .best-result-pill.rank-1{background:#039;color:#fc0}.best-row.tier-olympics .best-result-pill.rank-1{background:linear-gradient(135deg,gold,#f4c430,#d4a017);color:#1a1a1a;box-shadow:inset 0 0 0 1px #00000026}.best-row.tier-olympics .best-result-pill.rank-2{background:linear-gradient(135deg,#e8e8e8,silver);color:#1a1a1a}.best-row.tier-olympics .best-result-pill.rank-3{background:linear-gradient(135deg,#d99058,#cd7f32);color:#fff}.best-main{display:flex;flex-direction:column;min-width:0}.best-race-name{font-weight:500;color:var(--text);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.best-race-name:hover{color:var(--accent)}.best-sub{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:6px}.best-sub .best-stage-label{color:var(--muted)}.best-sub .best-years{color:var(--muted);font-variant-numeric:tabular-nums}.best-sub .cls-chip{display:inline-block;padding:0 5px;border-radius:3px;font-weight:600;font-size:10px;letter-spacing:.3px;text-transform:uppercase;color:#1a1a1a;background:var(--panel-2)}.best-sub .cls-gc{background:#f4d03f;color:#1a1a1a}.best-sub .cls-points{background:#58c172;color:#fff}.best-sub .cls-kom{background:#e74c3c;color:#fff}.best-sub .cls-youth{background:#fff;color:#1a1a1a;border:1px solid var(--border)}.best-sub .cls-teams{background:var(--panel-2);color:var(--muted)}.best-year{font-variant-numeric:tabular-nums;font-size:12px}.best-sl{font-size:11px;font-variant-numeric:tabular-nums}.best-tier-pill{font-size:11px;padding:2px 6px;border-radius:3px;border:1px solid transparent;white-space:nowrap}.best-row.tier-grand_tour{border-left-color:#f4d03f}.best-row.tier-olympics{border-left-color:#d4a017}.best-row.tier-worlds{border-left:3px solid transparent;-o-border-image:linear-gradient(180deg,#1e88e5 0%,#ef5350 25%,#111 50%,#ffeb3b 75%,#43a047 100%) 1;border-image:linear-gradient(180deg,#1e88e5,#ef5350,#111,#ffeb3b,#43a047) 1}.best-row.tier-continental{border-left-color:#039}.best-row.tier-monument{border-left-color:#b91c1c}.best-row.tier-wt{border-left-color:var(--accent)}.best-row.tier-pro{border-left-color:var(--orange-soda)}.best-row.tier-1{border-left-color:#6c757d}.best-row.tier-2{border-left-color:#adb5bd}.best-row.tier-nc{border-left-color:#2e8b57}.best-row.tier-other{border-left-color:var(--border)}.best-tier-pill.tier-grand_tour{background:#f4d03f33;color:#b8860b}[data-theme=dark] .best-tier-pill.tier-grand_tour{color:#f4d03f}.best-tier-pill.tier-olympics{background:linear-gradient(90deg,gold,#f4c430,#d4a017);color:#1a1a1a;font-weight:700}.best-tier-pill.tier-worlds{background:linear-gradient(90deg,#1e88e5,#ef5350,#111,#ffeb3b,#43a047);color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.6);font-weight:700}.best-tier-pill.tier-continental{background:#039;color:#fc0;font-weight:700}.best-tier-pill.tier-monument{background:#b91c1c2e;color:#b91c1c}[data-theme=dark] .best-tier-pill.tier-monument{color:#f87171}.best-tier-pill.tier-wt{background:#f480101f;color:var(--accent)}.best-tier-pill.tier-pro{background:#ee964b2e;color:var(--orange-soda)}.best-tier-pill.tier-1{background:#6c757d2e;color:var(--muted)}.best-tier-pill.tier-2{background:#6c757d1f;color:var(--muted)}.best-tier-pill.tier-nc{background:#2e8b572e;color:#2e8b57;font-weight:700}.best-tier-pill.tier-other{background:var(--panel-2);color:var(--muted)}@media (max-width: 640px){.best-list{grid-template-columns:1fr}.best-row{grid-template-columns:46px 1fr auto;font-size:12px}}.pill-group{display:inline-flex;border:1px solid var(--border);border-radius:6px;overflow:hidden}.pill-btn{background:var(--panel);border:none;border-right:1px solid var(--border);color:var(--text);padding:6px 12px;font:inherit;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .12s ease,color .12s ease}.pill-btn:last-child{border-right:none}.pill-btn:hover{background:var(--panel-2)}.pill-btn.active,[data-theme=dark] .pill-btn.active{background:var(--accent);color:#fff}.pill-btn:disabled{opacity:.4;cursor:default}.pill-group.pill-group-scroll{max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none}.pill-group.pill-group-scroll::-webkit-scrollbar{display:none}.pill-group.pill-group-scroll .pill-btn{flex:0 0 auto}.form-input{background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:5px 10px;font:inherit;font-size:13px;color:var(--text);cursor:pointer}.form-input:hover{border-color:var(--accent)}select.form-input{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:28px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path fill='none' stroke='%23808080' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='M1 1l4 4 4-4'/></svg>");background-repeat:no-repeat;background-position:right 10px center;background-size:10px 6px}@media (max-width: 640px){.hide-mobile{display:none}}.form-ranking-grid{display:flex;flex-wrap:wrap;gap:10px}.form-ranking-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 10px!important;min-width:120px;flex:1 1 0;text-decoration:none;color:var(--text);transition:border-color .15s ease,transform .15s ease}@media (max-width: 640px){.form-ranking-card{min-width:90px}}.form-ranking-card:hover{border-color:var(--accent);transform:translateY(-2px)}.form-ranking-track{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.form-ranking-rank{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.1}.form-ranking-rank.rank-gold{color:#d97706}.form-ranking-rank.rank-good{color:#16a34a}.form-ranking-rank.rank-ok{color:var(--accent)}.form-ranking-rating{font-size:12px;font-weight:500;color:var(--muted);font-variant-numeric:tabular-nums;line-height:1.2}.form-ranking-na{opacity:.45}.form-ranking-na:hover{opacity:.7}.rider-traits-grid{display:flex;flex-wrap:wrap;gap:10px}.rider-trait-card{--tc: var(--accent);position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:13px 14px 13px 16px!important;min-width:132px;flex:1 1 0;overflow:hidden;text-decoration:none;color:var(--text);transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}.rider-trait-card:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--tc)}.rider-trait-card:hover{border-color:var(--tc);transform:translateY(-2px);box-shadow:0 4px 14px #0f172a14}@media (max-width: 640px){.rider-trait-card{min-width:calc(50% - 5px)}}.rider-trait-label{display:flex;align-items:center;gap:6px;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.rider-trait-label:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--tc);flex:none}.rider-trait-pct{font-size:27px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1;color:var(--tc)}.rider-trait-suffix{font-size:11px;font-weight:600;color:var(--muted);margin-left:3px}.rider-trait-card .trait-bar{width:100%;height:7px;border-radius:4px;flex:none}.rider-trait-card .trait-fill{border-radius:4px}.rider-trait-sub{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.rider-trait-na{opacity:.55}.rider-trait-na .rider-trait-pct{color:var(--muted)}.rider-trait-na:hover{opacity:.8}.rider-trait-card.trait-lrace{--tc: #0ca678}.rider-trait-card.trait-ltour{--tc: #7048e8}.rider-trait-card.trait-heat{--tc: #d9480f}.rider-trait-card.trait-cold{--tc: #1c7ed6}.rider-trait-card.cat-worldtour{--tc: #c98a16}.rider-trait-card.cat-proteam{--tc: #1c7ed6}.rider-trait-card.cat-continental{--tc: #0ca678}.rider-trait-card .trait-fill{background:var(--tc)}.race-stage-card{display:flex;flex-direction:column;gap:6px}.race-stage-title{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}.race-stage-route{font-weight:500}.race-stage-info{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;font-size:12px}.heat-up{color:#d9480f}.heat-down{color:#1c7ed6}.heat-mark{margin-left:6px;font-size:.82em;font-weight:700;white-space:nowrap;cursor:help}.heat-badge{display:inline-block;margin-top:2px;padding:1px 8px;border-radius:10px;font-size:11px;font-weight:600;background:#d9480f14;cursor:help}.heat-badge.heat-down{background:#1c7ed614}.cold-strong{color:#1c7ed6}.cold-fades{color:#d9480f}.cold-mark{margin-left:6px;font-size:.82em;font-weight:700;white-space:nowrap;cursor:help}.cold-badge{display:inline-block;margin-top:2px;padding:1px 8px;border-radius:10px;font-size:11px;font-weight:600;background:#1c7ed614;cursor:help}.cold-badge.cold-fades{background:#d9480f14}.traits-table td{vertical-align:middle}.traits-table tbody tr:hover{background:var(--panel-2)}.trait-cell{display:flex;align-items:center;gap:7px;cursor:help}.trait-bar{position:relative;flex:1;min-width:36px;height:6px;border-radius:3px;background:var(--panel-2);overflow:hidden}.trait-fill{display:block;height:100%;border-radius:3px}.trait-pct{font-size:12px;font-variant-numeric:tabular-nums;color:var(--text);min-width:20px;text-align:right}.trait-na{font-size:13px}.trait-lrace .trait-fill{background:#0ca678}.trait-ltour .trait-fill{background:#7048e8}.trait-heat .trait-fill{background:#d9480f}.trait-cold .trait-fill{background:#1c7ed6}.cat-worldtour .trait-fill{background:#c98a16}.cat-proteam .trait-fill{background:#1c7ed6}.cat-continental .trait-fill{background:#0ca678}.trait-th{padding:0}.trait-sort-btn{display:flex;align-items:center;gap:4px;width:100%;padding:10px 12px;background:none;border:none;font:inherit;font-weight:600;color:var(--muted);cursor:pointer;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}.trait-sort-btn:hover,.trait-th-active .trait-sort-btn{color:var(--text)}.trait-sort-arrow{font-size:9px;line-height:1;width:9px;color:var(--accent)}@media (min-width: 640px){.sm\:block{display:block}.sm\:flex{display:flex}.sm\:hidden{display:none}}
