@font-face{font-family:Barlow;src:url('assets/display.ttf') format('truetype');font-display:swap;font-weight:800}@font-face{font-family:Han;src:url('assets/chinese.otf') format('opentype');font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#1c292d;background:#f4efdf;font-family:Arial,Han,sans-serif;font-size:15px;line-height:1.5}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button, .button{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:3px solid #ed9a32;outline-offset:4px}button:disabled{cursor:default;opacity:.5}[hidden]{display:none!important}svg{width:24px;height:24px;flex:none}.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;padding:0;clip:rect(0,0,0,0);overflow:hidden;white-space:nowrap}.skip:focus{position:fixed;z-index:30;background:#fff;padding:12px}.site-header{min-height:92px;background:#1c292d;color:#f9f1db;display:flex;gap:24px;align-items:center;padding:16px max(28px,calc((100vw - 1280px)/2));border-bottom:3px solid #cf4b2a}.brand{display:flex;gap:12px;align-items:center;flex-shrink:0}.brand img{display:block;border-radius:5px;width:56px;height:56px;object-fit:contain}.brand>span{font:800 23px/1 Barlow,Han,sans-serif;letter-spacing:.7px}.brand small{display:block;font:10px/1.5 Arial,Han,sans-serif;letter-spacing:2px;color:#aeb9ad;margin-top:7px}.header-links{display:flex;gap:8px;margin-left:auto}.social{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 13px;font-size:12px;line-height:1;font-weight:bold;border:1px solid #74807a;min-height:42px;white-space:nowrap}.social:hover{background:#384840}.social svg{width:20px;height:20px}.social b{font-size:17px;font-weight:normal;margin-left:4px}.social.kofi{background:#cd4c2c;border-color:#cd4c2c;color:#fff5e7}.social.kofi:hover{background:#b43d21}.preferences{display:flex;align-items:center;gap:12px}.language{display:flex;border:1px solid #74807a;padding:3px}.language button{color:#f9f1db;background:none;border:0;padding:5px 7px;font-size:11px;line-height:1.4}.language button[aria-pressed=true]{background:#f4efdf;color:#1c292d;font-weight:bold}.music{display:flex;gap:6px;align-items:center;color:#f9f1db;background:transparent;border:0;padding:0;font:10px/1.2 Arial,Han,sans-serif;min-height:38px;white-space:nowrap}.music svg{width:18px;height:18px}.hero{max-width:1400px;margin:auto;position:relative;min-height:610px;isolation:isolate;overflow:hidden;background:#f3ebd7}.hero-art{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 54%}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#f3ebd770 0%,transparent 50%)}.hero-copy{padding:42px 0 42px max(36px,calc((100% - 1200px)/2));max-width:540px}.eyebrow{display:flex;align-items:center;gap:8px;font-size:10px;font-weight:bold;letter-spacing:1.8px;line-height:1.5;text-transform:uppercase}.eyebrow i{width:7px;height:7px;background:#cd4c2c;border-radius:50%}.hero h1{font:italic 800 clamp(80px,9vw,126px)/.8 Barlow,Han,sans-serif;letter-spacing:-2px;margin:34px 0 23px;color:#1c292d}.hero h1 span{display:block;font:800 22px/1.3 Han,Arial,sans-serif;letter-spacing:9px;margin-top:17px;color:#bf492d}.hero h2{font:800 48px/.95 Barlow,Han,sans-serif;letter-spacing:-.5px;margin:0 0 17px}.hero-copy>p{font-size:14px;line-height:1.7;max-width:340px;margin:0 0 24px;color:#43504c}.hero-actions{display:flex;gap:9px;align-items:center}.button{display:inline-flex;gap:25px;justify-content:center;align-items:center;min-height:48px;padding:12px 21px;font:800 21px/1.1 Barlow,Han,sans-serif;border:1px solid #1c292d;border-radius:0;text-align:center}.button.primary{background:#cc4c2b;color:#fff6e7;border-color:#cc4c2b;box-shadow:3px 3px 0 #1c292d}.button.primary:hover{background:#b53b1d;transform:translateY(-1px)}.button.secondary{background:#f3ebd7d9;color:#1c292d}.button.secondary:hover{background:#fff7df}.hero-note{font-size:9px;letter-spacing:1px;margin-top:22px;color:#566256}.hero-number{position:absolute;right:30px;top:15px;font:italic 800 84px/1 Barlow,sans-serif;color:#f9eed2b5;letter-spacing:-2px}.continue{display:block;color:#a43d23;font-weight:bold;font-size:12px;margin-top:20px;text-decoration:underline}.race-strip{display:flex;background:#cf4c2b;gap:24px;align-items:center;justify-content:center;padding:13px;color:#fff4de;border-top:2px solid #1c292d;border-bottom:2px solid #1c292d;font:800 23px/1 Barlow,Han,sans-serif;letter-spacing:.7px}.race-strip i{font-style:normal;font-size:16px;color:#1c292d}.track-section{max-width:1200px;margin:54px auto 60px;padding:0 28px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:24px}.section-heading h2,.how-title h2{font:800 48px/1 Barlow,Han,sans-serif;margin:10px 0 0;letter-spacing:-.4px}.section-heading>p{font-size:13px;line-height:1.6;width:330px;margin:0;color:#596458}.track-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.track-card{position:relative;border:1px solid #b1b4a3;background:#e9e5d2;transition:transform .15s;overflow:hidden;box-shadow:0 2px 0 #1c292d0a}.track-card:hover{transform:translateY(-4px);border-color:#cd4c2c}.track-card canvas{display:block;width:100%;height:auto;aspect-ratio:1.6;background:#d2d5b4;border-bottom:1px solid #b1b4a3}.track-card-top{display:flex;position:absolute;top:10px;left:12px;right:12px;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:1px;font-weight:bold}.track-card-top .medal{background:#f7f0dd;padding:2px 6px;color:#796637}.track-card-bottom{padding:13px}.track-card h3{font:800 25px/1 Barlow,Han,sans-serif;margin:0 0 9px}.track-card-bottom>div{display:flex;justify-content:space-between;font-size:10px;font-weight:bold;letter-spacing:.5px}.track-card-bottom .record{color:#a84227}.how-strip{display:flex;gap:55px;max-width:1144px;margin:0 auto 48px;padding:35px 0;border-top:2px solid #1c292d;border-bottom:1px solid #b1b4a3}.how-title{min-width:225px}.how-title h2{font-size:40px}.how-strip ol{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin:0;padding:0;list-style:none}.how-strip li>b{display:block;color:#c24c2a;font:800 28px/1 Barlow,sans-serif;margin-bottom:16px}.how-strip h3{font:800 22px/1.2 Barlow,Han,sans-serif;margin:0 0 8px}.how-strip p{font-size:12px;color:#5f685c;margin:0;line-height:1.7}.finish-note{max-width:1144px;margin:0 auto 56px;display:flex;align-items:center;gap:22px}.finish-note>span{font-size:38px;color:#cc4c2b}.finish-note p{font:800 28px/1.2 Barlow,Han,sans-serif;margin:0;flex:1}.finish-note .button{min-height:44px}footer{background:#1c292d;color:#e9e5d2;padding:27px max(28px,calc((100vw - 1144px)/2));display:flex;align-items:center;gap:28px;border-top:4px solid #cc4c2b}footer>div{margin-right:auto}footer b{font:800 24px/1 Barlow,sans-serif}footer div>span{display:block;font-size:10px;color:#aab5a3;margin-top:7px}footer nav{display:flex;gap:8px}footer small{font-size:9px;color:#aab5a3;white-space:nowrap}.game-body{background:#dfdfc9}.game-main{max-width:1130px;margin:0 auto;padding:24px 28px 34px}.game-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.back-link,.text-button{font-size:10px;font-weight:bold;letter-spacing:.7px}.back-link:hover{text-decoration:underline}.text-button{background:transparent;border:0;padding:8px 0 8px 8px}.game-heading h1{font:italic 800 36px/.8 Barlow,Han,sans-serif;margin:0;letter-spacing:-.5px}.game-heading h1>span{color:#c74a2a;font-size:22px;margin-left:5px}.cabinet{background:#1c292d;color:#f8f0d8;border:4px solid #1c292d;box-shadow:6px 6px 0 #b2b69f}.race-hud{display:flex;align-items:center;gap:22px;background:#1c292d;min-height:77px;padding:9px 17px 12px;border-top:3px solid #cc4c2b}.race-hud>div>span{display:block;font-size:9px;font-weight:bold;letter-spacing:1.5px;color:#aab5a3;margin-bottom:3px}.race-hud>div>b{display:block;font:800 31px/1 Barlow,Han,sans-serif}.race-hud .track-label{flex:1;min-width:0}.race-hud .track-label>b{font-size:25px}.race-hud .time-cell{min-width:144px}.race-hud .time-cell>b{font-variant-numeric:tabular-nums;font-size:40px}.race-hud .lap-cell b{color:#f0b754}.race-hud small{font-size:18px;color:#aab5a3}.race-hud .target-cell b{font-size:26px;color:#f0b754}.pause-button{border:1px solid #68776d;color:#f8f0d8;background:#293a38;display:grid;place-items:center;width:38px;height:40px;padding:7px}.pause-button:hover{background:#47544b}.track-wrap{position:relative;isolation:isolate;background:#d2d2ac;overflow:hidden;aspect-ratio:900/620}.track-wrap>canvas{display:block;width:100%;height:100%;object-fit:contain}.track-live{position:absolute;bottom:10px;left:14px;right:14px;display:flex;align-items:center;justify-content:space-between;pointer-events:none;font:800 15px/1.1 Barlow,Han,sans-serif;color:#eae7cd}.track-live>span{background:#1c292de8;border:1px solid #eeeece30;padding:7px 10px;min-width:90px;text-align:center}.track-live>span:last-child{color:#ffd68c}#countdown{position:absolute;inset:0;display:grid;place-items:center;font:italic 800 130px/1 Barlow,sans-serif;text-shadow:4px 4px 0 #1c292d;color:#f5b74e;pointer-events:none}.overlay{position:absolute;inset:0;z-index:10;background:#182b28a6;display:flex;justify-content:center;align-items:center;padding:20px;overflow-y:auto;overscroll-behavior:contain}.overlay-card{background:#f6eed9;color:#1c292d;padding:27px 30px;max-width:470px;width:100%;box-shadow:6px 6px 0 #142725;border-top:5px solid #c54b2b;text-align:center;max-height:100%;overflow-y:auto}.overlay-card .eyebrow{justify-content:center;color:#9c492e;font-size:9px;letter-spacing:1.5px}.overlay-card h2{font:italic 800 49px/.95 Barlow,Han,sans-serif;margin:12px 0 14px;letter-spacing:-.5px}.overlay-card p{font-size:13px;line-height:1.65;margin:10px 0 18px;color:#535e52}.overlay-card .button{width:100%;margin-top:7px;min-height:45px;line-height:1.2}.overlay-card .text-button{display:inline-block;font-size:11px;padding:13px 8px 0;letter-spacing:.2px}.medal-row{display:flex;justify-content:center;gap:16px;margin:20px 0;font-size:12px;line-height:1.6}.medal-row b{display:block;font:800 24px/1.2 Barlow,Han,sans-serif}.medal-row>div:first-child{color:#96752a}.medal-row>div:nth-child(2){color:#697573}.medal-row>div:last-child{color:#ae6239}.result-time{font:800 58px/1 Barlow,sans-serif;color:#be4828}.result-medal{display:inline-block;border:1px solid currentColor;font:800 21px/1.2 Barlow,Han,sans-serif;padding:6px 15px;color:#96752a;margin:0 0 10px}.result-sub{font:11px Arial,Han,sans-serif;color:#6e776a}.brief-controls{display:flex;justify-content:center;gap:7px;margin:18px auto}.brief-controls span{display:flex;flex-direction:column;gap:5px;padding:9px 17px;border:1px solid #afb4a0;font-size:10px;font-weight:bold}.brief-controls b{font:800 25px/1 Barlow,sans-serif}.rule-list{padding-left:20px;text-align:left;font-size:12px;line-height:1.7}.rule-list li{margin-bottom:9px}.control-deck{display:flex;justify-content:center;gap:26px;align-items:center;padding:16px 20px 11px;user-select:none;-webkit-user-select:none}.drive-control{touch-action:none;user-select:none;-webkit-user-select:none;display:flex;justify-content:center;align-items:center;gap:11px;border:1px solid #6e7b6b;background:#2e403d;color:#fbf0d5;height:64px;padding:10px 22px;box-shadow:0 3px 0 #0f2120}.drive-control.active,.drive-control:active{background:#536457;box-shadow:0 0 0 #0f2120;transform:translateY(2px)}.drive-control svg{width:34px;height:24px}.drive-control span{font:800 23px/1 Barlow,Han,sans-serif}.drive-control kbd{font:9px Arial,Han,sans-serif;color:#b3beac}.brake-group{display:flex;align-items:center;flex-direction:column;gap:6px}.brake-group>span{font-size:8px;color:#9caa9a;letter-spacing:.5px}.drive-control.brake{background:#c54b2b;border-color:#e97e48;min-width:190px;flex-direction:column;gap:6px}.drive-control.brake.active,.drive-control.brake:active{background:#9d361e}.drive-control.brake kbd{color:#f6c6a5}.race-tools{display:flex;justify-content:center;gap:20px;align-items:center;padding:10px 16px 14px;border-top:1px solid #55655855;font-size:9px;color:#acb8a6}.race-tools button{padding:5px 0;color:inherit;background:none;border:0;font-size:9px;font-weight:bold;letter-spacing:.5px}.race-tools button:hover{color:#fff3d7}.race-tools>span{margin-left:auto;font-size:8px}.race-bottom{display:flex;justify-content:space-between;gap:28px;margin-top:22px}.race-bottom>div{font:800 24px/1.3 Barlow,Han,sans-serif;max-width:43%}.race-bottom>p{max-width:420px;font-size:11px;color:#5c6858;margin:0;line-height:1.7}.best-new{color:#b14325}.overlay-card .rules-return{margin-top:12px}.overlay-card .confirm-row{display:flex;gap:10px}.confirm-row .button{width:50%}body:has(.overlay:not([hidden])) .drive-control{opacity:.5}
@media(min-width:1500px){.hero{border-left:1px solid #c9c5ab;border-right:1px solid #c9c5ab}}
@media(max-width:1100px){.site-header{padding:14px 24px;gap:18px}.brand>span{font-size:20px}.brand small{font-size:9px;letter-spacing:1px}.brand img{width:49px;height:49px}.preferences{gap:10px}.music span{display:none}.hero-copy{padding-left:34px;max-width:470px}.hero{min-height:580px}.hero h1{font-size:105px}.hero h2{font-size:43px}.hero-copy>p{max-width:300px}.hero-actions .button{font-size:19px;padding:12px 17px;gap:14px}.how-strip,.finish-note{margin-left:28px;margin-right:28px}.how-strip{gap:30px}.how-title{min-width:180px}.how-title h2{font-size:35px}footer{flex-wrap:wrap}footer small{display:none}}
@media(max-width:760px){.site-header{padding:12px 16px;gap:10px;flex-wrap:wrap;min-height:0}.brand{gap:9px;flex:1}.brand img{width:44px;height:44px}.brand>span{font-size:21px}.brand small{font-size:8px;letter-spacing:1.1px;margin-top:5px}.header-links{order:3;margin-left:0;flex-basis:100%;gap:8px}.header-links .social{flex:1;min-height:35px;padding:7px 10px;font-size:11px}.header-links .social svg{width:18px;height:18px}.social b{margin-left:auto}.preferences{gap:9px}.music svg{width:19px;height:19px}.hero{min-height:660px}.hero-art{object-fit:cover;object-position:60% bottom;height:77%;top:auto;bottom:-20px}.hero:after{background:linear-gradient(180deg,#f4ecd8 0%,#f4ecd8 24%,#f4ecd8d9 42%,transparent 75%)}.hero-copy{padding:28px 22px 0;max-width:100%;position:relative;z-index:1}.hero .eyebrow{font-size:8px;letter-spacing:1.3px}.hero h1{font-size:85px;margin:24px 0 18px;letter-spacing:-1.5px}.hero h1 span{font-size:17px;letter-spacing:7px;margin-top:13px}.hero h2{font-size:36px;line-height:.96;margin-bottom:11px}.hero h2 br{display:none}.hero h2 span+span{margin-left:7px}.hero-copy>p{font-size:12px;line-height:1.7;max-width:340px;margin-bottom:18px}.hero-actions{gap:9px}.hero-actions .button{font-size:20px;min-height:44px;padding:10px 15px}.hero-number{font-size:65px;right:20px;top:auto;bottom:11px}.hero-note{font-size:7px;letter-spacing:.8px;margin-top:18px}.continue{font-size:11px;margin-top:14px}.race-strip{justify-content:space-around;gap:10px;padding:11px;font-size:15px;letter-spacing:.1px}.race-strip span:nth-of-type(3),.race-strip i:nth-of-type(3){display:none}.race-strip i{font-size:10px}.track-section{margin:34px auto 36px;padding:0 17px}.section-heading{display:block;margin-bottom:20px}.section-heading .eyebrow{font-size:8px;letter-spacing:1.4px}.section-heading h2{font-size:36px;margin-top:7px}.section-heading>p{width:auto;max-width:320px;font-size:11px;margin-top:12px}.track-grid{grid-template-columns:repeat(2,1fr);gap:10px}.track-card-top{font-size:8px;top:8px;left:8px;right:8px}.track-card-bottom{padding:11px 9px}.track-card h3{font-size:21px;margin-bottom:7px}.track-card-bottom>div{font-size:8px}.track-card canvas{aspect-ratio:1.5}.how-strip{display:block;margin:0 17px 26px;padding:26px 0}.how-title h2{font-size:32px;line-height:1.1}.how-title h2 br{display:none}.how-strip ol{gap:15px;margin-top:24px}.how-strip li>b{font-size:24px;margin-bottom:11px}.how-strip h3{font-size:19px}.how-strip p{font-size:10px;line-height:1.65}.finish-note{margin:0 17px 32px;gap:12px;flex-wrap:wrap}.finish-note>span{font-size:32px}.finish-note p{font-size:25px}.finish-note .button{font-size:20px;margin-left:auto}.game-main{padding:18px 10px 26px}.game-heading{margin-bottom:13px;gap:5px}.game-heading h1{font-size:29px}.game-heading h1>span{font-size:18px;margin-left:3px}.back-link,.text-button{font-size:8px;letter-spacing:.2px}.cabinet{border-width:3px;box-shadow:3px 3px 0 #b2b69f;position:relative}.race-hud{min-height:66px;gap:12px;padding:8px 10px 9px;border-top-width:2px}.race-hud>div>span{font-size:7px;letter-spacing:.6px;margin-bottom:3px}.race-hud .track-label>b{font-size:19px}.race-hud>div>b{font-size:25px}.race-hud .time-cell{min-width:94px}.race-hud .time-cell>b{font-size:28px}.race-hud small{font-size:13px}.target-cell{display:none}.pause-button{height:30px;width:29px;padding:5px;flex-shrink:0}.pause-button svg{width:16px;height:16px}.track-wrap{isolation:auto;overflow:visible;position:static;aspect-ratio:900/620}.track-wrap>canvas{width:100%;height:auto;aspect-ratio:900/620}.track-live{bottom:auto;top:calc(66px + (100vw - 26px)*.6889 - 25px);left:9px;right:9px;font-size:11px}.track-live>span{padding:4px 6px;min-width:0}.overlay{top:66px;bottom:47px;padding:12px;align-items:center}.overlay-card{padding:18px 20px;max-width:390px;box-shadow:3px 3px 0 #142725}.overlay-card h2{font-size:39px;margin:10px 0}.overlay-card .eyebrow{font-size:8px;letter-spacing:.8px}.overlay-card p{font-size:11px;line-height:1.6;margin:9px 0 13px}.overlay-card .button{font-size:20px;min-height:41px;padding:10px 15px;margin-top:6px}.overlay-card .text-button{font-size:10px;padding-top:11px}.medal-row{gap:16px;margin:12px 0;font-size:9px}.medal-row b{font-size:21px}.brief-controls{margin:13px auto;gap:6px}.brief-controls span{font-size:9px;padding:7px 12px}.brief-controls b{font-size:22px}.rule-list{font-size:10px;line-height:1.6;padding-left:16px;margin:12px 0}.rule-list li{margin-bottom:6px}.result-time{font-size:47px}.result-medal{font-size:19px}.result-sub{font-size:10px}.control-deck{gap:11px;padding:13px 11px 9px;align-items:flex-start}.drive-control{height:69px;padding:8px 10px;gap:5px;flex:1;flex-direction:column}.drive-control svg{height:19px;width:30px}.drive-control span{font-size:18px}.drive-control kbd{display:none}.brake-group{flex:1.25;gap:6px}.drive-control.brake{width:100%;min-width:0;height:69px;gap:6px}.drive-control.brake span{font-size:23px}.brake-group>span{font-size:6px;white-space:nowrap;letter-spacing:0}.race-tools{gap:16px;padding:9px 11px;min-height:42px;flex-wrap:wrap;justify-content:space-between}.race-tools button{font-size:7px;letter-spacing:.2px}.race-tools>span{display:none}.race-bottom{display:block;margin:20px 6px 0}.race-bottom>div{font-size:22px;max-width:100%}.race-bottom>p{font-size:10px;margin-top:10px}.game-body footer{margin-top:0}#countdown{font-size:95px;top:70px;bottom:45px}footer{padding:23px 17px;gap:20px}footer>div{width:100%;display:flex;justify-content:space-between;align-items:center}footer>div b{font-size:22px}footer>div>span{font-size:9px;margin-top:0}footer nav{width:100%;gap:9px}footer .social{flex:1;font-size:10px;min-height:39px;padding:8px 10px}}
@media(max-width:360px){.brand>span{font-size:19px}.brand img{width:39px;height:39px}.brand small{font-size:7px}.preferences{gap:6px}.language button{padding:4px 5px;font-size:10px}.hero h1{font-size:75px}.hero h2{font-size:30px}.hero{min-height:640px}.hero-actions .button{font-size:18px;padding:10px 12px;gap:15px}.race-strip{font-size:13px;gap:6px}.track-card h3{font-size:18px}.race-hud{gap:8px;padding-left:7px;padding-right:7px}.race-hud .track-label>b{font-size:17px}.race-hud .time-cell{min-width:82px}.race-hud .time-cell>b{font-size:25px}.race-hud .lap-cell b{font-size:22px}.game-heading h1{font-size:26px}.control-deck{gap:8px;padding-left:9px;padding-right:9px}.race-tools{gap:9px}.overlay{padding:9px}.overlay-card{padding:15px 14px}.overlay-card h2{font-size:35px}.brief-controls span{padding:6px 10px}.how-strip ol{gap:12px}.how-strip h3{font-size:17px}.race-tools button{font-size:6px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

@media(max-width:760px){.overlay-card[data-screen="ready"] .brief-controls,.overlay-card[data-screen="ready"] .medal-row{display:none}.overlay-card[data-screen="ready"] h2{font-size:35px}.overlay-card[data-screen="ready"] p{margin:8px 0 12px}.overlay-card[data-screen="ready"] .text-button{padding-top:10px}}
