.races-list{display:grid;gap:1rem}.race-card{padding:0;overflow:hidden}.race-card-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;gap:1rem}.race-card-name{font-size:1.1rem;font-weight:700;color:var(--navy);margin-bottom:.25rem}.race-card-venue{font-size:.875rem;color:var(--gray-600)}.race-toggle{font-size:.85rem;padding:.5rem 1rem;white-space:nowrap}.no-results-badge{font-size:.8rem;color:var(--gray-600);font-style:italic}.stale-notice{margin-bottom:1rem;padding:.75rem 1rem;background:var(--gray-50);border-left:3px solid var(--gold);border-radius:8px;font-size:.9rem;color:var(--gray-600)}.live-status{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem;margin-bottom:.75rem;padding:.5rem .75rem;border-radius:8px;background:#c5b3581f;border:1px solid rgba(197,179,88,.4);font-size:.85rem}.live-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.15rem .55rem;border-radius:999px;background:#c0392b;color:#fff;font-weight:800;font-size:.72rem;letter-spacing:.08em}.live-dot{width:.5rem;height:.5rem;border-radius:50%;background:#fff;animation:live-blink 1.4s ease-in-out infinite}@keyframes live-blink{0%,to{opacity:1}50%{opacity:.25}}@media(prefers-reduced-motion:reduce){.live-dot{animation:none}}.live-updated{color:var(--navy);opacity:.85}.live-refresh{margin-left:auto}.race-card-name-link{color:inherit;text-decoration:underline;text-decoration-color:#c5b3588c;text-underline-offset:3px}.race-card-name-link:hover,.race-card-name-link:focus-visible{color:var(--navy);text-decoration-color:var(--gold)}.highlights-failed{display:flex;flex-direction:column;gap:.6rem;align-items:flex-start}.highlights-failed .highlights-note{margin:0}.highlights-failed-actions{display:flex;gap:.5rem;flex-wrap:wrap}.race-card-highlights{padding:0 1.5rem 1rem;border-top:1px solid var(--gray-100)}.highlights-grid{display:grid;gap:1rem;padding-top:1rem}.highlight-category{padding-bottom:.5rem}.highlight-cat-name{font-size:.85rem;font-weight:600;color:var(--gold-dark);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.highlight-rider{display:flex;align-items:center;gap:.75rem;padding:.4rem 0;font-size:.9rem}.highlight-place{font-weight:700;color:var(--navy);min-width:3rem;text-align:right}.highlight-podium .highlight-place{color:var(--gold-dark)}.highlight-name{flex:1;color:var(--gray-800)}.highlight-time{color:var(--gray-600);font-size:.85rem;font-variant-numeric:tabular-nums}.team-standing{margin-top:.75rem;padding:.75rem 1rem;background:var(--gray-50);border-radius:8px;font-size:.9rem;color:var(--navy);border-left:3px solid var(--gold)}.highlights-toolbar{display:flex;gap:.5rem;padding-top:1rem;padding-bottom:.5rem}.highlights-toggle{font-size:.8rem;padding:.35rem .75rem;border:1px solid var(--gray-300);border-radius:6px;background:var(--white);color:var(--gray-600);cursor:pointer;transition:all .2s}.highlights-toggle.active{background:var(--navy);color:var(--white);border-color:var(--navy)}.highlights-toggle:hover:not(.active){border-color:var(--navy);color:var(--navy)}.highlight-fr{background:#c5b3581a;border-left:3px solid var(--gold);padding-left:.5rem;margin-left:-.5rem;border-radius:2px}.highlight-fr .highlight-name{font-weight:600;color:var(--navy)}.highlights-note,.highlights-loading{font-size:.9rem;color:var(--gray-600);padding:.75rem 0;font-style:italic}.full-results-link{display:block;text-align:center;margin-top:.75rem;font-size:.85rem;color:var(--navy);font-weight:500}.full-results-link:hover{color:var(--gold-dark)}.highlight-pe{background:#001f5b0d;border-left:3px solid rgba(0,31,91,.35);padding-left:.5rem;margin-left:-.5rem;border-radius:2px}.highlight-pe .highlight-name{color:var(--navy)}.team-chip,.leader-badge,.podium-badge{display:inline-block;margin-left:.5rem;padding:.1rem .5rem;border-radius:999px;font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;vertical-align:middle}.team-chip-pe{background:#001f5b1a;color:var(--navy)}.leader-badge{background:var(--gray-100);color:var(--gray-600)}.highlight-fr-podium{background:linear-gradient(90deg,#c5b35859,#c5b35814);border-left:3px solid var(--gold-dark);box-shadow:0 0 0 1px #c5b35873 inset;padding-top:.55rem;padding-bottom:.55rem;margin-top:.15rem;margin-bottom:.15rem}.highlight-fr-podium .highlight-name{font-weight:700}.highlight-fr-podium .highlight-place{font-size:1.05rem}.podium-badge{background:var(--navy);color:var(--gold);animation:podium-pop .6s ease-out}@keyframes podium-pop{0%{transform:scale(.6);opacity:0}70%{transform:scale(1.1);opacity:1}to{transform:scale(1)}}.team-standing-pe{border-left-color:#001f5b59}.season-podiums{margin-bottom:2rem;padding:1.5rem;border-radius:12px;background:linear-gradient(135deg,#001f5bf7,#001f5bd9);color:var(--white);border:1px solid rgba(197,179,88,.5)}.season-podiums-header{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.season-podiums-title{font-size:1.25rem;font-weight:800;color:var(--gold);margin:0}.season-podiums-sub{font-size:.9rem;color:#fffc;margin:0}.season-podiums-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.75rem}.podium-card{display:flex;gap:.75rem;align-items:flex-start;padding:.75rem .9rem;border-radius:10px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);transition:transform .15s,background .15s;height:100%}.podium-card-1{border-color:#ffd70099}.podium-card-2{border-color:#cdcdcd99}.podium-card-3{border-color:#cd7f3299}.podium-card-medal{font-size:1.75rem;line-height:1}.podium-card-name{font-weight:700;color:var(--white)}.podium-card-meta{font-size:.85rem;color:var(--gold);font-weight:600}.podium-stack{display:flex;align-items:center;flex-shrink:0;min-width:2.25rem;padding-top:.1rem}.podium-medal{position:relative;font-size:1.75rem;line-height:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}.podium-medal+.podium-medal{margin-left:-1.05rem;font-size:1.5rem;opacity:.92}.podium-medal+.podium-medal+.podium-medal{font-size:1.35rem;opacity:.85}.podium-medal+.podium-medal+.podium-medal+.podium-medal{font-size:1.2rem;opacity:.8}.podium-stack-more{margin-left:.2rem;font-size:.75rem;font-weight:700;color:var(--gold)}.podium-finishes{list-style:none;margin:.4rem 0 0;padding:.4rem 0 0;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;gap:.25rem}.podium-finish{display:grid;grid-template-columns:auto 1fr;gap:.5rem;align-items:baseline;font-size:.82rem;color:#ffffffd9;line-height:1.3}.podium-finish-place{font-weight:700;white-space:nowrap}.podium-finish-1 .podium-finish-place{color:gold}.podium-finish-2 .podium-finish-place{color:#d9d9d9}.podium-finish-3 .podium-finish-place{color:#e0a060}.podium-finish-text{display:flex;flex-direction:column;min-width:0}.podium-finish-race{color:var(--white);font-weight:600;text-decoration:underline;text-decoration-color:#c5b35899;text-underline-offset:2px}a.podium-finish-race:hover,a.podium-finish-race:focus-visible{color:var(--gold);text-decoration-color:var(--gold)}.podium-finish-cat{color:#fff9;font-size:.75rem}.team-toggles{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin:-.5rem 0 1.5rem}.team-toggles-label{font-size:.85rem;font-weight:600;color:var(--gray-600);text-transform:uppercase;letter-spacing:.05em;margin-right:.25rem}.team-toggle{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:999px;border:2px solid var(--gray-300);background:var(--white);color:var(--gray-600);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.team-toggle .team-toggle-dot{width:10px;height:10px;border-radius:50%;background:var(--gray-300);transition:background .2s}.team-toggle:hover{border-color:var(--navy);color:var(--navy)}.team-toggle.active[data-team=fr]{background:var(--navy);border-color:var(--navy);color:var(--gold)}.team-toggle.active[data-team=fr] .team-toggle-dot{background:var(--gold)}.team-toggle.active[data-team=pe]{background:#1f3a68;border-color:#1f3a68;color:var(--white)}.team-toggle.active[data-team=pe] .team-toggle-dot{background:#8fb3ff}.team-chip-fr{background:#c5b3584d;color:var(--navy)}.highlight-muted{opacity:.55}.podium-card-pe .podium-card-meta{color:#8fb3ff}.season-podiums .team-chip-fr{background:var(--gold);color:var(--navy)}.season-podiums .team-chip-pe{background:#8fb3ff;color:var(--navy)}.past-seasons-list{display:grid;gap:1.5rem}.past-season-year{font-size:1.125rem;font-weight:700;color:var(--navy);margin-bottom:.5rem;padding-bottom:.25rem;border-bottom:2px solid var(--gold);display:inline-block}.past-season-races{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.past-race-link{display:inline-block;font-size:.85rem;padding:.35rem .75rem;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:6px;color:var(--navy);transition:all .2s}a.past-race-link:hover{background:var(--gray-200);color:var(--navy)}.loading-state{text-align:center;padding:3rem 1rem;color:var(--gray-600)}.loading-spinner{width:32px;height:32px;border:3px solid var(--gray-200);border-top-color:var(--navy);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 1rem}@keyframes spin{to{transform:rotate(360deg)}}.error-state{text-align:center;padding:2rem;background:var(--gray-50);border-radius:12px}.error-state p{margin-bottom:1rem;color:var(--gray-600)}@media(max-width:768px){.race-card-header{flex-direction:column;align-items:flex-start}.race-card-actions{width:100%}.race-toggle,.race-card-actions .btn{width:100%;text-align:center}.highlight-rider{font-size:.85rem}.highlight-place{min-width:2.5rem}}
