.race-intro{--start-green:#36ed58;position:fixed;inset:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#060809;color:#fff;overflow:hidden;isolation:isolate}
.race-intro::backdrop{background:transparent}
.race-intro:not([open]){display:none}
.race-intro[open]{display:block}
html.race-loading,html.race-loading body{overflow:hidden}
.intro-scene,.intro-wave{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2;pointer-events:none}
.intro-wave{display:none;z-index:-1}
.intro-layout{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:clamp(20px,2.4vw,38px) 4.5vw 3.5vh}
.intro-header{display:flex;align-items:center;justify-content:space-between;gap:20px;z-index:1}
.intro-logo{width:clamp(160px,16.8vw,266px);height:auto}
.intro-audio{display:flex;align-items:center;justify-content:center;min-height:46px;padding:12px 20px;background:#080a0caa;border:1px solid #ffffff85;font:14px Arial,sans-serif;transition:background .2s}
.intro-audio:hover{background:#232323}
.intro-audio[aria-pressed=true]{border-color:var(--red);color:#fff}
.intro-center{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0;text-align:center;padding-bottom:4vh}
.start-lights{display:flex;justify-content:center;width:min(48vw,720px);gap:5px;margin-bottom:3vh}
.start-lights img{display:block;min-width:0;width:calc((100% - 20px)/5);height:auto;filter:brightness(.17) saturate(.35);transition:filter .15s}
.start-lights img.is-lit{filter:brightness(1) saturate(1.12)}
.race-intro.is-green .start-lights img{filter:hue-rotate(113deg) saturate(1.1) brightness(1.2)}
#intro-title{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;font-size:clamp(84px,10vw,158px);font-weight:700;font-style:italic;line-height:.91;letter-spacing:-.035em;margin:0;transform:skewX(-3deg)}
#intro-title>span{display:block}
.intro-heading-last{color:var(--red);font-size:1.17em}
.race-intro.is-countdown .intro-heading-first{font-size:.5em;line-height:1.3;letter-spacing:.01em}
.race-intro.is-countdown .intro-heading-last{font-style:normal;font-size:1.5em;line-height:.9;min-width:2ch;font-variant-numeric:tabular-nums}
.race-intro.is-green .intro-heading-last{color:var(--start-green)}
#intro-status{font-size:clamp(16px,1.6vw,24px);line-height:1.4;margin-top:22px;min-height:1.4em;padding-inline:10px}
.intro-progress{width:min(55vw,810px);margin-top:30px}
.intro-progress-label{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:10px;font:600 11px Arial,sans-serif;letter-spacing:2px;text-align:left}
.intro-progress-value{font-size:14px;letter-spacing:1px;min-width:4ch;text-align:right}
.intro-progress progress{display:block;width:100%;height:5px;border:0;border-radius:0;overflow:hidden;appearance:none;background:#393a3b;color:var(--red)}
.intro-progress progress::-webkit-progress-bar{background:#393a3b}
.intro-progress progress::-webkit-progress-value{background:var(--red)}
.intro-progress progress::-moz-progress-bar{background:var(--red)}
.race-intro.is-green progress::-webkit-progress-value{background:var(--start-green)}
.race-intro.is-green progress::-moz-progress-bar{background:var(--start-green)}
.intro-footer{display:flex;gap:28px;align-items:center;min-height:48px}
.intro-footer p{font:600 10px Arial,sans-serif;letter-spacing:3px;white-space:nowrap}
.intro-footer p span{color:var(--red);margin-inline:10px}
.intro-footer-rule{height:1px;background:#ffffff45;flex:1}
.intro-skip{background:transparent;padding:12px 0;white-space:nowrap;font-size:15px}
.intro-skip span{font-size:24px;margin-left:20px}
.intro-footer>img{width:105px;height:auto;opacity:.5}
.intro-replay{background:transparent;color:#b1b2b8;font:12px Arial,sans-serif;padding:8px 0;display:flex;gap:15px;align-items:center}
.intro-replay[hidden]{display:none}
.intro-replay:hover{color:#fff}
.race-intro.is-leaving .intro-layout{animation:intro-content-away .95s ease-in forwards;pointer-events:none}
.race-intro.is-leaving{animation:intro-fade-away 1.25s ease-in forwards;pointer-events:none}
.race-revealing main,.race-revealing .site-footer{animation:page-arrive 1.4s cubic-bezier(.16,1,.3,1) both;transform-origin:center top}
@keyframes intro-content-away{to{opacity:0;transform:perspective(1200px) translateZ(180px) translateY(-24px)}}
@keyframes intro-fade-away{0%,45%{opacity:1}100%{opacity:0}}
@keyframes page-arrive{from{opacity:.15;transform:scale(.95) translateY(24px)}to{opacity:1;transform:none}}
@media(max-width:760px){
 .intro-layout{padding:22px 24px;grid-template-rows:auto minmax(0,1fr) auto}
 .intro-header{gap:12px;align-items:center}
 .intro-logo{width:150px}
 .intro-audio{font-size:11px;padding:10px;min-height:42px;max-width:135px}
 .intro-center{padding-bottom:4vh}
 .start-lights{width:100%;gap:2px;margin-bottom:32px}
 .start-lights img{width:calc((100% - 8px)/5)}
 #intro-title{font-size:clamp(68px,17.8vw,120px)}
 #intro-status{font-size:16px;max-width:290px;min-height:45px;margin-top:24px}
 .intro-progress{width:100%;margin-top:28px}
 .intro-progress-label{font-size:9px;letter-spacing:1.5px}
 .intro-progress-value{font-size:12px}
 .intro-footer{gap:14px;justify-content:space-between;min-height:42px}
 .intro-footer p{font-size:8px;line-height:1.8;letter-spacing:1.3px;white-space:normal;max-width:170px}
 .intro-footer p span{margin-inline:4px}
 .intro-footer-rule,.intro-footer>img{display:none}
 .intro-skip{font-size:12px}
 .intro-skip span{font-size:20px;margin-left:8px}
}
@media(max-height:620px) and (min-width:761px){
 .intro-layout{padding-block:16px}
 .start-lights{width:330px;margin-bottom:10px}
 #intro-title{font-size:72px}
 #intro-status{font-size:15px;margin-top:12px}
 .intro-progress{margin-top:15px}
 .intro-center{padding-bottom:0}
 .intro-footer>img{width:60px}
}
@media(max-width:760px) and (max-height:650px){
 .intro-layout{padding-block:16px}
 .start-lights{width:80%;margin-bottom:18px}
 #intro-title{font-size:65px}
 #intro-status{margin-top:14px;min-height:23px}
 .intro-progress{margin-top:18px}
 .intro-center{padding-bottom:0}
}
@media(prefers-reduced-motion:reduce){
 .race-intro *,.race-revealing main,.race-revealing .site-footer{animation:none!important;transition:none!important}
 .race-intro.is-leaving{animation:none}
}
