:root{font-family:Arial,Helvetica,sans-serif;color:#fff3d4;background:#b9d8cb;font-synthesis:none}*{box-sizing:border-box}body{margin:0;overflow:hidden}canvas{display:block;width:100vw;height:100vh}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible{outline:3px solid #fff8db;outline-offset:5px}.hidden{display:none!important}#hud{position:fixed;inset:0;pointer-events:none;z-index:2}#hud button,#hud a{pointer-events:auto}.frame-top{position:absolute;top:35px;left:45px;right:45px;display:flex;align-items:flex-start;justify-content:space-between}.wordmark{font-size:28px;font-weight:1000;letter-spacing:-1.7px;text-decoration:none;color:#173c3c;line-height:.9}.wordmark span{display:block;font-size:8px;letter-spacing:4px;margin-top:9px;font-weight:800}.edition{position:absolute;left:50%;transform:translate(-50%);font-size:10px;font-weight:900;letter-spacing:2.5px;color:#244c47}.edition i{font-style:normal;color:#da6c37;margin-left:10px}.edition span{display:block;font-size:8px;letter-spacing:1.5px;margin-top:8px;opacity:.65}.sound-btn{border:1px solid #33594d55;background:#edf0d930;padding:10px 13px;font-size:9px;letter-spacing:1px;color:#254b43}.sound-btn b{margin:0 9px;font-size:8px}.sound-btn span{font-size:14px}.title-panel{position:absolute;left:6.2%;top:23%;color:#163b39;width:490px}.eyebrow{font-size:10px;letter-spacing:2.4px;font-weight:800;display:flex;align-items:center;gap:9px}.eyebrow>span{width:20px;height:3px;background:#db6c3c}h1{font-size:clamp(55px,6.7vw,103px);letter-spacing:-6px;line-height:.91;margin:23px 0 19px;font-weight:1000;font-stretch:condensed}h1 em{font-style:italic;color:#eb713e;letter-spacing:-5px}.title-panel>p{font-size:13px;letter-spacing:.35px;margin:24px 0 34px}.course-card{display:flex;align-items:center;width:335px;border-top:1px solid #2c514847;padding-top:17px;gap:14px}.course-number{font-size:31px;font-weight:900;letter-spacing:-2px;color:#d76639}.course-card b{font-size:10px;letter-spacing:1.4px}.course-card span:not(.course-arrow){display:block;font-size:8px;letter-spacing:1.8px;margin-top:6px;opacity:.65}.course-arrow{margin-left:auto;font-size:29px}.course-stats{display:flex;margin:23px 0 28px;gap:29px}.course-stats b{font-size:22px;font-weight:900;display:block}.course-stats span{font-size:7px;letter-spacing:1.05px;display:block;margin-top:5px}.ride-btn{border:0;background:#e97843;color:#173b36;box-shadow:4px 4px #1c423a;width:335px;height:60px;display:flex;align-items:center;padding:0 22px;font-size:15px;font-weight:900;letter-spacing:2px;transition:transform .15s,box-shadow .15s}.ride-btn:hover{transform:translate(2px,2px);box-shadow:2px 2px #1c423a;background:#f28a4c}.ride-btn>span{font-size:29px;margin-left:auto}.ride-btn>small{font-size:8px;margin-left:15px;border:1px solid #24473c60;padding:5px;letter-spacing:.7px}.title-hint{font-size:7px;letter-spacing:1.1px;margin-top:22px;opacity:.6}.title-bottom{position:absolute;bottom:28px;left:45px;right:45px;display:flex;justify-content:space-between;color:#20483e;font-size:8px;letter-spacing:1.8px;align-items:center}.title-bottom>div{display:flex;align-items:center;gap:12px}.title-bottom b{font-weight:400;opacity:.6;margin-left:10px}.tiny-square{width:6px;height:6px;background:#e97940}.seal{border:1px solid #29533f;font-size:20px;padding:6px;line-height:1;margin-left:10px}.race-left{position:absolute;left:45px;top:133px}.position{display:flex;align-items:center;gap:12px;color:#173d37}.position>b{font-size:95px;font-weight:1000;line-height:.9;letter-spacing:-7px}.position>span{font-size:23px;font-weight:900}.position small{font-size:8px;letter-spacing:1px}.leaderboard{margin-top:24px;width:185px;padding:12px;background:#173d36c9;color:#fff4d8;clip-path:polygon(0 0,100% 0,100% 91%,92% 100%,0 100%)}.leaderboard>div{display:flex;gap:8px;align-items:center;font-size:10px;padding:8px 0;border-bottom:1px solid #f4f2c415}.leaderboard>div:last-child{border:0}.leaderboard i{width:6px;height:6px}.leaderboard b{margin-left:auto;font-size:9px}.leaderboard .you{color:#ffd384;font-weight:900}.race-top{position:absolute;top:125px;left:50%;transform:translate(-50%);text-align:center;color:#143c38}.race-top>span{font-size:9px;letter-spacing:3px;font-weight:900}.race-top strong{display:block;font-size:41px;letter-spacing:-2px;font-variant-numeric:tabular-nums;margin:5px 0}.race-top small{display:block;font-size:9px;letter-spacing:1px}.corner{position:absolute;top:137px;right:45px;display:flex;flex-direction:column;align-items:center;width:140px;color:#1d443b}.corner>span{font-size:8px;letter-spacing:2px}.corner>b{font-size:65px;line-height:1.2}.corner>strong{font-size:8px;letter-spacing:1px;text-align:center}.speed-panel{position:absolute;bottom:90px;right:48px;width:190px;color:#fff2d2;text-shadow:1px 2px #183e3b50}.speed-label{font-size:9px;letter-spacing:3px;font-weight:900}.speed-panel>div:nth-child(2){display:flex;align-items:baseline;justify-content:space-between}.speed-panel b{font-size:90px;font-weight:1000;letter-spacing:-6px;line-height:1.05;font-variant-numeric:tabular-nums}.speed-panel>div>span{font-size:12px;font-weight:900}.boost-track{height:9px;transform:skew(-15deg);background:#183e3a8c;border:1px solid #f6e9c050;margin:10px 0}.boost-track i{display:block;height:100%;background:#f5b755;transition:width .1s}.speed-panel>small{font-size:8px;letter-spacing:2px;display:flex;justify-content:space-between}.speed-panel>small>span{opacity:.65;letter-spacing:1px}.progress-panel{position:absolute;bottom:90px;left:45px;width:290px;background:#153d3688;padding:15px 17px}.progress-panel>div{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.5px}.progress-panel svg{width:100%;height:55px;overflow:visible}.profile-fill{fill:#fbe6b315}.profile-stroke{fill:none;stroke:#f7d597;stroke-width:2}#route-dot{fill:#ed804b;stroke:#fff7dd;stroke-width:2}.progress-panel small{font-size:7px;letter-spacing:1px}.score-panel{position:absolute;left:50%;bottom:100px;transform:translate(-50%);text-align:center}.score-panel span{font-size:8px;letter-spacing:3px}.score-panel b{display:block;font-size:35px;font-weight:900;letter-spacing:2px}.race-controls{position:absolute;bottom:30px;left:50%;transform:translate(-50%);white-space:nowrap;font-size:9px;font-weight:700;letter-spacing:.6px;text-shadow:0 1px 3px #173d36}.race-controls span{opacity:.65;margin:0 17px 0 5px;font-size:7px}.trick-popup{position:absolute;top:38%;left:50%;transform:translate(-50%) rotate(-4deg);font-style:italic;font-size:43px;font-weight:1000;letter-spacing:-2px;color:#fff2c9;text-shadow:3px 3px #183f39}.trick-popup small{display:block;text-align:center;font-size:10px;letter-spacing:3px;margin-bottom:8px}.countdown{position:absolute;top:41%;left:50%;transform:translate(-50%,-50%) rotate(-6deg);font-size:170px;font-weight:1000;text-shadow:6px 6px #183f39;color:#ffcf78}.modal{pointer-events:auto;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#173d37f5;border:1px solid #ffe4a947;box-shadow:12px 12px #173d3740;padding:40px 45px;width:445px}.modal h2{font-size:57px;letter-spacing:-3px;line-height:.92;margin:23px 0 30px}.modal .eyebrow{color:#edb465;font-size:9px}.modal .ride-btn{width:100%}.modal p{font-size:10px;line-height:1.9;opacity:.65}.text-btn{background:none;border:0;color:#fff0cd;font-size:9px;letter-spacing:1px;margin:23px 0 5px;padding:0}.result-stats{display:flex;justify-content:space-between;margin-bottom:22px}.result-stats span{display:block;font-size:7px;letter-spacing:1px;opacity:.6}.result-stats b{display:block;font-size:22px;margin-top:6px}.result-row{display:flex;gap:16px;padding:11px 0;border-top:1px solid #ffedbc26;font-size:10px}.result-row b{color:#ecad6b}.result-row strong{margin-left:auto;font-size:9px}.results .ride-btn{margin-top:26px}.replay-label{position:absolute;bottom:190px;left:50%;transform:translate(-50%);font-size:12px;letter-spacing:3px;color:#ffca7f}.replay-label span{display:block;text-align:center;font-size:8px;margin-top:9px;color:#ffebc7}.loading{position:fixed;inset:0;background:#d6dec4;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#1e473d;pointer-events:auto;z-index:20}.loading .wordmark{font-size:50px}.loading p{font-size:9px;letter-spacing:4px;margin-top:24px}.loading>div{width:140px;height:3px;background:#e57844;animation:load 1s infinite alternate}@keyframes load{0%{transform:scaleX(.2)}to{transform:scaleX(1)}}@media(max-height:750px){.title-panel{top:20%}h1{font-size:73px}.title-panel>p{margin:18px 0 22px}.course-stats{margin:18px 0}.title-hint{margin-top:17px}.frame-top{top:25px}}@media(max-width:800px){.frame-top{left:22px;right:22px}.edition{display:none}.title-panel{left:7%;width:85%;top:22%}h1{font-size:70px}.title-bottom{left:22px;right:22px}.title-bottom b{display:none}.race-left{left:20px;top:110px}.leaderboard{width:145px}.race-top{top:105px}.corner{right:15px;top:110px;width:95px}.progress-panel{width:190px;left:20px}.speed-panel{right:22px;width:150px}.speed-panel b{font-size:72px}.score-panel{bottom:220px}.race-controls{font-size:7px;max-width:95%;white-space:normal;text-align:center;line-height:2}.modal{width:min(90%,445px);padding:30px}.wordmark{font-size:23px}}.player-label{position:fixed;z-index:2;pointer-events:none;transform:translate(-50%,-100%);font:900 8px Arial,sans-serif;letter-spacing:2px;color:#fff3cd;background:#244e43dd;padding:5px 8px;border-top:2px solid #f39b54}.player-label span{display:block;position:absolute;bottom:-9px;left:50%;transform:translate(-50%);color:#244e43;font-size:10px}@media(min-width:1000px)and (min-height:751px){.title-panel{width:700px;top:25%}h1{font-size:88px;letter-spacing:-5px}.title-panel>p{margin:24px 0 28px}}.effects-controls{position:absolute;right:45px;top:83px;display:flex;gap:8px;pointer-events:auto}.effects-controls button{border:1px solid #33594d55;background:#e4e8cfbb;color:#214b43;font:700 8px Arial,sans-serif;letter-spacing:1px;padding:8px 9px}.effects-controls b{margin-left:5px}.effects-controls kbd{font:inherit;margin-left:9px;opacity:.55}.effects-controls button:hover{background:#f3dbac}.effects-controls button:focus-visible{outline:2px solid #e97843;outline-offset:3px}@media(max-width:800px){.effects-controls{top:68px;right:20px}.effects-controls button{font-size:7px;padding:6px}.effects-controls kbd{margin-left:4px}}
