:root{--color-primary:#ffc107;--color-primary-dark:#e0a800;--color-dark:#343a40;--color-light:#f8f9fa;--color-text:#212529;--color-text-muted:#6c757d;--color-border:#dee2e6;--color-link:#007bff;--color-success:#28a745;--color-danger:#dc3545;--color-bg:#f8f9fa;--color-surface:#fff;--color-table-header:#343a40;--color-table-header-hover:#454d55;--font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--container-max-width:1400px;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem}@media (prefers-color-scheme:dark){:root{--color-primary:#ffc107;--color-primary-dark:#ffca2c;--color-dark:#1a1d20;--color-light:#212529;--color-text:#e9ecef;--color-text-muted:#adb5bd;--color-border:#495057;--color-link:#6ea8fe;--color-success:#75b798;--color-danger:#ea868f;--color-bg:#121416;--color-surface:#1a1d20;--color-table-header:#2c3034;--color-table-header-hover:#3d4349}}*,:before,:after{box-sizing:border-box}html{font-size:14px}body{font-family:var(--font-family);color:var(--color-text);background-color:var(--color-bg);margin:0;font-size:1rem;line-height:1.5}.container{width:100%;max-width:var(--container-max-width);padding:0 var(--spacing-md);margin:0 auto}.header{background-color:var(--color-primary);color:var(--color-dark);padding:var(--spacing-sm) 0}.nav{align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.brand{color:inherit;align-items:center;gap:var(--spacing-sm);text-decoration:none;display:flex}.brand-logo{width:auto;height:36px}.brand h1{margin:0;font-size:1.5rem;font-weight:600}.nav-links{gap:var(--spacing-sm);margin:0;padding:0;list-style:none;display:flex}.nav-links a{color:#fff;padding:var(--spacing-sm) var(--spacing-lg);background-color:#00000040;border-radius:4px;font-size:1rem;font-weight:700;text-decoration:none;transition:all .2s}.nav-links a:hover{background-color:#0006}.nav-links a.active{background-color:var(--color-dark);color:#fff}.nav-left{align-items:center;gap:var(--spacing-md);display:flex}.header-separator{color:var(--color-dark);opacity:.4;font-weight:300}.main{padding:var(--spacing-lg) 0;min-height:calc(100vh - 200px)}.footer{background-color:var(--color-table-header);color:var(--color-text);padding:var(--spacing-lg) 0}.footer p{margin:0;font-size:.875rem}.footer a{color:var(--color-text)}.footer .version,.footer #bikeCount{color:var(--color-text-muted)}.about-link{color:var(--color-text-muted);cursor:pointer;text-decoration:none}.about-link:hover{color:var(--color-primary);text-decoration:underline}.about-modal-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.about-modal{background:var(--color-surface);color:var(--color-text);padding:var(--spacing-xl);border-radius:12px;width:90%;max-width:500px;position:relative;box-shadow:0 8px 32px #0000004d}.about-modal h2{margin:0 0 var(--spacing-md) 0;color:var(--color-primary);font-size:1.3rem}.about-modal p{margin:0 0 var(--spacing-md) 0;font-size:.9rem;line-height:1.5}.about-modal p:last-child{margin-bottom:0}.about-modal a{color:var(--color-link)}.about-modal .about-copyright{color:var(--color-text-muted);font-size:.8rem}.about-modal-close{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;padding:4px 8px;font-size:1.5rem;line-height:1;position:absolute;top:10px;right:14px}.about-modal-close:hover{color:var(--color-text)}.controls-panel{background-color:var(--color-surface);border:1px solid var(--color-border);padding:var(--spacing-md);margin-bottom:var(--spacing-lg);border-radius:8px}.panel-header{justify-content:flex-start;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-sm);display:flex}.panel-label{color:var(--color-text);text-transform:uppercase;letter-spacing:.05em;font-size:.875rem;font-weight:600}.filter-count{color:var(--color-muted);text-transform:none;letter-spacing:normal;font-size:.8rem;font-weight:400}.filter-sliders{flex-wrap:wrap;gap:2rem;margin-bottom:.75rem;display:flex}.filter-sliders .control-group{min-width:200px;max-width:300px}.filter-sliders label{text-align:center}.svc-int-values{justify-content:space-between}.svc-int-values #svcIntDisplay{font-weight:600}.btn-clear-filters{color:var(--color-text-muted);border:1px solid var(--color-border);padding:var(--spacing-xs) var(--spacing-sm);cursor:pointer;background-color:#0000;border-radius:4px;font-size:.75rem;transition:all .2s}.btn-clear-filters:hover{background-color:var(--color-border);color:var(--color-text)}#filtersPanel{gap:var(--spacing-md);flex-wrap:wrap;align-items:stretch;display:flex}.filters-body{flex:420px;min-width:0}.charts-card{border:1px solid var(--color-border);color:var(--color-text);border-radius:8px;flex-direction:column;gap:8px;padding:10px;text-decoration:none;transition:border-color .2s,box-shadow .2s;display:flex}.charts-card:hover,.charts-card:focus-visible{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 2px #ffc10740}.charts-card-img{object-fit:cover;border-radius:4px;flex:auto;width:100%;min-height:90px;display:block}.charts-card-label{text-align:center;color:var(--color-text);font-size:.95rem;font-weight:600}.charts-card-arrow{color:var(--color-primary)}.charts-card-desktop{width:280px;margin-right:calc(-1 * var(--spacing-md));flex:none}.charts-card-mobile{display:none}@media (width<=768px){#filtersPanel{display:block}.charts-card-desktop{display:none}.charts-card-mobile{width:100%;margin:0 0 var(--spacing-md);display:flex}.charts-card-mobile .charts-card-img{max-height:150px}}#filtersPanel.in-drawer{display:block}#filtersPanel.in-drawer .charts-card-desktop{display:none}.controls-row{gap:var(--spacing-md);flex-wrap:wrap;align-items:flex-end;display:flex}.weight-note{min-width:14rem;color:var(--color-text-muted);flex:16rem;align-self:center;margin:0;padding:0;font-size:.625rem;line-height:1.35}.weight-note-lead{margin:0 0 .2rem}.weight-note-points{margin:0;padding:0;list-style:none}.weight-note-points li{margin:0}.weight-note strong{color:var(--color-text);font-weight:600}.control-group{gap:var(--spacing-xs);flex-direction:column;display:flex}.control-group label{color:var(--color-text-muted);text-transform:uppercase;font-size:.75rem;font-weight:600}.control-group input,.control-group select{border:1px solid var(--color-border);background-color:var(--color-surface);min-width:80px;color:var(--color-text);border-radius:4px;padding:4px 8px;font-size:.875rem}.control-group input[type=number]{width:70px}.filter-dropdowns{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.filter-dropdown{position:relative}.filter-trigger{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;white-space:nowrap;border-radius:6px;align-items:center;gap:.25rem;padding:6px 10px;font-family:inherit;font-size:.8rem;font-weight:500;line-height:1.4;transition:border-color .2s,box-shadow .2s,background .2s;display:inline-flex}.filter-trigger:hover{border-color:var(--color-primary)}.filter-trigger[aria-expanded=true]{border-color:var(--color-primary);box-shadow:0 0 0 2px #ffc10740}.filter-trigger.has-selections{border-color:var(--color-primary);background:#ffc10714}.filter-trigger-badge{background:var(--color-primary);color:var(--color-dark);text-align:center;border-radius:10px;min-width:18px;padding:0 6px;font-size:.7rem;font-weight:700;line-height:1.5}.filter-trigger-arrow{opacity:.6;font-size:.65rem;transition:transform .2s}.filter-trigger[aria-expanded=true] .filter-trigger-arrow{transform:rotate(180deg)}.filter-dropdown-panel{background:var(--color-surface);border:1px solid var(--color-border);z-index:100;border-radius:8px;min-width:180px;max-height:280px;padding:4px 0;display:none;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto;box-shadow:0 4px 16px #0000001f}.filter-dropdown-panel.open{display:block}.filter-option{cursor:pointer;color:var(--color-text);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:6px 12px;font-size:.8rem;transition:background .15s;display:flex}.filter-option:hover{background:#ffc1071a}.filter-option input[type=checkbox]{accent-color:var(--color-primary);cursor:pointer;flex-shrink:0;width:15px;height:15px}.filter-option.checked{font-weight:600}.filter-toggle{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;text-transform:uppercase;border-radius:6px;padding:6px 12px;font-family:inherit;font-size:.8rem;font-weight:600;line-height:1.4;transition:all .2s}.filter-toggle:hover{border-color:var(--color-primary)}.filter-toggle[aria-pressed=true]{background:var(--color-primary);color:var(--color-dark);border-color:var(--color-primary)}.year-range-group{min-width:180px}.year-range-slider{align-items:center;height:24px;display:flex;position:relative}.year-range-track{background:var(--color-border);border-radius:3px;height:6px;position:absolute;left:9px;right:9px}.year-range-fill{background:var(--color-primary);border-radius:3px;height:6px;position:absolute;left:9px}.year-range-slider input[type=range]{pointer-events:none;-webkit-appearance:none;appearance:none;background:0 0;width:100%;height:6px;position:absolute}.year-range-slider input[type=range]::-webkit-slider-runnable-track{background:0 0;border-radius:3px;height:6px}.year-range-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--color-primary);cursor:pointer;pointer-events:auto;border:2px solid var(--color-dark);border-radius:50%;width:18px;height:18px;margin-top:-6px;box-shadow:0 1px 3px #0000004d}.year-range-slider input[type=range]::-moz-range-track{background:0 0;border-radius:3px;height:6px}.year-range-slider input[type=range]::-moz-range-thumb{background:var(--color-primary);cursor:pointer;pointer-events:auto;border:2px solid var(--color-dark);border-radius:50%;width:14px;height:14px;box-shadow:0 1px 3px #0000004d}.year-range-slider input[type=range]:focus{outline:none}.year-range-slider input[type=range]:focus::-webkit-slider-thumb{box-shadow:0 0 0 3px #ffc10766}.year-range-slider input[type=range]:focus::-moz-range-thumb{box-shadow:0 0 0 3px #ffc10766}.year-range-values{color:var(--color-text);font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:4px;padding:0 2px;font-size:.75rem;display:flex}.control-group input:focus,.control-group select:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 2px #ffc10740}.toggle-group{flex-direction:column;align-items:center;gap:2px;display:flex}.toggle-labels{color:var(--color-text-muted);gap:8px;font-size:.7rem;font-weight:600;display:flex}.toggle-switch{width:36px;height:18px;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{cursor:pointer;background-color:var(--color-primary);border-radius:18px;transition:all .3s;position:absolute;inset:0}.toggle-slider:before{content:"";background-color:var(--color-surface);border-radius:50%;width:14px;height:14px;transition:all .3s;position:absolute;bottom:2px;left:2px}.toggle-switch input:checked+.toggle-slider{background-color:var(--color-primary)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(18px)}.table-container{-webkit-overflow-scrolling:touch;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;width:100%;display:block;overflow-x:auto}.data-table{border-collapse:separate;border-spacing:0;width:100%;font-size:.875rem}.data-table th,.data-table td{padding:var(--spacing-xs) var(--spacing-sm);text-align:left;border-bottom:1px solid var(--color-border);white-space:nowrap}.data-table thead th{background-color:var(--color-table-header);color:#fff;z-index:3;cursor:pointer;user-select:none;font-weight:600;position:sticky}.data-table.is-pinned thead th{box-shadow:0 2px 4px #00000047}.data-table th:hover{background-color:var(--color-table-header-hover)}.data-table th .header-unit{opacity:.8;font-size:.75rem;font-weight:400;display:block}.data-table th.numeric .header-unit{text-align:right}.data-table th .header-info{opacity:.65;cursor:help;vertical-align:middle;border:1px solid;border-radius:50%;justify-content:center;align-items:center;width:.9em;height:.9em;margin-left:.15em;font-size:.65rem;font-style:italic;font-weight:600;line-height:1;display:inline-flex}.data-table th .header-info:hover{opacity:1}.data-table th.sortable:after{content:" ⇅";opacity:.5}.data-table th.sort-asc:after{content:" ↑";opacity:1}.data-table th.sort-desc:after{content:" ↓";opacity:1}.data-table tbody tr:hover{background-color:#ffc1071a}.data-table tbody tr.selected{background-color:#ffc10740}.data-table tbody tr.tank-variant{box-shadow:inset 3px 0 0 var(--color-primary)}.data-table tbody tr.tank-variant td:nth-child(3){font-style:italic}.data-table tbody tr.coming-soon{background-color:#ffc1070f}.coming-soon-badge{border:1px solid var(--color-primary);color:var(--color-primary);letter-spacing:.03em;text-transform:uppercase;vertical-align:.1em;white-space:nowrap;border-radius:999px;margin-left:.4rem;padding:.05rem .35rem;font-size:.68rem;font-weight:700;line-height:1.4;display:inline-block}.coming-soon-short{display:none}.bike-photo-cell.coming-soon,.bike-card-photo.coming-soon{min-height:4.5rem;position:relative}.coming-soon-banner{color:#fff;letter-spacing:.04em;text-align:center;text-transform:uppercase;background:#000000b8;padding:.2rem .4rem;font-size:.72rem;font-weight:700;position:absolute;bottom:.4rem;left:.4rem;right:.4rem}.chart-note{color:var(--color-text-muted);margin:0 0 .75rem;font-size:.85rem}.data-table th.numeric,.data-table td.numeric{text-align:right;font-variant-numeric:tabular-nums}.data-table sup.wt-est{color:var(--color-text-muted);margin-left:1px;font-size:.65em;font-weight:600}.data-table th.col-emphasis{color:var(--color-primary);font-weight:700}.data-table th.col-emphasis .header-unit{opacity:1;font-weight:700}.data-table td.col-emphasis{background-color:#ffc10729;font-weight:700}.data-table tbody tr:hover td.col-emphasis{background-color:#ffc10747}.data-table tbody tr.selected td.col-emphasis{background-color:#ffc10766}.data-table td.url a{color:var(--color-link);text-decoration:none}.data-table td.url a:hover{text-decoration:underline}.data-table .checkbox-col{text-align:center;width:30px}.data-table input[type=checkbox]{cursor:pointer}.bike-search-row{gap:var(--spacing-xs);margin:0 0 var(--spacing-sm);flex-direction:column;display:flex}.bike-search-head{justify-content:space-between;align-items:center;gap:var(--spacing-sm) var(--spacing-md);flex-wrap:wrap;display:flex}@media (width>=769px){.bike-search-head:has(.compare-banner.visible){z-index:40;background-color:var(--color-bg);box-shadow:0 1px 0 var(--color-border);padding:6px 0 8px;position:sticky;top:0}}.bike-search-label{color:var(--color-text-muted);text-transform:uppercase;font-size:.75rem;font-weight:600}.bike-search-combo{position:relative}.bike-search-chips{gap:var(--spacing-sm);margin:0 0 var(--spacing-xs);flex-wrap:wrap;display:flex}.bike-search-chips[hidden]{display:none}#bikeSearchInput{border:1px solid var(--color-border);background-color:var(--color-surface);width:100%;min-width:0;color:var(--color-text);border-radius:6px;padding:8px 12px;font-size:1rem}#bikeSearchInput:focus{outline:2px solid var(--color-primary);outline-offset:1px;border-color:var(--color-primary)}#bikeSearchInput:disabled{opacity:.65;cursor:not-allowed}.bike-search-list{z-index:200;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;max-height:360px;margin:0;padding:4px 0;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 4px 16px #0000001f}.bike-search-list[hidden]{display:none}.bike-search-option{cursor:pointer;color:var(--color-text);padding:10px 12px;font-size:.9rem}.bike-search-option:hover,.bike-search-option.is-active{background:#ffc10726}.bike-search-empty{color:var(--color-text-muted);padding:10px 12px;font-size:.9rem}.bike-search-hint{color:var(--color-text-muted);margin:0;font-size:.75rem}.bike-chip-matched{color:var(--color-dark)}.bike-chip-swap{max-width:min(100%,22rem);font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-weight:600}.bike-chip-remove{color:inherit}.filters-row{gap:var(--spacing-sm);margin-bottom:var(--spacing-md);flex-wrap:wrap;display:flex}.filter-chip{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--color-primary);border-radius:16px;font-size:.75rem;font-weight:600;display:inline-flex}.filter-chip button{cursor:pointer;opacity:.7;background:0 0;border:none;padding:0;font-size:1rem;line-height:1}.filter-chip button:hover{opacity:1}.compare-banner{align-items:center;gap:var(--spacing-sm);margin:0;display:none}.compare-banner.visible{display:flex}.compare-actions{align-items:center;gap:var(--spacing-sm);display:flex}.compare-count{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;font-size:.75rem;font-weight:600}.compare-banner .btn{background-color:var(--color-primary);color:#1a1d20;padding:var(--spacing-sm) var(--spacing-lg);cursor:pointer;border:none;border-radius:4px;font-family:inherit;font-size:1rem;font-weight:700;line-height:1;transition:background-color .2s}.compare-banner .btn:hover{background-color:var(--color-primary-dark)}.compare-banner .btn-clear{color:var(--color-text-muted);border:1px solid var(--color-border);padding:var(--spacing-xs) var(--spacing-sm);background-color:#0000;border-radius:4px;font-size:.75rem;font-weight:600}.compare-banner .btn-clear:hover{background-color:var(--color-border);color:var(--color-text)}.share-bar-row{margin-bottom:var(--spacing-sm);justify-content:space-between;align-items:center;display:flex}.share-bar-row .mb-0{margin-bottom:0}.share-bar{margin-bottom:var(--spacing-sm);gap:8px;display:flex}.share-bar-row .share-bar{margin-bottom:0}.share-btn{cursor:pointer;border:1px solid var(--color-border);color:var(--color-text-muted);background:0 0;border-radius:6px;align-items:center;gap:6px;padding:5px 12px;font-family:inherit;font-size:.8rem;line-height:1;text-decoration:none;transition:all .2s;display:inline-flex}.share-btn:hover{border-color:var(--color-text-muted);color:var(--color-text)}.share-btn svg{flex-shrink:0;width:14px;height:14px}.chart-container{background-color:var(--color-surface);border:1px solid var(--color-border);padding:var(--spacing-md);margin-bottom:var(--spacing-lg);border-radius:8px}.chart-title{margin:0 0 var(--spacing-md);font-size:1.25rem;font-weight:600}.comparison-grid{gap:var(--spacing-md);display:grid}.comparison-table{border-collapse:collapse;width:auto}.comparison-table th,.comparison-table td{text-align:left;padding:var(--spacing-xs) var(--spacing-sm);white-space:nowrap}.comparison-table th{background-color:var(--color-table-header);color:#fff;border-bottom:2px solid var(--color-border);font-weight:600}.comparison-table td{border-bottom:1px solid var(--color-border)}.comparison-table a,.bike-card a{color:var(--color-link)}.comparison-table tr.spec-wrap td{white-space:normal}.comparison-table .tank-picker,.bike-card-specs .tank-picker{max-width:100%}.comparison-table .spec-name{background-color:var(--color-surface);font-weight:600}.comparison-table .spec-unit{color:var(--color-text-muted);font-size:.75rem;font-weight:400;display:block}.src-ref{color:var(--color-link);vertical-align:super;cursor:pointer;background:0 0;border:none;margin-left:2px;padding:0 2px;font-size:.7em;font-weight:700;line-height:1;text-decoration:none;display:inline}.src-ref:hover,.src-ref:focus-visible{color:var(--color-primary);text-decoration:underline}.src-ref--conflict{color:#b45309}.src-popover{max-width:560px}.src-modal-meta{color:var(--color-text-muted);margin-bottom:var(--spacing-md);font-size:.8rem}.src-list{margin:0 0 var(--spacing-md) 0;max-height:50vh;padding-left:1.25rem;font-size:.85rem;line-height:1.45;overflow-y:auto}.src-list li{white-space:normal;word-break:break-word;margin-bottom:.5rem}.src-type{text-transform:uppercase;letter-spacing:.02em;color:var(--color-text-muted);margin-right:.35rem;font-size:.7rem;font-weight:700;display:inline-block}.src-value,.src-date{color:var(--color-text-muted);font-size:.8rem}.src-conflict{color:#b45309;margin-bottom:var(--spacing-md);font-size:.85rem}.src-conflict.hidden{display:none}.src-report-btn{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;border-radius:6px;padding:.45rem .9rem;font-size:.85rem;font-weight:600;display:inline-block}.src-report-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.src-report-status{margin-top:var(--spacing-sm);color:var(--color-text-muted);min-height:1.2em;font-size:.8rem}.comparison-table .photo-row th{padding:var(--spacing-sm);vertical-align:bottom}.comparison-table .bike-photo-cell{text-align:left}.comparison-table .bike-photo{object-fit:contain;border-radius:4px;max-width:200px;max-height:130px}.comparison-table .best-value{background-color:#28a7451a;font-weight:600}.loading{min-height:200px;color:var(--color-text-muted);justify-content:center;align-items:center;display:flex}.loading:after{content:"";border:3px solid var(--color-border);border-top-color:var(--color-primary);width:32px;height:32px;margin-left:var(--spacing-sm);border-radius:50%;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.toast{background-color:var(--color-table-header);color:#fff;padding:var(--spacing-sm) var(--spacing-lg);opacity:0;z-index:1000;border-radius:8px;font-weight:500;transition:transform .3s,opacity .3s;position:fixed;bottom:2rem;left:50%;transform:translate(-50%)translateY(100px);box-shadow:0 4px 12px #0000004d}.toast.visible{opacity:1;transform:translate(-50%)translateY(0)}.drawer-overlay,.filter-drawer,.filter-fab,.mobile-compare{display:none}@media (width<=768px){html{font-size:13px}.container{padding:0 var(--spacing-sm)}.main{padding:var(--spacing-sm) 0}.subtitle{display:none}.nav{flex-wrap:nowrap;justify-content:space-between}.nav-left{flex-wrap:nowrap;justify-content:space-between;width:100%}.brand h1{white-space:nowrap;text-overflow:ellipsis;max-width:55vw;font-size:1.1rem;overflow:hidden}.nav-links a{padding:var(--spacing-xs) var(--spacing-sm);font-size:.85rem}.control-group input,.control-group select,#bikeSearchInput,.bike-chip-swap{width:100%;font-size:16px}.bike-chip.bike-chip-matched{min-height:44px}.bike-search-option{align-items:center;min-height:44px;display:flex}.control-group input[type=number]{width:100%;min-height:44px}.control-group select{min-height:44px}.controls-row{flex-direction:column;align-items:stretch}.control-group{width:100%}.controls-panel:first-of-type .controls-row{gap:var(--spacing-sm);grid-template-columns:1fr 1fr;align-items:end;display:grid}.controls-panel:first-of-type .toggle-group{justify-self:center}.controls-panel:first-of-type .weight-note{min-width:0;padding-top:var(--spacing-xs);border-top:1px solid var(--color-border);order:10;grid-column:1/-1;font-size:.6rem;line-height:1.4}.controls-panel{padding:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.data-table{font-size:.75rem}.data-table th,.data-table td{padding:var(--spacing-xs);white-space:normal;word-break:break-word}.data-table td.numeric{white-space:nowrap;word-break:normal}.data-table td:nth-child(2),.data-table td:nth-child(3){max-width:70px}.data-table th:first-child,.data-table td:first-child{z-index:2;position:sticky;left:0}.data-table th:nth-child(2),.data-table td:nth-child(2){z-index:2;position:sticky}.data-table th:nth-child(3),.data-table td:nth-child(3){z-index:2;border-right:2px solid var(--color-border);position:sticky}.data-table th:first-child,.data-table th:nth-child(2),.data-table th:nth-child(3){z-index:4;background-color:var(--color-table-header)}.data-table td:first-child,.data-table td:nth-child(2),.data-table td:nth-child(3){background-color:var(--color-surface)}.data-table tbody tr.coming-soon td:first-child,.data-table tbody tr.coming-soon td:nth-child(2),.data-table tbody tr.coming-soon td:nth-child(3){background-color:var(--color-surface);background-image:linear-gradient(#ffc1071f,#ffc1071f)}.data-table .coming-soon-long{display:none}.data-table .coming-soon-short{display:inline}.data-table .coming-soon-badge{letter-spacing:.04em;vertical-align:baseline;white-space:nowrap;word-break:normal;overflow-wrap:normal;width:fit-content;max-width:100%;margin:.2rem 0 0;padding:.02rem .28rem;font-size:.6rem;line-height:1.25;display:block}.data-table tbody tr.selected td:first-child,.data-table tbody tr.selected td:nth-child(2),.data-table tbody tr.selected td:nth-child(3){background-color:#ffc10740;background-image:none}.data-table tbody tr:hover td:first-child,.data-table tbody tr:hover td:nth-child(2),.data-table tbody tr:hover td:nth-child(3){background-color:#ffc1071a;background-image:none}.bike-search-head:has(.compare-banner.visible){box-shadow:none;background:0 0;padding:0;position:static}.compare-banner.visible{z-index:800;background-color:var(--color-primary);color:var(--color-dark);padding:var(--spacing-sm);justify-content:space-between;font-size:.85rem;font-weight:600;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 12px #00000026}body:has(.compare-banner.visible) .main{padding-bottom:4.5rem}.compare-count{color:var(--color-dark);text-transform:none;letter-spacing:normal;font-size:.85rem;font-weight:600}.compare-banner .btn{background-color:var(--color-dark);color:#fff;padding:var(--spacing-xs) var(--spacing-sm);min-height:44px;font-size:.8rem}.compare-banner .btn:hover{background-color:var(--color-table-header-hover)}.compare-banner .btn-clear{color:var(--color-dark);border-color:var(--color-dark);background-color:#0000;min-height:44px;font-size:.8rem}.compare-banner .btn-clear:hover{color:var(--color-dark);background-color:#0000001a}.share-bar-row{align-items:flex-start;gap:var(--spacing-xs);flex-direction:column}.share-btn{padding:4px 8px;font-size:.75rem}.filter-fab{align-items:center;gap:var(--spacing-xs);z-index:900;background-color:var(--color-primary);color:var(--color-dark);cursor:pointer;border:none;border-radius:28px;min-height:48px;padding:12px 20px;font-size:.9rem;font-weight:700;transition:transform .2s,box-shadow .2s;display:flex;position:fixed;bottom:80px;right:16px;box-shadow:0 4px 12px #0000004d}.filter-fab:active{transform:scale(.95)}.filter-fab-icon{font-size:1.2rem}.filter-badge{background-color:var(--color-danger);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:.7rem;font-weight:700;display:flex;position:absolute;top:-4px;right:-4px}.filter-badge.hidden{display:none}.drawer-overlay{z-index:999;opacity:0;background-color:#00000080;transition:opacity .3s;display:none;position:fixed;inset:0}.drawer-overlay.active{opacity:1;display:block}.filter-drawer{z-index:1000;background-color:var(--color-surface);flex-direction:column;width:min(85vw,360px);transition:transform .3s;display:flex;position:fixed;top:0;bottom:0;right:0;overflow:hidden;transform:translate(100%)}.filter-drawer.open{transform:translate(0)}.drawer-header{padding:var(--spacing-md);border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.drawer-title{color:var(--color-text);font-size:1.1rem;font-weight:700}.drawer-close-btn{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:4px 8px;font-size:1.8rem;display:flex}.drawer-content{padding:var(--spacing-md);-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.drawer-content .controls-panel{border:none;margin-bottom:0;padding:0}.drawer-content .controls-row{gap:var(--spacing-md);flex-direction:column}.drawer-content .control-group{width:100%}.drawer-content .panel-header{gap:var(--spacing-sm);flex-wrap:wrap}.drawer-content .filter-sliders{gap:var(--spacing-md);flex-direction:column}.drawer-content .filter-sliders .control-group{max-width:none;min-width:unset}.drawer-content .filter-dropdowns{flex-direction:column;align-items:stretch}.drawer-content .filter-trigger{justify-content:space-between;width:100%;min-height:44px}.drawer-content .filter-dropdown-panel{box-shadow:none;border:1px solid var(--color-border);border-radius:0 0 8px 8px;max-height:200px;margin-top:-1px;position:static}.drawer-content .filter-toggle{width:100%;min-height:44px}.drawer-footer{padding:var(--spacing-md);border-top:1px solid var(--color-border);flex-shrink:0}.drawer-apply-btn{background-color:var(--color-primary);width:100%;color:var(--color-dark);cursor:pointer;border:none;border-radius:8px;min-height:48px;padding:14px;font-size:1rem;font-weight:700}.drawer-apply-btn:active{background-color:var(--color-primary-dark)}#filtersPanel.in-drawer{width:100%;display:block}body.drawer-open{width:100%;position:fixed;overflow:hidden}#comparisonContainer{display:none!important}.mobile-compare{display:block}.mobile-compare.hidden{display:none}.swipe-container{--card-gap:.75rem;gap:var(--card-gap);-webkit-overflow-scrolling:touch;scrollbar-width:none;display:flex;position:relative;overflow:auto hidden}.swipe-container::-webkit-scrollbar{display:none}.swipe-container:after{content:"";flex:0 0 calc(100% - (100% - var(--card-gap)) / 1.5)}.swipe-track{display:contents}.bike-card{flex:0 0 calc((100% - var(--card-gap)) / 1.5);width:calc((100% - var(--card-gap)) / 1.5);min-width:calc((100% - var(--card-gap)) / 1.5);max-width:calc((100% - var(--card-gap)) / 1.5);box-sizing:border-box;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;overflow:hidden}.bike-card-header{background-color:var(--color-table-header);color:#fff;padding:var(--spacing-md);text-align:center}.bike-card-header h3{margin:0;font-size:1.1rem}.bike-card-photo{text-align:center;padding:var(--spacing-sm);background-color:var(--color-surface);min-height:calc(180px + 2 * var(--spacing-sm))}.bike-card-photo img{object-fit:contain;border-radius:4px;max-width:100%;max-height:180px}.bike-card-specs{padding:0}.bike-card-specs table{table-layout:fixed;border-collapse:collapse;width:100%;font-size:.85rem}.bike-card-specs td{padding:var(--spacing-xs) var(--spacing-sm);border-bottom:1px solid var(--color-border);vertical-align:top;overflow-wrap:anywhere}.bike-card-specs td:first-child{color:var(--color-text-muted);white-space:normal;width:58%;font-weight:600}.bike-card-specs td:last-child{text-align:right;width:42%}.bike-card-specs tr.separator td{background-color:var(--color-border);height:2px;padding:0}.bike-card-specs tr.bold-row td{color:var(--color-text);font-weight:700}.swipe-dots{padding:var(--spacing-md) 0;justify-content:center;gap:8px;display:flex}.swipe-dot{background-color:var(--color-border);cursor:pointer;border:none;border-radius:50%;width:10px;height:10px;padding:0;transition:background-color .2s,transform .2s}.swipe-dot.active{background-color:var(--color-primary);transform:scale(1.2)}.swipe-nav{justify-content:center;align-items:center;gap:var(--spacing-md);padding-bottom:var(--spacing-md);display:flex}.swipe-nav-btn{background-color:var(--color-primary);color:var(--color-dark);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.2rem;font-weight:700;display:flex}.swipe-nav-btn:disabled{opacity:.3;cursor:default}.swipe-counter{color:var(--color-text-muted);font-size:.9rem;font-weight:600}#scatterChart{height:350px!important}}.text-muted{color:var(--color-text-muted)}.text-center{text-align:center}.text-right{text-align:right}.mt-1{margin-top:var(--spacing-sm)}.mt-2{margin-top:var(--spacing-md)}.mt-3{margin-top:var(--spacing-lg)}.mb-1{margin-bottom:var(--spacing-sm)}.mb-2{margin-bottom:var(--spacing-md)}.mb-3{margin-bottom:var(--spacing-lg)}.hidden{display:none!important}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{background:var(--color-primary);color:var(--color-dark);padding:var(--spacing-sm) var(--spacing-md);z-index:100;font-weight:600;text-decoration:none;position:absolute;top:-40px;left:0}.skip-link:focus{top:0}
