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