@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-vietnamese-wght-normal-D0rl6rjA.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-ext-wght-normal-D9tNdqV9.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-wght-normal-BhU9QXUp.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#f4f5f1;--surface:#fff;--surface-2:#f7f8f5;--border:#e1e4dd;--text:#14171b;--muted:#646a72;--accent:#14171b;--grid:#eceee8;--grid-strong:#d3d7cf;--row-hover:#f1f3ee;--paper-line:#14171b08;--paper-line-strong:#14171b0e;--error-bg:#fde8e8;--error-text:#9b1c1c;--bike-1:#2563eb;--bike-2:#ea580c;--fit-ok:#059669;--fit-tight:#d97706;--fit-bad:#dc2626;--bike-3:#059669;--bike-4:#b4359f;--seq-low:#ddd6fe;--seq-high:#4c1d95;--blend:multiply;--radius:14px;--shadow:0 1px 2px #1018280a, 0 4px 16px #1018280d;--show-moon:inline-block;--show-sun:none;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-display:"Space Grotesk Variable", ui-sans-serif, system-ui, sans-serif;--font-body:"Inter Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono Variable", ui-monospace, SFMono-Regular, Menlo, monospace}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0b0d10;--surface:#13161b;--surface-2:#191d23;--border:#262b33;--text:#e9ebee;--muted:#959ca7;--accent:#e9ebee;--grid:#1a1e24;--grid-strong:#2e343d;--row-hover:#1d2128;--paper-line:#e9ebee06;--paper-line-strong:#e9ebee0b;--error-bg:#3b1414;--error-text:#fca5a5;--bike-1:#3987e5;--bike-2:#d95926;--fit-ok:#34d399;--fit-tight:#fbbf24;--fit-bad:#f87171;--bike-3:#199e70;--bike-4:#c056c9;--seq-low:#3b2a6b;--seq-high:#d8ccff;--blend:screen;--shadow:none;--show-moon:none;--show-sun:inline-block;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0b0d10;--surface:#13161b;--surface-2:#191d23;--border:#262b33;--text:#e9ebee;--muted:#959ca7;--accent:#e9ebee;--grid:#1a1e24;--grid-strong:#2e343d;--row-hover:#1d2128;--paper-line:#e9ebee06;--paper-line-strong:#e9ebee0b;--error-bg:#3b1414;--error-text:#fca5a5;--bike-1:#3987e5;--bike-2:#d95926;--fit-ok:#34d399;--fit-tight:#fbbf24;--fit-bad:#f87171;--bike-3:#199e70;--bike-4:#c056c9;--seq-low:#3b2a6b;--seq-high:#d8ccff;--blend:screen;--shadow:none;--show-moon:none;--show-sun:inline-block;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font:14px/1.5 var(--font-body);font-feature-settings:"cv11";-webkit-font-smoothing:antialiased;margin:0}button,input,select{font:inherit;color:inherit}a{color:inherit}.muted{color:var(--muted);font-weight:400}:root{--gutter:clamp(16px, 4vw, 56px)}.app{max-width:1480px;padding:0 var(--gutter) 48px;margin:0 auto}.workspace{grid-template-columns:minmax(0,1fr);gap:16px;margin-top:16px;display:grid}@media (width>=1100px){.workspace{grid-template-columns:minmax(0,1.55fr) minmax(380px,1fr);align-items:start}.card.drawing{top:calc(var(--bar-h) + 12px);position:sticky}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;padding:16px}.banner{border-radius:10px;margin-bottom:12px;padding:10px 14px}.banner.error,.error{background:var(--error-bg);color:var(--error-text)}.btn{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:10px;padding:8px 14px;font-weight:600}.btn.primary{background:var(--accent);color:var(--surface);border-color:var(--accent)}.btn.ghost{background:0 0}.btn:disabled{opacity:.5;cursor:default}.icon-btn{cursor:pointer;width:30px;height:30px;color:var(--muted);background:0 0;border:0;border-radius:8px;flex:none}.icon-btn:hover:not(:disabled){background:var(--row-hover);color:var(--text)}.icon-btn:disabled{opacity:.3}.slots{grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr));gap:12px;display:grid}.slot{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:12px 12px 12px 16px;position:relative;overflow:visible}.slot:before{content:"";background:var(--c);border-radius:0 4px 4px 0;width:4px;position:absolute;top:12px;bottom:12px;left:0}.slot.hidden-bike{opacity:.55}.slot.add{box-shadow:none;color:var(--muted);cursor:pointer;background:0 0;border-style:dashed;min-height:96px;font-weight:600}.slot.add:before{display:none}.slot.add:hover{color:var(--text);border-color:var(--muted)}.slot-head{align-items:center;gap:6px;display:flex}.slot-letter{background:var(--c);width:24px;height:24px;color:var(--surface);border-radius:7px;flex:none;place-items:center;font-size:12px;font-weight:700;display:grid}.slot-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 8px;margin:6px 0 0 30px;font-size:12.5px;display:flex}.badge{color:color-mix(in srgb, #b45309 85%, var(--text));background:#f59e0b2e;border-radius:999px;padding:1px 7px;font-size:11px;font-weight:600}.sizes{flex-wrap:wrap;gap:6px;margin:10px 0 0 30px;display:flex}.chip{border:1px solid var(--border);background:var(--surface-2);cursor:pointer;border-radius:999px;min-width:38px;padding:3px 11px;font-size:13px;font-weight:600}.chip:hover{border-color:var(--c)}.chip.on{background:var(--c);border-color:var(--c);color:var(--surface)}.picker{flex:1;min-width:0;position:relative}.picker input{text-overflow:ellipsis;background:0 0;border:1px solid #0000;border-radius:8px;width:100%;padding:6px 8px;font-size:15px;font-weight:600}.picker input:hover{background:var(--surface-2)}.picker input:focus{border-color:var(--border);background:var(--surface-2);outline:none}.picker-list{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:12px;min-width:min(340px,80vw);max-height:340px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto;box-shadow:0 12px 32px #00000024}.picker-group{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:8px 8px 4px;font-size:11px;font-weight:700}.picker-option{cursor:pointer;border-radius:8px;justify-content:space-between;gap:12px;padding:7px 8px;display:flex}.picker-option.active{background:var(--row-hover)}.picker-meta{color:var(--muted);white-space:nowrap;font-size:12px}.picker-empty{color:var(--muted);padding:10px}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 20px;margin-bottom:8px;display:flex}.toolbar-label{color:var(--muted);margin-right:6px;font-size:12px;font-weight:600}.segmented{flex-wrap:wrap;align-items:center;gap:2px;display:flex}.segmented button{border:1px solid var(--border);background:var(--surface-2);cursor:pointer;margin-left:-1px;padding:5px 10px;font-size:13px}.segmented button:first-of-type{border-radius:8px 0 0 8px}.segmented button:last-of-type{border-radius:0 8px 8px 0}.segmented button.on{background:var(--accent);color:var(--surface);border-color:var(--accent)}.slider{align-items:center;gap:8px;display:flex}.slider input{width:140px;accent-color:var(--accent)}.slider output{min-width:56px;font-size:13px}.caption{color:var(--text);min-height:2.9em;margin-top:8px;font-size:13px}.overlay{width:100%;height:auto;max-height:68vh;display:block}.grid line{stroke:var(--grid);stroke-width:1.5px}.grid line.axis{stroke:var(--grid-strong);stroke-width:2.5px}.bike{mix-blend-mode:var(--blend);transition:opacity .15s}.bike.dimmed{opacity:.45}.bike .tube{fill:none;stroke:currentColor;stroke-width:12px;stroke-linecap:round;stroke-linejoin:round}.bike .tube.headtube{stroke-width:18px}.bike .tube.stay,.bike .tube.fork{stroke-width:9px}.bike .wheel circle{fill:none;stroke:currentColor;stroke-width:12px;opacity:.32}.bike .wheel .rim{stroke-width:3px;opacity:.4}.bike .wheel .hub{fill:currentColor;stroke:none;opacity:.9}.bike .spacers{stroke:currentColor;stroke-width:16px;opacity:.55}.bike .steerer{stroke:currentColor;stroke-width:14px}.bike .stem{stroke:currentColor;stroke-width:10px;stroke-linecap:round}.bike .bar{fill:var(--surface);stroke:currentColor;stroke-width:6px}.bike .seat-axis{stroke:currentColor;stroke-width:4px;stroke-dasharray:2 14;stroke-linecap:round;opacity:.55}.bike .seatpost{stroke:currentColor;stroke-width:9px;stroke-linecap:round;opacity:.7}.bike .setback{stroke:currentColor;stroke-width:7px;stroke-linecap:round;opacity:.7}.bike .saddle-mount{fill:currentColor;stroke:var(--surface);stroke-width:5px}.bike .saddle{stroke:currentColor;stroke-width:13px;stroke-linecap:round}.bike .eff-tt{stroke:currentColor;stroke-width:2.5px;stroke-dasharray:8 8;opacity:.6}.bike .ground{stroke:currentColor;stroke-width:3px;stroke-dasharray:18 12;opacity:.35}.bike .bb{fill:var(--surface);stroke:currentColor;stroke-width:7px}.bike .point{fill:currentColor}.annotation .dim-line{fill:none;stroke:currentColor;stroke-width:4px;stroke-linecap:round}.annotation .guide{stroke:currentColor;stroke-width:2.5px;stroke-dasharray:10 8;opacity:.75}.annotation .label rect{fill:var(--surface);stroke:currentColor;stroke-width:3px}.annotation .label text{fill:currentColor;font-weight:700}.anchor-mark circle{fill:none;stroke:var(--text);stroke-width:3px}.anchor-mark path{stroke:var(--text);stroke-width:3px}.summary{gap:6px;margin-bottom:14px;display:grid}.summary-line{background:var(--surface-2);border-radius:10px;margin:0;padding:10px 12px;font-size:13.5px}.swatch{vertical-align:1px;border-radius:3px;width:9px;height:9px;margin-right:7px;display:inline-block}.table-wrap{overflow-x:auto}.compare{border-collapse:collapse;width:100%}.compare th,.compare td{text-align:right;white-space:nowrap;padding:7px 10px}.compare thead th{white-space:normal;border-bottom:1px solid var(--border);vertical-align:bottom;font-size:13px;font-weight:700}.compare thead th:first-child,.compare tbody th{text-align:left}.compare tbody th{font-weight:500}.compare tbody tr{cursor:pointer;border-bottom:1px solid var(--grid)}.compare tbody tr:hover,.compare tbody tr.hl{background:var(--row-hover)}.compare tbody tr.pinned th{box-shadow:inset 3px 0 0 var(--accent);font-weight:700}.compare tbody tr:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.compare td{font-variant-numeric:tabular-nums;font-weight:600}.unit{color:var(--muted);margin-left:5px;font-size:11.5px;font-weight:400}.derived{color:var(--muted);font-style:italic;font-weight:500}.delta{background:var(--surface-2);min-width:46px;color:var(--text);text-align:center;border-radius:6px;margin-left:8px;padding:1px 6px;font-size:12px;font-weight:600;display:inline-block}.delta.zero{color:var(--muted)}.compare.stacked td{vertical-align:top}.compare.stacked .delta{width:fit-content;margin:2px 0 0 auto;display:block}.table-note{color:var(--muted);margin:10px 0 0;font-size:12px}.empty{color:var(--muted);text-align:center;padding:40px 0}.dialog{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:min(1100px,100vw - 32px);max-height:calc(100vh - 32px);color:var(--text);padding:20px}.dialog::backdrop{background:#0a0c1073}.dialog h2{margin:0;font-size:18px}.dialog h3{margin:18px 0 8px;font-size:14px}.dialog-head,.dialog-foot{justify-content:space-between;align-items:center;gap:8px;display:flex}.dialog-foot{justify-content:flex-end;margin-top:18px}.form-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr));gap:10px;margin-top:14px;display:grid}.form-grid label{color:var(--muted);gap:4px;font-size:12px;font-weight:600;display:grid}.form-grid .wide{grid-column:1/-1}.form-grid input,.form-grid select,.size-table input{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;width:100%;padding:7px 9px}.size-table-wrap{margin-bottom:8px;overflow-x:auto}.size-table{border-collapse:collapse}.size-table th{color:var(--muted);text-align:left;white-space:nowrap;padding:0 3px 4px;font-size:11.5px;font-weight:600}.size-table td{padding:2px 3px}.size-table input{width:78px;padding:5px 6px}.error{white-space:pre-wrap;font:inherit;border-radius:8px;padding:10px 12px;font-size:13px}.compare.stacked tbody th{vertical-align:top}.badge.ok{color:color-mix(in srgb, #047857 80%, var(--text));background:#05966929}.badge.warn{color:color-mix(in srgb, #b45309 85%, var(--text));background:#f59e0b2e}.badge{margin-left:6px}.slot-meta a{font-size:12px}.thumb img{object-fit:contain;background:var(--surface-2);border-radius:6px;width:72px;height:44px}.chip.small{min-width:0;padding:2px 9px;font-size:12px}.chip:disabled{opacity:.35;cursor:default}.chip.on.neutral{background:var(--accent);border-color:var(--accent);color:var(--surface)}.sizes.settings{margin-top:6px}.btn.small{border-radius:8px;padding:4px 10px;font-size:12.5px}.cockpit{margin:10px 0 0 30px;font-size:12.5px}.cockpit summary{cursor:pointer;color:var(--muted)}.cockpit summary:hover{color:var(--text)}.cockpit-grid{flex-wrap:wrap;align-items:end;gap:8px;margin-top:8px;display:flex}.cockpit-grid label{color:var(--muted);gap:2px;font-size:11.5px;font-weight:600;display:grid}.cockpit-grid select{border:1px solid var(--border);background:var(--surface-2);font:inherit;border-radius:7px;padding:4px 6px}.cockpit-grid input{border:1px solid var(--border);background:var(--surface-2);border-radius:7px;width:72px;padding:4px 6px}.compare .group-row th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);cursor:default;background:0 0;padding-top:14px;font-size:11px;font-weight:700}.compare tbody tr.group-row{cursor:default;border-bottom:1px solid var(--border)}.compare tbody tr.group-row:hover{background:0 0}.section{margin-top:16px}.section-head h2{margin:0;font-size:17px}.section-head p{margin:2px 0 14px}.page-foot{text-align:center;margin-top:28px;font-size:12px}.finder-controls{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.finder-controls label{gap:4px;display:grid}.finder-controls .grow{flex:1;min-width:240px}.finder-controls .grow .picker input{border:1px solid var(--border);background:var(--surface-2)}.finder-controls select,.finder-controls input[type=number]{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;padding:6px 8px}.finder-controls input[type=number]{width:80px}.finder-target{background:var(--surface-2);border-radius:10px;padding:10px 12px;font-size:13.5px}.finder-table{border-collapse:collapse;width:100%}.finder-table th,.finder-table td{text-align:left;border-bottom:1px solid var(--grid);font-variant-numeric:tabular-nums;padding:7px 10px}.finder-table thead th{color:var(--muted);border-bottom:1px solid var(--border);font-size:12px}.finder-table tr.best{background:#05966912}.finder-table .note{font-size:12px}.verdict{font-size:12.5px;font-weight:700}.verdict.ok{color:color-mix(in srgb, #047857 85%, var(--text))}.verdict.ok:before{content:"✓ "}.verdict.warn{color:color-mix(in srgb, #b45309 85%, var(--text))}.verdict.warn:before{content:"! "}.verdict.bad{color:color-mix(in srgb, #b91c1c 85%, var(--text))}.verdict.bad:before{content:"✕ "}.finder{overflow-x:auto}.explore{grid-template-columns:minmax(0,1fr);gap:20px;display:grid}@media (width>=1000px){.explore{grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr)}}.filters{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.scatter-wrap{position:relative}.scatter{width:100%;height:auto;display:block}.scatter-grid line{stroke:var(--grid);stroke-width:1px}.scatter-axis text{fill:var(--muted);font-size:11px}.scatter-axis .axis-title{fill:var(--text);font-size:12px;font-weight:600}.dot{fill:var(--muted);opacity:.45;transition:r .1s}.dot.hover{opacity:1;fill:var(--text)}.dot-selected{fill:currentColor;stroke:var(--surface);stroke-width:2px}.dot-label{fill:var(--text);font-size:12px;font-weight:700}.hit{fill:#0000;cursor:pointer}.tooltip{pointer-events:none;z-index:5;white-space:nowrap;background:var(--surface);border:1px solid var(--border);border-radius:10px;gap:2px;padding:8px 10px;font-size:12px;display:grid;position:absolute;transform:translate(-50%,calc(-100% - 14px));box-shadow:0 8px 24px #0000001f}.similar-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;display:flex}.similar-head h3{margin:0;font-size:14px}.check{color:var(--muted);align-items:center;gap:6px;font-size:12.5px;display:flex}.similar-list{gap:4px;margin:10px 0 0;padding:0;list-style:none;display:grid}.similar-item{text-align:left;border:1px solid var(--border);background:var(--surface-2);cursor:pointer;border-radius:10px;gap:4px;width:100%;padding:8px 10px;display:grid}.similar-item:hover{border-color:var(--muted)}.similar-name{font-size:13px;font-weight:600}.similar-deltas{flex-wrap:wrap;gap:4px;display:flex}.similar-deltas .delta{background:var(--surface);margin:0}.import{border:1px solid var(--border);border-radius:10px;margin-top:16px;padding:10px 12px}.import summary{cursor:pointer;font-weight:700}.import p{margin:6px 0;font-size:12.5px}.import textarea{border:1px solid var(--border);background:var(--surface-2);width:100%;color:var(--text);border-radius:8px;padding:8px;font:12px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace}.import-actions{align-items:center;gap:10px;margin:8px 0;display:flex}.mapping{border-collapse:collapse;width:100%;margin:8px 0;font-size:12.5px}.mapping th{text-align:left;color:var(--muted);padding:3px 6px;font-size:11.5px}.mapping td{border-top:1px solid var(--grid);padding:3px 6px}.mapping tr.ignored td:first-child{color:var(--muted);text-decoration:line-through}.mapping select{border:1px solid var(--border);background:var(--surface-2);border-radius:6px;padding:3px 5px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px}.warn-line,.plausibility{color:color-mix(in srgb, #b45309 85%, var(--text));font-size:12.5px}.plausibility{background:#f59e0b1f;border-radius:10px;margin-top:12px;padding:10px 12px}.plausibility ul{margin:6px 0 0;padding-left:18px}.dialog-foot .muted{margin-right:auto;font-size:12px}.slot-meta .year{color:var(--text);font-weight:700}.filter-bar{gap:6px;margin-bottom:14px;display:grid}.filter-bar .filters{margin:0}.match-line{flex-wrap:wrap;align-items:center;gap:6px;margin-top:2px;font-size:13px;display:flex}.brush-chip{background:color-mix(in srgb, var(--accent) 10%, var(--surface));border-color:var(--accent)}.axis-controls{flex-wrap:wrap;align-items:end;gap:10px;margin-bottom:6px;display:flex}.axis-controls label{gap:2px;display:grid}.axis-controls select{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;padding:5px 8px}.dot.out{opacity:.12}.dot.colored{opacity:.9;stroke:var(--surface);stroke-width:.75px}.color-legend{align-items:center;gap:8px;margin-top:4px;font-size:12px;display:flex}.color-legend .ramp{background:linear-gradient(90deg, var(--seq-low), var(--seq-high));border-radius:5px;width:140px;height:10px}.profile{border-top:1px solid var(--border);margin-top:22px;padding-top:16px}.profile-head h3{margin:0;font-size:14px}.profile-head p{margin:2px 0 8px;font-size:12.5px}.pc{overflow-x:auto}.pc-svg{touch-action:none;width:100%;min-width:640px;height:auto;display:block}.pc-line{fill:none;stroke-linejoin:round}.pc-line.out{stroke:var(--grid-strong);stroke-width:1px;opacity:.35}.pc-line.match{stroke:var(--muted);stroke-width:1px;opacity:.35}.pc-line.hover{stroke:var(--text);stroke-width:2.5px;opacity:1}.pc-halo{fill:none;stroke:var(--surface);stroke-width:6px;stroke-linejoin:round}.pc-selected{fill:none;stroke:currentColor;stroke-width:3px;stroke-linejoin:round}.pc-hit{fill:none;stroke:#0000;stroke-width:8px;cursor:pointer;pointer-events:stroke}.pc-axis line{stroke:var(--grid-strong);stroke-width:1.5px}.pc-axis.primary line{stroke:var(--text);stroke-width:2px}.pc-title{fill:var(--text);font-size:12px;font-weight:700}.pc-axis.primary .pc-title{font-size:13px}.pc-unit{fill:var(--muted);font-size:10.5px}.pc-tick,.pc-title,.pc-unit{paint-order:stroke;stroke:var(--surface);stroke-width:3px;stroke-linejoin:round}.pc-tick{fill:var(--muted);font-size:10px}.pc-svg.filtered .pc-line.out{opacity:.18}.pc-svg.filtered .pc-line.match{stroke:var(--text);opacity:.55;stroke-width:1.25px}.pc-brush{fill:color-mix(in srgb, var(--accent) 14%, transparent);stroke:var(--accent);stroke-width:1.5px}.pc-brush-hit{fill:#0000;cursor:ns-resize}.pc-info{min-height:1.5em;margin:6px 0 0;font-size:12.5px}.banner{background:var(--surface-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.landing{--accent-2:var(--bike-1);overflow-x:clip}.landing h2{letter-spacing:-.02em;margin:0 0 12px;font-size:clamp(24px,3vw,34px);line-height:1.15}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--accent-2);margin:0 0 10px;font-size:12px;font-weight:700}.btn.large{border-radius:12px;padding:12px 20px;font-size:15px;text-decoration:none;display:inline-block}.small{font-size:12.5px}.hero{grid-template-columns:minmax(0,1fr);align-items:center;gap:24px;min-height:calc(100vh - 90px);padding:20px 0 40px;display:grid}@media (width>=980px){.hero{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}}.hero h1{letter-spacing:-.035em;margin:0 0 18px;font-size:clamp(34px,5.2vw,64px);line-height:1.02}.lead{color:var(--muted);max-width:34em;margin:0 0 26px;font-size:clamp(16px,1.6vw,19px);line-height:1.55}.hero-cta{flex-wrap:wrap;gap:10px;display:flex}.hero-meta{margin-top:18px;font-size:13px}.hero-visual{height:clamp(340px,52vw,600px);position:relative}.hero-stage{position:absolute;inset:0}.hero-stage.spin{animation:9s ease-in-out infinite alternate hero-float}@keyframes hero-float{0%{transform:rotateY(-8deg)translateY(6px)}to{transform:rotateY(8deg)translateY(-6px)}}.hero-visual{perspective:1400px}.stage{perspective:1700px;perspective-origin:50% 40%;position:absolute;inset:0}.stage-3d{transform-style:preserve-3d;will-change:transform;position:absolute;inset:0}.layer{transform-style:preserve-3d;will-change:transform;border-radius:20px;position:absolute;inset:4% 3%}.layer>.glass{border-radius:inherit;will-change:opacity;background:color-mix(in srgb, var(--surface) 72%, transparent);border:1px solid var(--border);position:absolute;inset:0;box-shadow:0 30px 60px -30px #0f172a59}.layer.base>.glass{background:color-mix(in srgb, var(--surface) 85%, transparent)}.layer>.layer-svg{position:relative}.layer-svg{width:100%;height:100%;display:block;overflow:visible}.layer-svg .bike{mix-blend-mode:normal}.target-ring{fill:none;stroke:var(--text);stroke-width:4px;stroke-dasharray:10 8}.target-dot{fill:var(--bike-1)}.finder-hud{background:var(--surface);border:1px solid var(--border);border-radius:14px;gap:4px;min-width:230px;padding:12px 14px;font-size:13px;display:grid;position:absolute;bottom:3%;left:50%;transform:translate(-50%);box-shadow:0 16px 40px #0000001f}.finder-hud .big{font-size:15px}.hud-row{align-items:center;gap:0;display:flex}.story{margin:20px 0;position:relative}.story-sticky{top:var(--bar-h);height:calc(100vh - var(--bar-h));height:calc(100svh - var(--bar-h));grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);align-items:center;gap:24px;display:grid;position:sticky}.story-stage{height:min(calc(100vh - var(--bar-h) - 60px), 720px);position:relative}.story-text{height:60vh;position:relative}.story-step{opacity:0;pointer-events:none;flex-direction:column;justify-content:center;transition:opacity .25s,transform .25s;display:flex;position:absolute;inset:0;transform:translateY(10px)}.story-step.active{opacity:1;pointer-events:auto;transition:opacity .55s .18s,transform .55s cubic-bezier(.2,.7,.2,1) .18s;transform:none}.story-step p{color:var(--muted);margin:0 0 10px;font-size:17px;line-height:1.6}.story-step p.eyebrow{color:var(--accent-2);font-size:12px}.story-progress{gap:6px;display:flex;position:absolute;bottom:0;left:0}.story-progress span{background:var(--border);border-radius:2px;width:28px;height:4px;transition:background .3s}.story-progress span.on{background:var(--accent)}@media (width<=899px){.story-sticky{grid-template-rows:44vh 1fr;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:8px;padding-top:12px}.story-stage{height:100%}.story-text{height:auto}.story-step{justify-content:flex-start;padding-top:6px}.story-step h2{font-size:22px}.story-step p{font-size:15px}.finder-hud{border-radius:999px;flex-wrap:wrap;align-items:center;gap:4px 10px;min-width:0;max-width:96%;padding:6px 12px;font-size:12px;display:flex;bottom:0}.finder-hud .hud-row:not(.big){display:none}.finder-hud{width:max-content}.finder-hud .big{white-space:nowrap;font-size:13px}}@media (prefers-reduced-motion:reduce){.story-step{transition:none}.hero-stage.spin{animation:none}}.features,.glossary,.popular,.final-cta{padding:56px 0 8px}.feature-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:14px;margin-top:18px;display:grid}.feature{text-align:left;cursor:pointer;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);align-content:start;gap:6px;padding:18px;transition:transform .15s,border-color .15s;display:grid}.feature:hover{border-color:var(--muted);transform:translateY(-2px)}.feature h3{margin:0;font-size:16px}.feature p{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.feature-link{margin-top:6px;font-size:13px;font-weight:700}.glossary dl{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:14px 28px;margin:18px 0;display:grid}.glossary dt{margin-bottom:3px;font-weight:700}.glossary dd{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.popular ul{columns:3 220px;column-gap:24px;margin:12px 0 16px;padding:0;list-style:none}.popular li{break-inside:avoid;padding:4px 0}.popular a,.related a,.directory a{color:var(--text);-webkit-text-decoration-color:var(--border);text-decoration-color:var(--border);text-underline-offset:3px}.final-cta{text-align:center;padding-bottom:40px}.final-cta h2{margin-bottom:6px}.final-cta .btn{margin-top:10px}.page-head h1{letter-spacing:-.02em;margin:6px 0 4px;font-size:clamp(24px,3vw,32px)}.page-head p{margin:0 0 14px}.page-head:empty{display:none}.directory{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:14px;display:grid}.directory-brand h2{margin:0 0 8px;font-size:18px}.directory-brand ul,.related ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.related{margin-top:18px}.related h3{margin:0 0 8px;font-size:14px}.all-sizes th,.all-sizes td{text-align:right}:root{--bar-h:64px}html{scroll-padding-top:calc(var(--bar-h) + 12px)}.topbar{z-index:50;height:var(--bar-h);margin:0 calc(-1 * var(--gutter)) 8px;padding:0 var(--gutter);background:color-mix(in srgb, var(--bg) 78%, transparent);-webkit-backdrop-filter:saturate(160%)blur(14px);backdrop-filter:saturate(160%)blur(14px);box-shadow:0 0 0 100vmax color-mix(in srgb, var(--bg) 78%, transparent);clip-path:inset(0 -100vmax);border-bottom:1px solid #0000;align-items:center;gap:16px;transition:border-color .2s,background .2s;display:flex;position:sticky;top:0}.topbar.scrolled{border-bottom-color:var(--border)}.brand{color:var(--text);flex:none;align-items:center;gap:10px;text-decoration:none;display:flex}.brand-mark{background:var(--surface);border:1px solid var(--border);width:34px;height:34px;box-shadow:var(--shadow);border-radius:10px;place-items:center;display:grid}.brand-mark svg{width:24px;height:24px}.brand-word{letter-spacing:-.02em;color:var(--muted);font-size:17px;font-weight:500}.brand-word b{color:var(--text);font-weight:800}.nav{background:color-mix(in srgb, var(--surface) 70%, transparent);border:1px solid var(--border);border-radius:999px;align-items:center;gap:2px;margin:0 auto;padding:4px;display:flex}.nav a{color:var(--muted);white-space:nowrap;border-radius:999px;padding:7px 14px;font-size:13.5px;font-weight:600;text-decoration:none;transition:color .15s,background .15s;position:relative}.nav a:hover{color:var(--text)}.nav a.active{color:var(--text);background:var(--surface);box-shadow:0 1px 2px #10182814, 0 0 0 1px var(--border)}.nav-sep{background:var(--border);width:1px;height:18px;margin:0 4px}.add-btn{cursor:pointer;border:1px solid var(--accent);background:var(--accent);color:var(--surface);border-radius:999px;flex:none;align-items:center;gap:7px;padding:8px 14px 8px 11px;font-size:13.5px;font-weight:600;transition:transform .15s,box-shadow .15s;display:inline-flex}.add-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px #1018282e}.add-btn svg{width:16px;height:16px}.topbar a:focus-visible,.topbar button:focus-visible{outline:2px solid var(--bike-1);outline-offset:2px}@media (width<=860px){:root{--bar-h:108px}.topbar{height:auto;padding:10px var(--gutter);flex-wrap:wrap;row-gap:10px}.brand{margin-right:auto}.add-btn{padding:8px}.add-btn span{display:none}.nav{scrollbar-width:none;order:3;justify-content:flex-start;width:100%;margin:0;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 85%,#0000);mask-image:linear-gradient(90deg,#000 85%,#0000)}.nav::-webkit-scrollbar{display:none}}@media (prefers-reduced-motion:reduce){.add-btn,.topbar{transition:none}}body{background-color:var(--bg);background-image:linear-gradient(var(--paper-line-strong) 1px, transparent 1px), linear-gradient(90deg, var(--paper-line-strong) 1px, transparent 1px), linear-gradient(var(--paper-line) 1px, transparent 1px), linear-gradient(90deg, var(--paper-line) 1px, transparent 1px);background-position:-1px -1px;background-size:160px 160px,160px 160px,32px 32px,32px 32px}h1,h2,h3,.brand-word,.hero-stats dd{font-family:var(--font-display)}h1,h2{letter-spacing:-.025em}.page-head h1{font-weight:700}.section-head h2{margin:2px 0;font-size:20px;font-weight:700}.compare td,.delta,.finder-table td,.all-sizes td,.slider output,.match-line strong,.pc-tick,.scatter-axis text{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.compare td{font-size:13px;font-weight:500}.delta{font-size:11.5px;font-weight:500}.kicker,.section-label,.eyebrow,.foot-title,.hero-stats dt,.toolbar-label,.picker-group,.compare .group-row th,.story-step p.eyebrow{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em}.kicker{color:var(--bike-1);align-items:center;gap:6px;margin:0;font-size:11px;font-weight:600;display:inline-flex}.toolbar-label{font-size:10.5px;font-weight:600}.section-label{color:var(--muted);align-items:center;gap:12px;margin:0 0 14px;font-size:11px;font-weight:600;display:flex}.section-label span{color:var(--text);border:1px solid var(--border);background:var(--surface);letter-spacing:.06em;border-radius:6px;padding:3px 7px}.section-label:after{content:"";background:linear-gradient(var(--grid-strong), var(--grid-strong)) left center / 100% 1px no-repeat, repeating-linear-gradient(90deg, var(--grid-strong) 0 1px, transparent 1px 12px) left bottom / 100% 5px no-repeat;flex:1;height:9px}.card{position:relative}.card:after{content:"";pointer-events:none;--m:var(--grid-strong);background:linear-gradient(var(--m), var(--m)) top left / 10px 1px no-repeat, linear-gradient(var(--m), var(--m)) top left / 1px 10px no-repeat, linear-gradient(var(--m), var(--m)) top right / 10px 1px no-repeat, linear-gradient(var(--m), var(--m)) top right / 1px 10px no-repeat, linear-gradient(var(--m), var(--m)) bottom left / 10px 1px no-repeat, linear-gradient(var(--m), var(--m)) bottom left / 1px 10px no-repeat, linear-gradient(var(--m), var(--m)) bottom right / 10px 1px no-repeat, linear-gradient(var(--m), var(--m)) bottom right / 1px 10px no-repeat;position:absolute;inset:-7px}.btn{justify-content:center;align-items:center;gap:8px;text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s;display:inline-flex}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn.primary:hover:not(:disabled){box-shadow:0 8px 20px #1018282e}.btn:not(.primary):hover:not(:disabled){border-color:var(--muted)}.badge{align-items:center;gap:4px;display:inline-flex}.source-link{align-items:center;gap:3px;display:inline-flex}.text-link{align-items:center;gap:6px;font-weight:600;display:inline-flex}.icon-btn{place-items:center;display:inline-grid}.slot-letter{font-family:var(--font-mono)}.verdict{align-items:center;gap:4px;display:inline-flex}.verdict.ok:before,.verdict.warn:before,.verdict.bad:before{content:none}.bar-actions{flex:none;align-items:center;gap:8px;display:flex}.icon-pill{cursor:pointer;border:1px solid var(--border);background:var(--surface);width:36px;height:36px;color:var(--text);border-radius:999px;place-items:center;transition:transform .15s,border-color .15s;display:grid}.icon-pill:hover{border-color:var(--muted);transform:rotate(-12deg)}.icon-moon{display:var(--show-moon)}.icon-sun{display:var(--show-sun)}.add-btn{display:inline-flex}@media (width<=860px){.icon-pill{width:34px;height:34px}}.hero{isolation:isolate;position:relative}.hero:before{content:"";inset:-40px calc(-1 * var(--gutter));z-index:-1;pointer-events:none;background-image:linear-gradient(color-mix(in srgb, var(--bike-1) 14%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--bike-1) 14%, transparent) 1px, transparent 1px);background-size:40px 40px;position:absolute;-webkit-mask-image:radial-gradient(60% 55% at 72% 48%,#000 0%,#0000 75%);mask-image:radial-gradient(60% 55% at 72% 48%,#000 0%,#0000 75%)}.hero h1{font-weight:700}.eyebrow{font-size:11.5px;font-weight:600}.hero-stats{border-top:1px dashed var(--grid-strong);gap:28px;margin:30px 0 0;padding:16px 0 0;display:flex}.hero-stats div{gap:2px;display:grid}.hero-stats dt{color:var(--muted);order:2;font-size:10.5px}.hero-stats dd{letter-spacing:-.03em;margin:0;font-size:clamp(26px,3vw,36px);font-weight:700;line-height:1}.hero-meta{margin-top:12px}.story-label{margin-top:40px}.story-step h2{font-weight:700}.feature{position:relative;overflow:hidden}.feature:after{content:"";background:var(--bike-1);transform-origin:0;height:2px;transition:transform .25s;position:absolute;inset:auto 0 0;transform:scaleX(0)}.feature:hover{border-color:color-mix(in srgb, var(--bike-1) 45%, var(--border))}.feature:hover:after{transform:scaleX(1)}.feature-icon{width:42px;height:42px;color:var(--bike-1);background:color-mix(in srgb, var(--bike-1) 9%, var(--surface));border:1px solid color-mix(in srgb, var(--bike-1) 22%, var(--border));border-radius:12px;place-items:center;margin-bottom:8px;display:grid}.feature h3{font-size:17px;font-weight:700}.feature-link{color:var(--bike-1);align-items:center;gap:5px;display:inline-flex}.glossary dl{gap:14px}.glossary-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 16px 16px}.glossary dt{font-family:var(--font-display);font-size:16px}.metric-sketch{width:100%;height:128px;color:var(--grid-strong);background:var(--surface-2);border-radius:10px;margin:-4px 0 12px;padding:8px 4px;display:block}.metric-sketch .bike{mix-blend-mode:normal}.metric-sketch .bike .tube{stroke-width:16px}.metric-sketch .bike .wheel circle{stroke-width:14px;opacity:.55}.metric-sketch .bike .ground,.metric-sketch .bike .eff-tt,.metric-sketch .bike .seatpost{opacity:.4}.metric-sketch .sketch-dim{color:var(--bike-1)}.metric-sketch .sketch-dim .dim-line{stroke-width:18px}.metric-sketch .sketch-dim .guide{stroke-width:7px;stroke-dasharray:22 16;opacity:.9}.final-cta{border:1px solid var(--border);background-color:var(--surface);background-image:linear-gradient(color-mix(in srgb, var(--bike-1) 10%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--bike-1) 10%, transparent) 1px, transparent 1px);background-size:28px 28px;border-radius:24px;margin:56px 0 24px;padding:56px 24px}.final-cta h2{font-size:clamp(26px,3.4vw,40px)}.site-foot{border-top:1px solid var(--border);grid-template-columns:minmax(0,2fr) repeat(3,minmax(120px,1fr));gap:24px 40px;margin-top:48px;padding:32px 0 8px;display:grid}.foot-brand .brand-word{font-size:18px}.foot-brand p{max-width:34em;margin:8px 0 0;font-size:13.5px}.foot-col{align-content:start;gap:8px;display:grid}.foot-title{color:var(--muted);margin:0 0 4px;font-size:10.5px;font-weight:600}.foot-col a,.foot-link{color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-size:14px;text-decoration:none}.foot-col a:hover,.foot-link:hover{color:var(--bike-1)}.foot-note{border-top:1px dashed var(--grid-strong);grid-column:1/-1;margin:8px 0 0;padding-top:16px;font-size:12px}@media (width<=720px){.site-foot{grid-template-columns:1fr 1fr}.foot-brand{grid-column:1/-1}}.page-head{padding-top:6px}.slot{transition:border-color .15s,box-shadow .15s}.slot:hover{border-color:color-mix(in srgb, var(--c) 40%, var(--border))}.chip{transition:border-color .15s,background .15s,color .15s}.section-head{margin-bottom:4px}@media (prefers-reduced-motion:reduce){.btn,.feature:after,.icon-pill{transition:none}}.fit{gap:18px;display:grid}.fit-grid{grid-template-columns:minmax(0,1fr);gap:14px;display:grid}@media (width>=980px){.fit-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.fit-panel{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:10px;padding:16px;display:flex}.fit-panel-head{align-items:center;gap:10px;display:flex}.fit-panel-head h3{flex:1;margin:0;font-size:15.5px;font-weight:700}.step-dot{width:24px;height:24px;font-family:var(--font-mono);background:var(--accent);color:var(--surface);border-radius:999px;flex:none;place-items:center;font-size:12px;font-weight:700;display:grid}.fit-panel .picker{flex:none}.fit-panel .picker input{border:1px solid var(--border);background:var(--surface)}.fit-panel .sizes{margin:0}.fit-sub{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--muted);align-items:center;gap:8px;margin:6px 0 -2px;font-size:10.5px;font-weight:600;display:flex}.fit-sub:after{content:"";background:var(--border);flex:1;height:1px}.field-row{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:10px;display:grid}.num-field{gap:4px;display:grid}.num-field .toolbar-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.num-input{border:1px solid var(--border);background:var(--surface);border-radius:8px;align-items:center;display:flex;overflow:hidden}.num-input input{width:100%;min-width:0;font-family:var(--font-mono);background:0 0;border:0;padding:7px 8px;font-size:13px}.num-input input:focus{outline:none}.num-input:focus-within{border-color:var(--bike-1);box-shadow:0 0 0 3px color-mix(in srgb, var(--bike-1) 18%, transparent)}.num-input .unit{color:var(--muted);margin:0;padding:0 9px 0 0;font-size:12px}.num-field select{border:1px solid var(--border);background:var(--surface);font-family:var(--font-mono);border-radius:8px;padding:7px 8px;font-size:13px}.contact{background:var(--surface);border:1px dashed var(--grid-strong);border-radius:10px;gap:6px;margin:8px 0 0;padding:12px;display:grid}.contact div{align-items:baseline;gap:10px;display:flex}.contact dt{width:104px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);flex:none;font-size:10.5px}.contact dd{font-family:var(--font-mono);margin:0;font-size:13px}.fit-empty{text-align:center;min-height:180px;color:var(--muted);border:1px dashed var(--grid-strong);border-radius:10px;flex:1;align-content:center;justify-items:center;gap:8px;padding:28px 12px;display:grid}.fit-empty p{max-width:30em;margin:0}.finder-table tbody tr{cursor:pointer}.finder-table tbody tr:hover{background:var(--row-hover)}.finder-table tbody tr.chosen{box-shadow:inset 3px 0 0 var(--bike-2);background:color-mix(in srgb, var(--bike-2) 6%, transparent)}.finder-table tbody tr:focus-visible{outline:2px solid var(--bike-1);outline-offset:-2px}.finder-table .badge{margin-left:8px}.finder-table th,.finder-table td{white-space:nowrap}.fit-recos{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.fit-recos.single{grid-template-columns:minmax(0,1fr)}.fit-panel .table-note{margin:0}.fit-none{border:1px dashed var(--grid-strong);color:var(--muted);border-radius:12px;margin:0;padding:12px 14px;font-size:13.5px}.fit-reco{text-align:left;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;border-radius:12px;gap:3px;padding:12px 14px;display:grid}.fit-reco strong{font-size:16px}.fit-reco .muted{font-size:13px}.fit-reco:hover{background:var(--row-hover)}.fit-reco.on{border-color:var(--bike-2);box-shadow:inset 3px 0 0 var(--bike-2)}@media (width<=560px){.fit-recos{grid-template-columns:1fr}}.fit-detail{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;display:grid}@media (width>=980px){.fit-detail{grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr)}}.fit-setup{border:1px solid var(--border);background:var(--surface);border-radius:12px;gap:12px;padding:16px;display:grid}.fit-setup dl{gap:10px;margin:0;display:grid}.fit-setup dl div{border-bottom:1px dashed var(--grid-strong);grid-template-columns:118px minmax(0,1fr);gap:10px;padding-bottom:10px;display:grid}.fit-setup dt{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);padding-top:3px;font-size:10.5px}.fit-setup dd{gap:2px;margin:0;display:grid}.fit-setup dd strong{font-family:var(--font-mono);font-size:15px}.fit-setup dd .muted{font-size:12.5px}.fit-verdict{font-size:13px}.fit-setup .btn{justify-self:start}.fit-preview{border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:10px}.fit-preview .overlay{max-height:440px}.glossary dd.ride{margin-top:6px;font-size:13.5px}.glossary dd.ride strong{color:var(--text)}.legal{max-width:760px;margin:12px auto 0;padding:28px 32px;line-height:1.6}.legal h1{letter-spacing:-.02em;margin:0 0 6px;font-size:clamp(26px,3vw,34px)}.legal h2{margin:26px 0 6px;font-size:17px}.legal p{margin:0 0 10px;font-size:15px}.legal a{color:var(--bike-1)}@media (width<=720px){.legal{padding:20px 16px}}.lang-toggle{border:1px solid var(--border);background:var(--surface);height:36px;font-family:var(--font-mono);letter-spacing:.04em;border-radius:999px;align-items:center;gap:2px;padding:3px;font-size:11px;font-weight:600;text-decoration:none;display:inline-flex}.lang-toggle span{height:100%;color:var(--muted);border-radius:999px;place-items:center;padding:0 9px;display:grid}.lang-toggle span.on{background:var(--accent);color:var(--surface)}.lang-toggle:hover span:not(.on){color:var(--text)}.consent{z-index:50;background:var(--surface);max-width:720px;color:var(--text);border:1px solid var(--border);border-radius:14px;flex-wrap:wrap;align-items:center;gap:12px 20px;margin:0 auto;padding:16px 18px;display:flex;position:fixed;bottom:16px;left:16px;right:16px;box-shadow:0 12px 40px #0000002e}.consent p{flex:320px;margin:0;font-size:14px;line-height:1.5}.consent a{color:var(--bike-1)}.consent-actions{gap:8px;display:flex}.consent-actions .btn{justify-content:center;min-width:110px}.plausibility.extreme{border-color:var(--fit-bad)}.plausibility li.extreme{color:var(--error-text,#b91c1c);font-weight:600}.hp{width:1px;height:1px;left:-10000px;overflow:hidden;position:absolute!important}.setback-add{align-items:center;gap:4px;display:inline-flex}.setback-add input{border:1px solid var(--border);background:var(--surface);width:120px;height:30px;color:var(--text);border-radius:999px;padding:0 10px;font-size:13px}
