html{-webkit-text-size-adjust:100%}:root{--paper: #F2F3EE;--panel: #FAFBF7;--ink: #262A24;--steel: #6E7468;--line: #C9CCC2;--grid: #E4E6DE;--acc: #D9581A;--acc-soft: #F7E3D6;--ok: #35784A;--ok-soft: #E2EEE5;--err: #B93A2E;--err-soft: #F5E2DF;--warn: #A16B10;--warn-soft: #F4EAD3;--disp: "Avenir Next Condensed", "Futura", "Arial Narrow", sans-serif;--body: "Avenir Next", "Avenir", -apple-system, system-ui, sans-serif;--mono: ui-monospace, "SF Mono", Menlo, monospace}@media(prefers-color-scheme:dark){:root{--paper: #1B1E19;--panel: #23271F;--ink: #D8DCD0;--steel: #8B9184;--line: #3C4137;--grid: #272B23;--acc: #F06A28;--acc-soft: #3A2417;--ok: #6DBA87;--ok-soft: #1F3226;--err: #E06A5D;--err-soft: #3A231F;--warn: #D8A248;--warn-soft: #38301C}}:root[data-theme=dark]{--paper: #1B1E19;--panel: #23271F;--ink: #D8DCD0;--steel: #8B9184;--line: #3C4137;--grid: #272B23;--acc: #F06A28;--acc-soft: #3A2417;--ok: #6DBA87;--ok-soft: #1F3226;--err: #E06A5D;--err-soft: #3A231F;--warn: #D8A248;--warn-soft: #38301C}:root[data-theme=light]{--paper: #F2F3EE;--panel: #FAFBF7;--ink: #262A24;--steel: #6E7468;--line: #C9CCC2;--grid: #E4E6DE;--acc: #D9581A;--acc-soft: #F7E3D6;--ok: #35784A;--ok-soft: #E2EEE5;--err: #B93A2E;--err-soft: #F5E2DF;--warn: #A16B10;--warn-soft: #F4EAD3}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:14px;line-height:1.45}::selection{background:var(--acc-soft)}h1,h2,h3{margin:0}.eyebrow{font-family:var(--disp);font-weight:600;text-transform:uppercase;letter-spacing:.09em;font-size:11px;color:var(--steel)}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}header{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding:14px 22px;border-bottom:1px solid var(--line)}.wordmark{font-family:var(--disp);font-weight:700;font-size:22px;letter-spacing:.04em}.wordmark em{font-style:normal;color:var(--acc)}.sub{color:var(--steel);font-size:12px}nav.jobs{display:flex;gap:6px;margin-left:auto}nav.jobs button{font-family:var(--disp);font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:12px;padding:7px 13px;border:1px solid var(--line);background:var(--panel);color:var(--steel);cursor:pointer;border-radius:3px;text-align:left}nav.jobs button small{display:block;font-family:var(--body);font-weight:400;text-transform:none;letter-spacing:0;font-size:10.5px;opacity:.8}nav.jobs button[aria-pressed=true]{border-color:var(--acc);color:var(--acc);background:var(--acc-soft)}button:focus-visible,.buy a:focus-visible,[tabindex]:focus-visible,input:focus-visible,label:focus-visible{outline:2px solid var(--acc);outline-offset:2px}.radar{font-size:11.5px;padding:6px 10px;border:1px dashed var(--warn);color:var(--warn);background:var(--warn-soft);border-radius:3px;max-width:300px}.strip{display:flex;gap:12px;flex-wrap:wrap;padding:12px 22px 0}.strip .panel{flex:1 1 210px;margin:0}.panel{background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:12px 14px}.panel h3{font-family:var(--disp);font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:11.5px;margin-bottom:6px}dl.spec{margin:0;display:grid;grid-template-columns:auto 1fr;gap:2px 12px;font-size:12px}dl.spec dt{color:var(--steel)}dl.spec dd{margin:0;font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:right}.chip{display:inline-block;font-family:var(--disp);font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:10px;padding:2px 7px;border-radius:2px;margin:3px 3px 0 0}.chip.kit{background:var(--acc-soft);color:var(--acc)}.chip.warn{background:var(--warn-soft);color:var(--warn)}.chip.dim{background:transparent;color:var(--steel);border:1px solid var(--line)}.chip.err{background:var(--err-soft);color:var(--err)}.chip.ok{background:var(--ok-soft);color:var(--ok)}.drop{border:1.5px dashed var(--line);border-radius:4px;padding:10px;text-align:center;color:var(--steel);font-size:12px;cursor:pointer}.drop:hover{border-color:var(--acc);color:var(--acc)}.extract{margin-top:8px;border-left:3px solid var(--ok);padding:5px 9px;background:var(--ok-soft);border-radius:0 3px 3px 0;font-size:11.5px}main.wb{display:grid;gap:16px;padding:16px 22px;grid-template-columns:minmax(0,11fr) minmax(0,9fr);align-items:start}.boardwrap{position:sticky;top:12px}.board{background:var(--panel);border:1px solid var(--line);border-radius:4px;overflow:hidden}.board svg{display:block;width:100%;height:auto}.boardnote{font-size:11.5px;color:var(--steel);margin-top:6px}.ln{stroke:var(--ink);stroke-width:2.2;fill:none;stroke-linecap:round}.ln-thin{stroke:var(--ink);stroke-width:1.2;fill:none}.ln-mut{stroke:var(--steel);stroke-width:1;fill:none}.ln-dash{stroke:var(--steel);stroke-width:1;fill:none;stroke-dasharray:5 5}.ln-acc{stroke:var(--acc);stroke-width:2.2;fill:none;stroke-linecap:round}.ln-accthin{stroke:var(--acc);stroke-width:1.2;fill:none;stroke-dasharray:3 4}.ln-bay{stroke:var(--acc);stroke-width:1.4;fill:none;stroke-dasharray:6 4}.ln-err{stroke:var(--err);stroke-width:1.6;fill:none}.fill-acc{fill:var(--acc-soft);stroke:var(--acc);stroke-width:1.6}.fill-err{fill:var(--err-soft);stroke:var(--err);stroke-width:1.6}.fill-none{fill:none}.t{font-family:var(--mono);font-size:11px;fill:var(--ink)}.t-mut{font-family:var(--mono);font-size:10.5px;fill:var(--steel)}.t-lab{font-family:var(--disp);font-weight:600;font-size:11px;letter-spacing:.07em;fill:var(--ink);text-transform:uppercase}.t-lab.mut{fill:var(--steel)}.t-lab.acc{fill:var(--acc)}.t-lab.err{fill:var(--err)}.t-ok{fill:var(--ok)}.t-err{fill:var(--err)}.t-warn{fill:var(--warn)}.tag{fill:var(--panel);stroke:var(--line)}.tag-acc{fill:var(--acc-soft);stroke:var(--acc)}.tag-dash{fill:none;stroke:var(--steel);stroke-dasharray:4 3}.tube{stroke:var(--ink);fill:none;stroke-linecap:round}.tube-in{stroke:var(--panel);fill:none;stroke-linecap:round}.w13{stroke-width:13}.w12{stroke-width:12}.w11{stroke-width:11}.w9{stroke-width:9}.w7{stroke-width:7}.wi8{stroke-width:8}.wi7{stroke-width:7}.wi6{stroke-width:6}.wi4{stroke-width:4.5}.wi3{stroke-width:3}.tire{stroke:var(--ink);stroke-width:8.5;fill:none}.tire-in{stroke:var(--panel);stroke-width:4;fill:none}.far{opacity:.45}.f3-top{fill:var(--acc);opacity:.22;stroke:var(--acc);stroke-width:1.2}.f3-side{fill:var(--acc);opacity:.38;stroke:var(--acc);stroke-width:1.2}.spoke{stroke:var(--steel);stroke-width:1;opacity:.5}.chainln{stroke:var(--steel);stroke-width:1.3;stroke-dasharray:4 2.5;fill:none;opacity:.75}.shadow{fill:var(--ink);opacity:.07}.fill-ink{fill:var(--ink)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) svg .ln-acc,:root:not([data-theme=light]) svg .fill-acc{filter:drop-shadow(0 0 5px rgba(240,106,40,.45))}}:root[data-theme=dark] svg .ln-acc,:root[data-theme=dark] svg .fill-acc{filter:drop-shadow(0 0 5px rgba(240,106,40,.45))}:root[data-theme=light] svg .ln-acc,:root[data-theme=light] svg .fill-acc{filter:none}.draw{stroke-dasharray:1;stroke-dashoffset:1;animation:drawin .7s ease forwards}@keyframes drawin{to{stroke-dashoffset:0}}.part{transform-box:fill-box;transform-origin:center;transition:transform .65s cubic-bezier(.2,.75,.25,1);transition-delay:var(--d, 0s)}body[data-explode="0"] .part{transform:var(--home, none)}.exploded-only{transition:opacity .35s ease .15s}body[data-explode="0"] .exploded-only{opacity:0}body:not([data-bike=fullsus]) #g-j2,body:not([data-bike=fullsus]) #g-j3{opacity:0!important;visibility:hidden!important}.scenebar{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:8px}.btn-col[aria-pressed=true]{border-color:var(--acc);color:var(--acc);background:var(--acc-soft)}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.bl:focus-visible{outline:none}.bl:focus-visible circle{stroke:var(--acc);stroke-width:3}.tscroll{overflow-x:auto}.stub{opacity:.6;cursor:not-allowed}abbr{text-decoration:none;border-bottom:1px dotted var(--steel);cursor:help}.examplenote{flex-basis:100%;font-size:12px;color:var(--steel)}.examplenote strong{color:var(--ink)}.minitoc{font-size:11.5px;color:var(--steel);margin:0 0 10px}.minitoc a{color:var(--acc);text-decoration:none}.minitoc a:hover{text-decoration:underline}.noshock-note{display:none}body:not([data-bike=fullsus]) .needs-shock{display:none}body:not([data-bike=fullsus]) .noshock-note{display:block}nav.jobs button:disabled{opacity:.45;cursor:not-allowed}.bl circle{fill:var(--panel);stroke:var(--ink);stroke-width:1.6}.bl text{font-family:var(--disp);font-weight:700;font-size:12px;fill:var(--ink);text-anchor:middle}.bl{cursor:pointer;transform-box:fill-box;transform-origin:center;transition:transform .15s ease}.bl:hover,.bl.hot{transform:scale(1.18)}.bl.hot circle{fill:var(--acc-soft);stroke:var(--acc);stroke-width:2.2}.bl.hot text{fill:var(--acc)}#g-j1,#g-j2,#g-j3{opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s}body[data-job="1"] #g-j1,body[data-job="2"] #g-j2,body[data-job="3"] #g-j3{opacity:1;visibility:visible}.dt-mid,.dt-rhub,.dt-fhub{opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s}body[data-dt=mid] .dt-mid,body[data-dt=rhub] .dt-rhub,body[data-dt=fhub] .dt-fhub{opacity:1;visibility:visible}.ebike{transition:opacity .25s ease}body[data-job="2"] .ebike,body[data-job="3"] .ebike{opacity:.12}#g-ebike{transition:opacity .25s ease}.jobview{display:none}body[data-job="1"] #jv1,body[data-job="2"] #jv2,body[data-job="3"] #jv3{display:block}.panel.job{padding:16px}.panel.job+.panel.job{margin-top:12px}.jobhead{font-family:var(--disp);font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:13px}.jobsub{font-size:12.5px;color:var(--steel);margin:4px 0 12px}table{width:100%;border-collapse:collapse;font-size:12.5px}th{font-family:var(--disp);font-weight:600;text-transform:uppercase;letter-spacing:.07em;font-size:10.5px;color:var(--steel);text-align:left;padding:5px 8px;border-bottom:1px solid var(--line)}td{padding:6px 8px;border-bottom:1px solid var(--grid);vertical-align:top}td.num,th.num{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}tr.sect td{font-family:var(--disp);font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:11px;color:var(--steel);padding-top:14px;border-bottom:1px solid var(--line)}tr.total td{font-weight:600;border-bottom:none;padding-top:10px}tr.hot>td{background:var(--acc-soft)}tbody tr{scroll-margin-top:80px}.blref{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;border:1.5px solid var(--ink);border-radius:50%;font-family:var(--disp);font-weight:700;font-size:11px;flex:none}.attach{color:var(--steel);font-size:11.5px;display:block}.v{font-family:var(--disp);font-weight:700;letter-spacing:.04em;white-space:nowrap}.v.ok{color:var(--ok)}.v.err{color:var(--err)}.v.warn{color:var(--warn)}.fix{display:block;font-size:11px;color:var(--acc)}.nofix{display:block;font-size:11px;color:var(--err)}.optrow{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 4px}.optrow label{display:inline-flex;gap:6px;align-items:baseline;cursor:pointer;border:1px solid var(--line);border-radius:3px;padding:6px 10px;font-size:12.5px;background:var(--panel)}.optrow input{position:absolute;opacity:0;pointer-events:none}.optrow label:has(input:checked){border-color:var(--acc);box-shadow:0 0 0 1px var(--acc);background:var(--acc-soft)}.optrow .p{font-family:var(--mono);font-size:11.5px;color:var(--steel)}.buy a{display:inline-flex;align-items:center;gap:7px;padding:4px 9px;margin:3px 4px 0 0;border:1px solid var(--line);border-radius:3px;text-decoration:none;color:var(--ink);font-size:12px}.buy a:hover{border-color:var(--acc)}.buy .p{font-family:var(--mono);font-size:11.5px}.aff{font-family:var(--disp);font-weight:600;font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;padding:1px 5px;border-radius:2px;background:var(--acc-soft);color:var(--acc)}.noaff{font-family:var(--disp);font-weight:600;font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;padding:1px 5px;border-radius:2px;border:1px solid var(--line);color:var(--steel)}.affnote{font-size:11px;color:var(--steel);margin-top:10px}ol.steps{margin:6px 0 0;padding-left:20px;font-size:12.5px}ol.steps li{margin:5px 0}ol.steps .tq{font-family:var(--mono);font-variant-numeric:tabular-nums;background:var(--paper);border:1px solid var(--line);border-radius:2px;padding:0 5px;font-size:11.5px;white-space:nowrap}ol.steps .fail{display:block;font-size:11.5px;color:var(--err)}.verdictbar{border-radius:3px;padding:9px 12px;font-size:13px;margin-bottom:12px}.verdictbar.ok{background:var(--ok-soft);color:var(--ok)}.verdictbar.err{background:var(--err-soft);color:var(--err)}.verdictbar strong{font-family:var(--disp);text-transform:uppercase;letter-spacing:.05em}.btn-col{font-family:var(--disp);font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:10.5px;padding:4px 8px;border:1px solid var(--line);border-radius:3px;background:var(--panel);color:var(--ink);cursor:pointer}.btn-col:hover{border-color:var(--acc);color:var(--acc)}.chat{margin:0 22px 18px;border:1px solid var(--line);border-radius:4px;background:var(--panel);padding:12px 14px}.chat .bubbles{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.bubble{max-width:620px;padding:7px 11px;border-radius:10px;font-size:12.5px}.bubble.you{align-self:flex-end;background:var(--acc-soft);border-radius:10px 10px 2px}.bubble.tool{align-self:flex-start;background:var(--paper);border:1px solid var(--line);border-radius:10px 10px 10px 2px}.chat input{width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:3px;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:13px}.chat input::placeholder{color:var(--steel)}footer.colophon{padding:4px 22px 26px;color:var(--steel);font-size:11.5px;max-width:900px}footer.colophon p{margin:0 0 7px;line-height:1.5}footer.colophon strong{color:var(--ink)}footer.colophon a{color:var(--acc);text-decoration:none}footer.colophon a:hover{text-decoration:underline}@media(max-width:1080px){main.wb{grid-template-columns:1fr}.boardwrap{position:static}nav.jobs{margin-left:0;width:100%}nav.jobs button{flex:1}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.board svg{cursor:grab;touch-action:pan-y}body.tilting .board svg{cursor:grabbing}body.tilting .board svg *{transition:none!important}.bikefind{display:flex;gap:6px;margin-bottom:8px}.bikefind input{flex:1;min-width:0;padding:7px 9px;font-size:12.5px;border:1px solid var(--line);border-radius:3px;background:var(--paper);color:var(--ink);font-family:var(--body)}.bikefind input::placeholder{color:var(--steel)}.btn.primary{background:var(--acc);border-color:var(--acc);color:#fff;white-space:nowrap}.btn.primary:disabled{opacity:.55;cursor:progress}#bikeresult .rspec{margin:6px 0;display:grid;grid-template-columns:auto 1fr;gap:2px 10px;font-size:12px}#bikeresult .rspec dt{color:var(--steel)}#bikeresult .rspec dd{margin:0;font-family:var(--mono);text-align:right}#bikeresult .conf-high{color:var(--ok)}#bikeresult .conf-medium{color:var(--warn)}#bikeresult .conf-low{color:var(--err)}#bikeresult .ractions{display:flex;gap:6px;margin-top:8px}#bikeresult .runknowns{font-size:11px;color:var(--warn);margin-top:6px}.jobcta{margin:10px 0 4px}.jobcta.recommend{border:1px solid var(--acc);background:var(--acc-soft);border-radius:5px;padding:10px 12px}.cta-head{font-family:var(--disp);font-weight:600;font-size:13px;letter-spacing:.03em;color:var(--ink);margin-bottom:7px}.cta-head .cta-why{font-family:var(--body);font-weight:400;letter-spacing:0;color:var(--steel);font-size:12px}.cta-sub{font-size:11.5px;color:var(--steel);margin-top:6px}.cta-sub a{color:var(--acc);text-decoration:none}.buyrow{display:flex;gap:7px;flex-wrap:wrap}.buycta,.buyrow a{display:inline-flex;align-items:center;gap:6px;text-decoration:none;cursor:pointer;font-family:var(--disp);font-weight:600;text-transform:uppercase;letter-spacing:.05em;font-size:12px;padding:8px 13px;border-radius:4px;background:var(--acc);color:#fff;border:1px solid var(--acc)}.buycta:hover,.buyrow a:hover{filter:brightness(1.08)}.buycta.ghost,.buyrow a.ghost{background:transparent;color:var(--acc)}.buyrow a .aff{background:#ffffff38;color:#fff}.buyrow a.ghost .noaff,.buycta.ghost .noaff{border-color:var(--acc);color:var(--acc)}#bom .buy a{display:inline-flex;align-items:center;gap:5px;text-decoration:none;font-family:var(--disp);font-weight:600;font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;padding:3px 8px;border-radius:3px;border:1px solid var(--acc);color:var(--acc);background:transparent;margin-top:2px}#bom .buy a:hover{background:var(--acc);color:#fff}#bom .buy a .aff{display:none}#bom .buy a:after{content:" ▸"}#cmp .buy a{border:1px solid var(--line);border-radius:3px;padding:4px 8px;text-decoration:none}#cmp .buy a:has(.aff){border-color:var(--acc);color:var(--acc);font-weight:600}#cmp .buy a:hover{border-color:var(--acc)}#riderkg{width:52px;padding:1px 5px;font-family:var(--mono);font-size:12px;text-align:right;border:1px solid var(--line);border-radius:3px;background:var(--paper);color:var(--ink)}#riderkg::-webkit-inner-spin-button{opacity:.5}
