#racetrack-page .race-container { max-width:none !important; width:100%; margin:0; padding:0 !important; border:0 !important; border-radius:0; background:transparent; box-shadow:none; overflow:visible; }
.race-heading { position:relative; background:#f85ca9; padding:32px 5% 92px; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:20px; }
.race-heading > div:first-child { display:contents; }
#racetrack-page .race-heading h1 { font:144px/1 'Anton',Impact,sans-serif; margin:0; position:absolute; left:5%; bottom:0; transform:translateY(50%); z-index:4; letter-spacing:0; white-space:nowrap; overflow-wrap:normal; }
#racetrack-page .race-controls { grid-column:2; grid-row:1; margin:0; display:flex; align-items:center; gap:20px; flex-wrap:wrap; justify-content:flex-end; }
#racetrack-page #start-race-btn[hidden] { display:none !important; }
#racetrack-page #start-race-btn { background:#171717; color:white; box-shadow:none; border:0; border-radius:4px; min-height:48px; padding:12px 24px; }
.race-state { font-size:15px; font-weight:700; min-width:120px; }
#racetrack-page .race-track { border:0; border-radius:0; background:#246951; padding:96px 3% 20px; overflow:hidden; }
#racetrack-page .lane { height:132px; border-bottom:3px solid #d4e5c5; background:#34765b; overflow:hidden; transition:background-color .2s; }
#racetrack-page .lane:nth-of-type(even) { background:#28644f; }
#racetrack-page .lane.finished { background:#1d503e; }
#racetrack-page .lane[data-placement="1"] { background:#496c32; }
#racetrack-page .lane-number { top:8px; left:10px; height:40px; width:40px; display:grid; place-items:center; background:var(--lane-color); opacity:1; color:#171717; font:28px 'Anton',Impact,sans-serif; border:2px solid #171717; }
#racetrack-page .lane[data-lane="1"] { --lane-color:#f85ca9; }
#racetrack-page .lane[data-lane="2"] { --lane-color:#ffda53; }
#racetrack-page .lane[data-lane="3"] { --lane-color:#aa8ce8; }
#racetrack-page .lane[data-lane="4"] { --lane-color:#72d9ce; }
#racetrack-page .lane[data-lane="5"] { --lane-color:#fa816d; }
.lane-name { position:absolute; top:12px; left:62px; font:700 14px 'DM Sans',sans-serif; color:#fff; }
#racetrack-page .racer { width:112px; height:100px; top:28px; left:64px; font-size:0; filter:none; z-index:4; }
.racer img { width:100%; height:100%; object-fit:contain; display:block; }
.race-track.is-running .lane:not(.finished) .racer img { animation:horse-stride .32s ease-in-out infinite alternate; }
.race-track.is-running .lane:nth-child(even) .racer img { animation-delay:-.16s; }
@keyframes horse-stride { from {transform:translateY(0) rotate(-3deg);} to {transform:translateY(-6px) rotate(2deg);} }
#racetrack-page .finish-line { right:calc(3% + 42px); top:96px; bottom:20px; width:12px; opacity:1; background:repeating-conic-gradient(#171717 0% 25%,#fff 0% 50%) 0 0/12px 12px; z-index:2; }
#racetrack-page .lane-finish-info { top:12px; left:auto; right:65px; transform:none; font:24px 'Anton',Impact,sans-serif; color:#fff; text-shadow:none; }
#racetrack-page .user-bet-icons { height:28px; top:auto; bottom:3px; left:8px; right:180px; max-width:none; gap:4px; z-index:5; }
#racetrack-page .bet-user { width:auto; flex:none; flex-direction:row; gap:3px; }
#racetrack-page .bet-user-img { width:24px; height:24px; }
#racetrack-page .bet-user-name { color:white; background:#171717; font-size:10px; margin:0; }
#racetrack-page .countdown-overlay { top:50%; font:130px 'Anton',Impact,sans-serif; color:#ffda53; text-shadow:4px 4px 0 #171717; }
#racetrack-page .rt-leaderboard-section { max-width:1200px; margin:0 auto; padding:40px 5% 64px; border:0; }
#racetrack-page .rt-leaderboard-section h2 { font:44px 'Anton',Impact,sans-serif; text-align:left; margin:0 0 24px; text-transform:uppercase; }
#racetrack-page .rt-list { background:transparent; border:0; box-shadow:none; }
#racetrack-page .rt-row { border:0; border-bottom:1px solid #171717; border-radius:0; background:transparent; box-shadow:none; }
#racetrack-page .rt-controls { justify-content:flex-start; flex-wrap:wrap; }
#racetrack-page .rt-tab-btn { border-radius:0; box-shadow:none; background:transparent; color:#171717; }
#racetrack-page .rt-tab-btn.active { background:#9d7fe8; border-color:#171717; }
@media(min-width:701px) and (max-width:999px) { #racetrack-page .race-heading h1 { font-size:120px; } }
@media(max-width:700px){
 .race-heading { padding:24px 16px 47px; grid-template-columns:minmax(0,1fr); gap:20px; }
 #racetrack-page .race-heading h1 { left:16px; font-size:64px; }
 #racetrack-page .race-controls { grid-column:1; grid-row:2; }
 #racetrack-page .race-controls { justify-content:space-between; width:100%; gap:8px; }
 #racetrack-page .race-track { padding:48px 8px 12px; }
 #racetrack-page .lane { height:112px; }
 #racetrack-page .racer { width:76px; height:76px; top:28px; left:48px; }
 #racetrack-page .lane-number { width:32px; height:32px; font-size:22px; left:4px; top:8px; }
 .lane-name { left:44px; top:10px; font-size:12px; }
 #racetrack-page .lane-finish-info { top:7px; right:10px; font-size:20px; }
 #racetrack-page .finish-line { top:48px; bottom:12px; right:32px; }
 #racetrack-page .user-bet-icons { right:100px; }
 #racetrack-page .bet-user-name { display:none; }
 #racetrack-page .rt-leaderboard-section h2 { font-size:32px; }
}
@media(max-width:380px) { #racetrack-page .race-heading h1 { font-size:54px; } }
.race-heading > site-copy-controls { grid-row:1; grid-column:1; justify-self:end; margin:0; }
@media(max-width:700px) { .race-heading > site-copy-controls { grid-row:1; } }
@media(prefers-reduced-motion:reduce){ .race-track.is-running .racer img { animation:none !important; } }
