.chart-tip {
  min-height: 2.5em;
  margin: .1rem 0 .8rem;
  padding: .55rem .7rem;
  border-radius: 10px;
  background: #0b1230;
  color: #c9d4f9;
  font-size: .82rem;
}
.chart-wrap svg { cursor: crosshair; }
.chart-empty { fill:#8f9bc0; font-size:17px; font-weight:800; }
.date-axis { font-size:11px; }
.avatar.rival { background: #2d9eae; }
.race-line.rival,.dot.rival { stroke:#2dcebe; fill:#2dcebe; }
.line-rival { background:#2dcebe; }
.race-line { stroke-width: 3px; }
.race-line { fill: none !important; stroke-linecap: round; stroke-linejoin: round; }
.dot { r: 4px; }
.handle-result { display:none; width:min(560px,100%); margin-top:.55rem; overflow:hidden; border:1px solid #3c4f87; border-radius:12px; background:#0b1230; color:#c9d4f9; font-size:.82rem; }
.handle-result:not(:empty) { display:block; }
.search-heading { display:block; padding:.55rem .75rem; color:#9eadd8; font-size:.72rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; border-bottom:1px solid #2b3967; }
.search-option { display:flex; width:100%; min-height:0; padding:.62rem .75rem; border:0; border-radius:0; background:transparent; color:#f4f6ff; text-align:left; align-items:center; justify-content:space-between; gap:1rem; font-weight:700; }
.search-option + .search-option { border-top:1px solid #26345f; }
.search-option:hover,.search-option:focus-visible { background:#1b2a58; outline:0; }
.search-option b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.search-option small { flex:0 0 auto; color:#9eadd8; font-size:.72rem; font-weight:500; white-space:nowrap; }
.leaderboard li { grid-template-columns:24px 34px 1fr auto auto auto; }
.remove-player { width:26px; height:26px; min-height:0; padding:0; border:1px solid #4d5d90; border-radius:8px; background:transparent; color:#aebce1; font-size:1.2rem; line-height:1; }
.remove-player:hover { background:#542043; border-color:#ff4b9a; color:#fff; }
.race-metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 18px 0; }
.race-share-bar { margin: 14px 0 0; padding: 15px 18px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); box-shadow: var(--shadow); }
.race-share-bar strong,.race-share-bar span { display: block; }.race-share-bar span { color: var(--muted); font-size: .75rem; }.race-share-bar > div:nth-child(2) { display: flex; gap: 8px; }.race-share-bar button { min-height: 0; padding: .62rem .85rem; border: 1px solid color-mix(in srgb,var(--purple) 30%,var(--line)); background: var(--purple-soft); color: var(--purple-deep); box-shadow: none; }.race-share-bar button:first-child { background: linear-gradient(135deg,#8756dd,#672cb9); color:#fff; }#race-share-status { min-width: 120px; text-align: right; }
.race-metrics article { min-height: 110px; padding: 17px; border: 1px solid #344675; border-radius: 17px; background: linear-gradient(145deg, #17234c, #101937); box-shadow: inset 0 1px #ffffff0d; }
.race-metrics small, .race-metrics span { display: block; color: #aab6db; font-size: .72rem; font-weight: 800; letter-spacing: .08em; }
.race-metrics strong { display: block; margin: .35rem 0; font-size: 1.25rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.race-metrics span { font-size: .78rem; font-weight: 500; letter-spacing: 0; }
@media (max-width: 760px) { .race-metrics { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 680px) { .race-share-bar { display: block; }.race-share-bar > div:nth-child(2) { margin-top: 10px; }.race-share-bar button { flex: 1; }#race-share-status { margin-top: 8px; text-align: left; } }
