: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: #ffffff;--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{margin:0;font-family:var(--font-family);font-size:1rem;line-height:1.5;color:var(--color-text);background-color:var(--color-bg)}.container{width:100%;max-width:var(--container-max-width);margin:0 auto;padding:0 var(--spacing-md)}.header{background-color:var(--color-primary);color:var(--color-dark);padding:var(--spacing-sm) 0}.nav{display:flex;align-items:center;flex-wrap:wrap;gap:var(--spacing-sm)}.brand{text-decoration:none;color:inherit}.brand h1{margin:0;font-size:1.5rem;font-weight:600}.nav-links{display:flex;list-style:none;margin:0;padding:0;gap:var(--spacing-sm)}.nav-links a{color:#fff;text-decoration:none;font-weight:700;font-size:1rem;padding:var(--spacing-sm) var(--spacing-lg);border-radius:4px;background-color:#00000040;transition:all .2s}.nav-links a:hover{background-color:#0006}.nav-links a.active{background-color:var(--color-dark);color:#fff}.nav-left{display:flex;align-items:center;gap:var(--spacing-md)}.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-dark);color:var(--color-light);padding:var(--spacing-lg) 0}.footer p{margin:0;font-size:.875rem}.footer a{color:var(--color-light)}.footer .version{color:var(--color-text-muted)}.controls-panel{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:var(--spacing-md);margin-bottom:var(--spacing-lg)}.panel-header{display:flex;justify-content:flex-start;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-sm)}.panel-label{font-size:.875rem;font-weight:600;color:var(--color-text);text-transform:uppercase;letter-spacing:.05em}.header-year-range{min-width:200px;max-width:300px}.header-year-range label{display:none}.btn-clear-filters{background-color:transparent;color:var(--color-text-muted);border:1px solid var(--color-border);padding:var(--spacing-xs) var(--spacing-sm);border-radius:4px;font-size:.75rem;cursor:pointer;transition:all .2s}.btn-clear-filters:hover{background-color:var(--color-border);color:var(--color-text)}.controls-row{display:flex;flex-wrap:wrap;gap:var(--spacing-md);align-items:flex-end}.control-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.control-group label{font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase}.control-group input,.control-group select{padding:4px 8px;border:1px solid var(--color-border);border-radius:4px;font-size:.875rem;min-width:80px;background-color:var(--color-surface);color:var(--color-text)}.control-group select[multiple]{min-width:120px;padding:0}.control-group select[multiple] option{padding:var(--spacing-xs) var(--spacing-sm)}.control-group select[multiple] option:checked{background-color:var(--color-primary);color:var(--color-dark)}.control-group input[type=number]{width:70px}.checkbox-filter-group{justify-content:center;gap:var(--spacing-sm)}.checkbox-filter{display:flex;align-items:center;gap:var(--spacing-xs);cursor:pointer;font-size:.8rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase}.checkbox-filter input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--color-primary)}.year-range-group{min-width:180px}.year-range-slider{position:relative;height:24px;display:flex;align-items:center}.year-range-track{position:absolute;left:9px;right:9px;height:6px;background:var(--color-border);border-radius:3px}.year-range-fill{position:absolute;height:6px;background:var(--color-primary);border-radius:3px;left:9px}.year-range-slider input[type=range]{position:absolute;width:100%;height:6px;pointer-events:none;-webkit-appearance:none;appearance:none;background:transparent}.year-range-slider input[type=range]::-webkit-slider-runnable-track{height:6px;background:transparent;border-radius:3px}.year-range-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;height:18px;width:18px;background:var(--color-primary);border-radius:50%;cursor:pointer;pointer-events:auto;margin-top:-6px;border:2px solid var(--color-dark);box-shadow:0 1px 3px #0000004d}.year-range-slider input[type=range]::-moz-range-track{height:6px;background:transparent;border-radius:3px}.year-range-slider input[type=range]::-moz-range-thumb{height:14px;width:14px;background:var(--color-primary);border-radius:50%;cursor:pointer;pointer-events:auto;border:2px solid var(--color-dark);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{display:flex;justify-content:space-between;font-size:.75rem;color:var(--color-text);margin-top:4px;font-variant-numeric:tabular-nums;padding:0 2px}.control-group input:focus,.control-group select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #ffc10740}.toggle-group{display:flex;flex-direction:column;align-items:center;gap:2px}.toggle-labels{display:flex;gap:8px;font-size:.7rem;font-weight:600;color:var(--color-text-muted)}.toggle-switch{position:relative;display:inline-block;width:36px;height:18px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:var(--color-primary);border-radius:18px;transition:.3s}.toggle-slider:before{content:"";position:absolute;height:14px;width:14px;left:2px;bottom:2px;background-color:var(--color-surface);border-radius:50%;transition:.3s}.toggle-switch input:checked+.toggle-slider{background-color:var(--color-primary)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(18px)}.table-container{display:inline-block;overflow-x:auto;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:8px}.data-table{width:auto;border-collapse:collapse;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 th{background-color:var(--color-table-header);color:#fff;font-weight:600;position:sticky;top:0;cursor:pointer;user-select:none}.data-table th:hover{background-color:var(--color-table-header-hover)}.data-table th .header-unit{display:block;font-size:.75rem;font-weight:400;opacity:.8}.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 td.numeric{text-align:right;font-variant-numeric:tabular-nums}.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{width:30px;text-align:center}.data-table input[type=checkbox]{cursor:pointer}.filters-row{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.filter-chip{display:inline-flex;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}.filter-chip button{background:none;border:none;cursor:pointer;padding:0;font-size:1rem;line-height:1;opacity:.7}.filter-chip button:hover{opacity:1}.compare-banner{display:none;background-color:var(--color-primary);color:var(--color-dark);padding:var(--spacing-sm) var(--spacing-md);border-radius:8px;margin-bottom:var(--spacing-sm);justify-content:space-between;align-items:center;font-weight:600}.compare-banner.visible{display:flex}.compare-banner .btn{background-color:var(--color-dark);color:#fff;border:none;padding:var(--spacing-xs) var(--spacing-md);border-radius:4px;font-weight:600;cursor:pointer;transition:background-color .2s}.compare-banner .btn:hover{background-color:var(--color-table-header-hover)}.compare-banner .btn-clear{background-color:transparent;color:var(--color-dark);border:1px solid var(--color-dark);margin-left:var(--spacing-sm)}.compare-banner .btn-clear:hover{background-color:#0000001a}.chart-container{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:var(--spacing-md);margin-bottom:var(--spacing-lg)}.chart-title{margin:0 0 var(--spacing-md);font-size:1.25rem;font-weight:600}.comparison-grid{display:grid;gap:var(--spacing-md)}.comparison-table{width:auto;border-collapse:collapse}.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 .spec-name{font-weight:600;background-color:var(--color-surface)}.comparison-table .spec-unit{display:block;font-size:.75rem;font-weight:400;color:var(--color-text-muted)}.comparison-table .photo-row th{padding:var(--spacing-sm);vertical-align:bottom}.comparison-table .bike-photo-cell{text-align:left}.comparison-table .bike-photo{max-width:200px;max-height:130px;object-fit:contain;border-radius:4px}.comparison-table .best-value{background-color:#28a7451a;font-weight:600}.loading{display:flex;justify-content:center;align-items:center;min-height:200px;color:var(--color-text-muted)}.loading:after{content:"";width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;margin-left:var(--spacing-sm)}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;bottom:2rem;left:50%;transform:translate(-50%) translateY(100px);background-color:var(--color-table-header);color:#fff;padding:var(--spacing-sm) var(--spacing-lg);border-radius:8px;font-weight:500;box-shadow:0 4px 12px #0000004d;opacity:0;transition:transform .3s ease,opacity .3s ease;z-index:1000}.toast.visible{transform:translate(-50%) translateY(0);opacity:1}@media (max-width: 768px){html{font-size:13px}.brand h1{font-size:1.25rem}.subtitle{display:none}.controls-row{flex-direction:column;align-items:stretch}.control-group,.control-group input,.control-group select,.control-group input[type=number]{width:100%}.data-table{font-size:.75rem}.data-table th,.data-table td{padding:var(--spacing-xs)}}@media (max-width: 480px){.nav{flex-direction:column;align-items:flex-start}.nav-links{width:100%;justify-content:flex-start}}.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{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-40px;left:0;background:var(--color-primary);color:var(--color-dark);padding:var(--spacing-sm) var(--spacing-md);z-index:100;font-weight:600;text-decoration:none}.skip-link:focus{top:0}
