.app{max-width:1200px;margin:0 auto;padding:1rem 2rem;font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace}.header{text-align:center;margin-bottom:1.5rem}.logo{font-size:3rem;font-weight:800;margin:0;background:linear-gradient(135deg,#e10600,#ff6b6b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.tagline{margin:.25rem 0 0;color:#666;font-size:.9rem}.controls{display:flex;justify-content:center;margin-bottom:1rem}.season-selector{display:flex;align-items:center;gap:.5rem}.season-selector label{font-weight:600}.season-selector select,.race-selector select{padding:.5rem 1rem;font-size:1rem;font-family:inherit;border:1px solid #ddd;border-radius:6px;background:#fff;color:#1a1a1a;cursor:pointer}.tabs{display:flex;justify-content:center;gap:.5rem;margin-bottom:1.5rem;border-bottom:1px solid #ddd;padding-bottom:.5rem}.tab{padding:.75rem 1.5rem;font-size:1rem;font-family:inherit;background:transparent;border:none;color:#666;cursor:pointer;transition:all .2s;border-radius:6px 6px 0 0}.tab:hover{color:#1a1a1a;background:#0000000d}.tab.active{color:#e10600;border-bottom:2px solid #e10600;font-weight:600}.content{min-height:500px}.loading{text-align:center;padding:3rem;color:#666;font-size:1.2rem}.dashboard{display:flex;flex-direction:column;gap:2rem}.race-selector{display:flex;align-items:center;gap:.5rem;justify-content:center}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}@media (max-width: 768px){.dashboard-grid{grid-template-columns:1fr}}.section{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #00000014}.section h3{text-align:center;margin:0 0 1rem;font-size:1.25rem;color:#1a1a1a}.toggle-buttons{display:flex;justify-content:center;gap:.5rem;margin-bottom:1rem}.toggle-buttons button{padding:.4rem 1rem;font-size:.85rem;background:#f5f5f5;border:1px solid #ddd;color:#666}.toggle-buttons button.active{background:#e10600;border-color:#e10600;color:#fff}.ranking-table-container{max-height:480px;overflow-y:auto}.ranking-table{font-size:.9rem}.table-header{display:flex;padding:.5rem 0;border-bottom:2px solid #ddd;font-weight:600;color:#666;position:sticky;top:0;background:#fff;z-index:1}.table-row{display:flex;padding:.6rem 0;border-bottom:1px solid #eee;align-items:center}.col-rank{width:10%;font-weight:600}.col-driver{width:50%;font-weight:600;display:flex;align-items:center;gap:.5rem}.col-pos{width:10%;text-align:center;font-weight:600;color:#666}.col-elo,.col-delta{width:20%;text-align:right}.ranking-table.with-position .col-rank{width:8%}.ranking-table.with-position .col-driver{width:42%}.ranking-table.with-position .col-pos{width:10%}.ranking-table.with-position .col-elo,.ranking-table.with-position .col-delta{width:20%}.col-pts{width:12%;text-align:right;color:#666}.ranking-table.with-points .col-rank{width:8%}.ranking-table.with-points .col-driver{width:42%}.ranking-table.with-points .col-elo{width:18%}.ranking-table.with-points .col-pts{width:12%}.ranking-table.with-points .col-delta{width:20%}.col-carcoeff{width:10%;text-align:right;color:#666}.ranking-table.with-position.with-carcoeff .col-rank{width:6%}.ranking-table.with-position.with-carcoeff .col-driver{width:34%}.ranking-table.with-position.with-carcoeff .col-pos{width:8%}.ranking-table.with-position.with-carcoeff .col-carcoeff{width:12%}.ranking-table.with-position.with-carcoeff .col-elo{width:18%}.ranking-table.with-position.with-carcoeff .col-delta{width:22%}.col-delta.positive{color:#16a34a}.col-delta.negative{color:#dc2626}.table-header .sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .2s}.table-header .sortable:hover,.table-header .sortable.sorted{color:#e10600}.team-logo{width:24px;height:24px;object-fit:contain}.podium-section{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #00000014}.podium-header{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-bottom:1.5rem}.podium-header h3{margin:0;color:#1a1a1a}.podium-section h3{text-align:center;margin:0 0 1.5rem;color:#1a1a1a}.podium{display:flex;justify-content:center;align-items:flex-end;gap:1rem;max-width:600px;margin:0 auto}.podium-place{flex:1;text-align:center}.podium-logo{width:50px;height:50px;object-fit:contain;margin-bottom:.5rem}.podium-name{font-weight:700;font-size:1rem;margin-bottom:.25rem}.podium-elo{font-size:.85rem;color:#666;margin-bottom:.5rem}.podium-bar{width:100%;border-radius:8px 8px 0 0}.charts{display:flex;flex-direction:column;gap:2rem}.chart-section{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #00000014}.chart-section h3{text-align:center;margin:0 0 .5rem;color:#1a1a1a}.chart-subtitle{text-align:center;color:#666;font-size:.85rem;margin:0 0 1rem}.driver-selector{margin-bottom:1rem;position:relative}.driver-selector label{display:block;margin-bottom:.5rem;font-weight:600}.driver-dropdown-trigger{display:flex;justify-content:space-between;align-items:center;padding:.6rem 1rem;border:1px solid #ddd;border-radius:6px;background:#fff;cursor:pointer;font-size:.9rem;color:#1a1a1a}.driver-dropdown-trigger:hover{border-color:#e10600}.dropdown-arrow{font-size:.7rem;color:#666}.driver-dropdown-menu{position:absolute;top:100%;left:0;right:0;max-height:350px;overflow:hidden;background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 16px #0000001f;z-index:100;margin-top:4px;display:flex;flex-direction:column}.driver-search-container{display:flex;align-items:center;padding:.75rem;border-bottom:1px solid #eee;background:#fafafa;gap:.5rem;position:sticky;top:0}.search-icon{width:16px;height:16px;color:#999;flex-shrink:0}.driver-search-input{flex:1;border:none;background:transparent;font-size:.9rem;font-family:inherit;color:#1a1a1a;outline:none}.driver-search-input::placeholder{color:#999}.search-clear{width:20px;height:20px;border:none;background:#ddd;border-radius:50%;color:#666;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;line-height:1;transition:background .15s}.search-clear:hover{background:#ccc}.clear-all-btn{padding:0 .75rem;height:38px;border:1px solid #ddd;border-radius:6px;background:#fff;color:#666;font-size:13px;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s;flex-shrink:0}.clear-all-btn:hover{background:#f5f5f5;color:#333}.driver-dropdown-list{overflow-y:auto;flex:1}.driver-dropdown-empty{padding:1.5rem;text-align:center;color:#999;font-size:.85rem}.driver-dropdown-item{display:flex;align-items:center;padding:.5rem .75rem;cursor:pointer;gap:.5rem;transition:background .15s}.driver-dropdown-item:hover{background:#f5f5f5}.driver-dropdown-item.selected{background:#fef3f3}.driver-color-indicator{width:4px;height:24px;border-radius:2px;flex-shrink:0}.driver-dropdown-logo{width:24px;height:24px;object-fit:contain;flex-shrink:0}.driver-dropdown-name{flex:1;font-size:.85rem;font-weight:500}.driver-dropdown-item .checkmark{color:#e10600;font-weight:600;margin-left:auto}.driver-chips{display:flex;flex-wrap:wrap;gap:.5rem}.driver-chip{padding:.35rem .75rem;font-size:.8rem;border:2px solid;border-radius:20px;background:transparent;cursor:pointer;transition:all .2s;color:#1a1a1a}.driver-chip.selected{color:#fff}.no-selection{text-align:center;color:#666;padding:2rem}.head-to-head{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #00000014}.head-to-head h3{text-align:center;margin:0 0 1.5rem;color:#1a1a1a}.driver-selectors{display:flex;justify-content:center;align-items:center;gap:2rem;margin-bottom:2rem}.driver-select-group{text-align:center}.driver-select-group select{padding:.5rem 1rem;font-size:1rem;font-family:inherit;border:1px solid #ddd;border-radius:6px;background:#fff;color:#1a1a1a;cursor:pointer;margin-bottom:.75rem}.driver-header h4{margin:0 0 .5rem;font-size:1.25rem;color:#1a1a1a}.team-logos{display:flex;justify-content:center;gap:.5rem}.team-logo-h2h{width:40px;height:40px;object-fit:contain}.vs{font-size:1.5rem;font-weight:800;color:#e10600}.comparison-table{max-width:600px;margin:0 auto}.comparison-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-top:1px solid #eee}.stat-value{width:25%;text-align:center;font-size:1.1rem;font-weight:600;padding:.25rem .5rem;border-radius:4px;color:#1a1a1a}.stat-value.winner{background-color:#fef08a}.stat-label{width:50%;text-align:center;font-weight:600;color:#666}.no-data{text-align:center;color:#666;padding:2rem}.recharts-tooltip-wrapper{font-family:inherit!important}.recharts-legend-item-text{color:#1a1a1a!important}@media (max-width: 768px){.app{padding:.5rem}.tabs{margin-bottom:0;padding-bottom:0;border-bottom:none;gap:0}.tab{flex:1;padding:.5rem .25rem;font-size:.72rem;text-align:center}.content{background:#fff;padding:1rem .5rem;margin-left:-.5rem;margin-right:-.5rem;margin-bottom:-.5rem;min-height:100vh}.dashboard{gap:1rem}.dashboard-grid{grid-template-columns:1fr;gap:1.5rem}.section{background:transparent;border-radius:0;padding:0;box-shadow:none}.section h3{font-size:1.1rem;margin-bottom:.75rem}.podium-section{background:transparent;border-radius:0;padding:0;box-shadow:none;margin-top:1rem}.race-selector select{width:100%}.head-to-head{background:transparent;border-radius:0;padding:.5rem 0;box-shadow:none}.head-to-head h3{font-size:1.25rem;margin-bottom:1rem}.driver-selectors{gap:.5rem}.driver-select-group{flex:1}.driver-select-group select{width:100%;padding:.4rem .5rem;font-size:.85rem}.vs{font-size:1rem;padding:0 .25rem}.driver-header{display:flex;align-items:center;justify-content:center;gap:.5rem}.driver-header h4{font-size:.9rem;margin:0}.team-logos{margin:0}.team-logo-h2h{width:24px;height:24px}.comparison-table{width:100%;background:#fff;padding:.5rem;border-radius:8px}.comparison-row{padding:.5rem 0}.stat-value{font-size:.9rem;padding:.2rem .25rem}.stat-label{font-size:.85rem}.charts{gap:1.5rem}.chart-section{background:transparent;border-radius:0;padding:0;box-shadow:none}.chart-section h3{font-size:1.1rem;margin-bottom:.5rem}.chart-subtitle{font-size:.75rem;margin-bottom:.75rem}.driver-selector{margin-bottom:.5rem}.driver-selector label{font-size:.85rem;margin-bottom:.25rem}.driver-chips{gap:.25rem;max-height:120px;overflow-y:auto}.driver-chip{padding:.2rem .5rem;font-size:.7rem;border-width:1px}.driver-dropdown-trigger{padding:.5rem .75rem;font-size:.85rem}.driver-dropdown-menu{max-height:300px}.driver-search-container{padding:.6rem .75rem}.driver-search-input{font-size:.85rem}.driver-dropdown-item{padding:.4rem .5rem;gap:.4rem}.driver-color-indicator{width:3px;height:20px}.driver-dropdown-logo{width:20px;height:20px}.driver-dropdown-name{font-size:.8rem}}.alltime{width:100%}.alltime-table .table-header,.alltime-table .table-row{display:flex;align-items:center;gap:0}[data-tooltip]:hover:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%);background:#333;color:#fff;padding:4px 8px;border-radius:4px;font-size:.72rem;font-weight:400;white-space:nowrap;z-index:100;pointer-events:none}.about-page{max-width:600px;margin:3rem auto;line-height:1.7;text-align:center}.about-page h2{font-size:1.5rem;margin-bottom:1rem}.about-page a{color:#e10600;text-decoration:none}.about-page a:hover{text-decoration:underline}.methodology-page{max-width:800px;margin:2rem auto;line-height:1.7}.methodology-page h2{font-size:1.8rem;margin-bottom:.5rem}.meth-section{margin-top:2.5rem;border-top:1px solid #2a2a2a;padding-top:2rem}.meth-section h3{font-size:1.15rem;font-weight:700;margin-bottom:1rem;color:#e10600}.meth-callout{background:#1a1a1a;color:#d4d4d4;border-left:3px solid #e10600;padding:.75rem 1rem;margin:1rem 0;border-radius:0 4px 4px 0}.meth-formula{background:#1a1a1a;color:#d4d4d4;border:1px solid #333;border-radius:4px;padding:1rem 1.25rem;font-size:.8rem;overflow-x:auto;line-height:1.5;margin:1rem 0;white-space:pre}.meth-table{width:100%;border-collapse:collapse;font-size:.9rem;margin:1rem 0}.meth-table th{text-align:left;padding:.5rem .75rem;border-bottom:1px solid #333;color:#aaa;font-weight:600}.meth-table td{padding:.45rem .75rem;border-bottom:1px solid #1e1e1e}.meth-table tr:last-child td{border-bottom:none}.meth-two-col{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin:1rem 0}.meth-col-header{font-weight:700;margin-bottom:.5rem}.meth-col-green{color:#4caf50}.meth-col-red{color:#e10600}.meth-two-col ul{margin:0;padding-left:1.25rem}.meth-two-col li{margin-bottom:.2rem;font-size:.9rem}@media (max-width: 600px){.meth-two-col{grid-template-columns:1fr}}@media (max-width: 768px){.alltime-table{font-size:.65rem}.alltime-table .team-logo{height:10px}.dashboard .ranking-table{font-size:.7rem}.dashboard .ranking-table .team-logo{height:10px}.dashboard .ranking-table .table-row{padding:.4rem 0}}:root{font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;line-height:1.5;font-weight:400;color-scheme:light;color:#1a1a1a;background-color:#f5f5f5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh}a{font-weight:500;color:#e10600;text-decoration:inherit}a:hover{color:#cc0500}h1,h2,h3,h4,h5,h6{line-height:1.2}button{border-radius:8px;border:1px solid #ddd;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#fff;color:inherit;cursor:pointer;transition:border-color .25s,background-color .25s}button:hover{border-color:#e10600}button:focus,button:focus-visible{outline:2px solid #e10600;outline-offset:2px}select{font-family:inherit}select:focus{outline:2px solid #e10600;outline-offset:2px}
