/* Lanes Raceway — driver search + rankings */
.lanes-ds { font-family: var(--lanes-body, Barlow, sans-serif); color: var(--lanes-ink, #0B0D12); }

.lanes-ds__form { display: flex; gap: 10px; max-width: 720px; margin: 0 0 14px; }
.lanes-ds .lanes-ds__input { flex: 1 1 auto; min-width: 0; height: 56px; padding: 0 18px; border: 2px solid var(--lanes-ink, #0B0D12); border-radius: 2px; background: #fff; font-family: var(--lanes-body, Barlow, sans-serif); font-size: 18px; color: var(--lanes-ink, #0B0D12); }
.lanes-ds .lanes-ds__input:focus { outline: none; border-color: var(--lanes-blue, #0019FF); box-shadow: 0 0 0 3px rgba(0, 25, 255, .18); }
.lanes-ds .lanes-ds__btn { height: 56px; padding: 0 26px; border: 2px solid var(--lanes-blue, #0019FF); border-radius: 2px; background: var(--lanes-blue, #0019FF); color: #fff; font-family: var(--lanes-display, "Barlow Condensed", sans-serif); font-weight: 700; font-size: 17px; letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
.lanes-ds .lanes-ds__btn:hover { background: var(--lanes-blue-deep, #0012B8); border-color: var(--lanes-blue-deep, #0012B8); }
.lanes-ds__hint { margin: 0; font-size: 15px; color: var(--lanes-muted, #5B6070); }
.lanes-ds__empty { background: #fff; border: 1px solid var(--lanes-line, #DADDE5); border-left: 4px solid var(--lanes-flag, #FFD400); padding: 18px 20px; font-size: 16px; line-height: 1.6; margin: 18px 0 0; }

.lanes-ds__pick { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 18px 0 6px; font-size: 14px; color: var(--lanes-muted, #5B6070); }
.lanes-ds .lanes-ds__pick a { display: inline-flex; align-items: center; height: 34px; padding: 0 14px; border: 2px solid var(--lanes-ink, #0B0D12); background: #fff; color: var(--lanes-ink, #0B0D12); text-decoration: none; font-family: var(--lanes-display, "Barlow Condensed", sans-serif); font-weight: 700; font-size: 14px; letter-spacing: .06em; text-transform: uppercase; }
.lanes-ds .lanes-ds__pick a:hover { background: var(--lanes-ink, #0B0D12); color: #fff; }

.lanes-ds__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; flex-wrap: wrap; margin: 26px 0 14px; }
.lanes-ds__kicker { font-family: var(--lanes-display, "Barlow Condensed", sans-serif); font-weight: 700; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--lanes-muted, #5B6070); }
.lanes-ds__name { margin: 2px 0 0; font-family: var(--lanes-display, "Barlow Condensed", sans-serif); font-weight: 800; font-size: clamp(32px, 4.5vw, 48px); line-height: .98; text-transform: uppercase; }
.lanes-ds .lanes-ds__rankbadge { display: inline-flex; align-items: center; gap: 6px; padding: 10px 16px; background: var(--lanes-flag, #FFD400); color: var(--lanes-ink, #0B0D12); text-decoration: none; font-family: var(--lanes-display, "Barlow Condensed", sans-serif); font-weight: 700; font-size: 15px; letter-spacing: .06em; text-transform: uppercase; }
.lanes-ds .lanes-ds__rankbadge strong { font-weight: 800; font-size: 22px; }
.lanes-ds .lanes-ds__rankbadge:hover { background: var(--lanes-ink, #0B0D12); color: #fff; }

.lanes-ds__stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 0 0 16px; }
.lanes-ds__stat { background: var(--lanes-ink, #0B0D12); color: #fff; padding: 16px 18px 14px; border-top: 4px solid var(--lanes-flag, #FFD400); display: flex; flex-direction: column; gap: 2px; }
.lanes-ds__num { font-family: var(--lanes-display, "Barlow Condensed", sans-serif); font-weight: 800; font-size: 30px; line-height: 1; }
.lanes-ds__lbl { font-family: var(--lanes-display, "Barlow Condensed", sans-serif); font-weight: 700; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: rgba(255, 255, 255, .62); }

/* Rankings: track tabs + sort */
.lanes-ds__tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 12px; }
.lanes-ds .lanes-ds__tabs a { display: inline-flex; align-items: center; height: 40px; padding: 0 16px; border: 2px solid var(--lanes-ink, #0B0D12); background: #fff; color: var(--lanes-ink, #0B0D12); text-decoration: none; font-family: var(--lanes-display, "Barlow Condensed", sans-serif); font-weight: 700; font-size: 15px; letter-spacing: .08em; text-transform: uppercase; }
.lanes-ds .lanes-ds__tabs a:hover { background: var(--lanes-ink, #0B0D12); color: #fff; }
.lanes-ds .lanes-ds__tabs a.is-active { background: var(--lanes-blue, #0019FF); border-color: var(--lanes-blue, #0019FF); color: #fff; }
.lanes-ds__sort { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 0 0 14px; font-family: var(--lanes-display, "Barlow Condensed", sans-serif); font-weight: 700; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: var(--lanes-muted, #5B6070); }
.lanes-ds .lanes-ds__sort a { color: var(--lanes-ink, #0B0D12); text-decoration: none; padding: 4px 8px; border-bottom: 2px solid transparent; }
.lanes-ds .lanes-ds__sort a:hover { border-bottom-color: var(--lanes-ink, #0B0D12); }
.lanes-ds .lanes-ds__sort a.is-active { color: var(--lanes-blue, #0019FF); border-bottom-color: var(--lanes-blue, #0019FF); }

.lanes-ds__panel { background: #fff; border: 1px solid var(--lanes-line, #DADDE5); border-top: 4px solid var(--lanes-blue, #0019FF); padding: 20px 22px 14px; margin: 0 0 16px; }
.lanes-ds__h3 { margin: 0 0 12px; font-family: var(--lanes-display, "Barlow Condensed", sans-serif); font-weight: 800; font-size: 24px; line-height: 1.05; text-transform: uppercase; }
.lanes-ds__scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.lanes-ds__table { border-collapse: collapse; width: 100%; font-size: 15px; font-variant-numeric: tabular-nums; }
.lanes-ds__table th, .lanes-ds__table td { padding: 9px 12px; border-bottom: 1px solid var(--lanes-line, #DADDE5); text-align: left; white-space: nowrap; vertical-align: middle; }
.lanes-ds__table th { font-family: var(--lanes-display, "Barlow Condensed", sans-serif); font-weight: 700; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: var(--lanes-muted, #5B6070); border-bottom: 2px solid var(--lanes-ink, #0B0D12); }
.lanes-ds__table tbody tr:last-child td { border-bottom: 0; }
.lanes-ds__table .is-name { font-weight: 600; white-space: normal; min-width: 180px; }
.lanes-ds__table .is-name a { color: var(--lanes-ink, #0B0D12); text-decoration: none; border-bottom: 1px solid transparent; }
.lanes-ds__table .is-name a:hover { border-bottom-color: var(--lanes-blue, #0019FF); }
.lanes-ds__table .is-name small { font-weight: 400; color: var(--lanes-muted, #5B6070); }
.lanes-ds__table .is-time { font-family: var(--lanes-display, "Barlow Condensed", sans-serif); font-weight: 800; font-size: 19px; }
.lanes-ds__table .is-time small { font-family: var(--lanes-body, Barlow, sans-serif); font-weight: 400; font-size: 12px; color: var(--lanes-muted, #5B6070); margin-left: 4px; }
.lanes-ds__table .is-pos { font-family: var(--lanes-display, "Barlow Condensed", sans-serif); font-weight: 800; font-size: 19px; color: var(--lanes-muted, #5B6070); }
.lanes-ds__table .is-big { font-family: var(--lanes-display, "Barlow Condensed", sans-serif); font-weight: 800; font-size: 19px; }
.lanes-ds__table .is-key { color: var(--lanes-blue, #0019FF); }
.lanes-ds__table .is-date { color: var(--lanes-muted, #5B6070); }
.lanes-ds__table .is-date a { color: var(--lanes-blue, #0019FF); }
.lanes-ds__dim { color: var(--lanes-muted, #5B6070); }
.lanes-ds__table tr.is-win td { background: rgba(255, 212, 0, .14); }
.lanes-ds__table tr.is-win .is-pos { color: var(--lanes-ink, #0B0D12); }
.lanes-ds__table--rank tr.is-top td { background: rgba(0, 25, 255, .05); }
.lanes-ds__table--rank tr.is-top-1 td { background: rgba(255, 212, 0, .18); }
.lanes-ds__table--rank tr.is-top .is-pos { color: var(--lanes-ink, #0B0D12); }
.lanes-ds__table--rank tr.is-top-1 .is-pos::after { content: " \1F3C6"; font-size: 14px; }
.lanes-ds .lanes-ds__link { font-family: var(--lanes-display, "Barlow Condensed", sans-serif); font-weight: 700; font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: var(--lanes-blue, #0019FF); text-decoration: none; }
.lanes-ds .lanes-ds__link:hover { text-decoration: underline; }
.lanes-ds__src { margin: 8px 0 0; font-size: 13px; color: var(--lanes-muted, #5B6070); }
.lanes-ds__src a { color: var(--lanes-blue, #0019FF); }

@media (max-width: 760px) {
	.lanes-ds__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.lanes-ds__form { flex-direction: column; }
	.lanes-ds .lanes-ds__btn { width: 100%; }
	.lanes-ds__panel { padding: 16px 14px 10px; }
	.lanes-ds__table { font-size: 14px; }
	.lanes-ds__table th, .lanes-ds__table td { padding: 8px 8px; }
	.lanes-ds__table .is-name { min-width: 140px; }
}
