@import"https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&family=Orbitron:wght@400..900&family=Oswald:wght@200..700&display=swap";*{margin:0;padding:0;box-sizing:border-box;font-family:Oswald,sans-serif;font-optical-sizing:auto;font-style:normal;touch-action:manipulation;-webkit-user-select:none;-webkit-touch-callout:none;user-select:none}@font-face{font-family:mario_kart_f2;src:url(/fonts/mario_kart_f2.ttf)}@font-face{src:url(https://assets.codepen.io/4175254/DIN2014-DemiBold.ttf) format("truetype");font-family:"DIN 2014"}.canvas-container{width:100vw;height:100vh;display:flex;justify-content:center;align-items:center;-webkit-user-select:none;user-select:none}canvas{filter:saturate(1.4)}.loading-screen{position:fixed;top:0;left:0;width:100vw;height:100dvh;z-index:2;display:flex;justify-content:center;align-items:center;background:#fff}.loading-screen .background{position:fixed;top:0;left:0;width:100vw;height:100dvh;z-index:-1;object-fit:cover}.loading-screen .loading{font-family:"DIN 2014";font-weight:600;font-size:32px}.loading-screen .mention{position:absolute;bottom:15px;left:50%;transform:translate(-50%);text-align:center justify}.button-text-character{animation:fadeInMoveUp 1s cubic-bezier(.3,.8,.3,2.3) forwards;animation-delay:var(--delay);display:inline-block;transform:skew(-6deg);font-family:"DIN 2014";font-weight:600;text-shadow:#fff 1px 0 10px}.version{position:fixed;bottom:15px;font-family:"DIN 2014";color:#fff;font-weight:300}.version-black{position:fixed;bottom:15px;font-family:"DIN 2014";color:#000;font-weight:300}.disclaimer{position:fixed;bottom:40px;font-family:"DIN 2014";color:#000;font-weight:300}@keyframes fadeInMoveUp{0%,to{transform:translateY(0) skew(-6deg)}50%{transform:translateY(-5px) skew(-6deg)}}.coords{position:fixed;top:15px;left:15px;color:#fff;font-family:"DIN 2014";font-size:14px;background:#00000059;padding:6px 10px;border-radius:6px}.bike-overlay{position:fixed;top:52px;left:15px;color:#fff;font-family:"DIN 2014";font-size:14px;background:#00000059;padding:8px 10px;border-radius:6px;min-width:220px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.bike-overlay__header{font-size:12px;text-transform:uppercase;letter-spacing:.8px;opacity:.85;margin-bottom:4px}.bike-overlay__metrics{display:flex;flex-direction:column;gap:10px}.metric{display:flex;flex-direction:column}.metric__value{font-size:28px;font-weight:800;line-height:1.1}.metric__label{font-size:11px;letter-spacing:.4px;opacity:.7;text-transform:uppercase}.bike-overlay__controls{display:flex;gap:6px;margin-top:8px}.bike-overlay button{font-family:"DIN 2014";font-size:12px;padding:4px 8px;border:1px solid rgba(255,255,255,.3);background:#ffffff1f;color:#fff;border-radius:4px;cursor:pointer;transition:background .15s ease,border-color .15s ease}.bike-overlay button:hover:not(:disabled){background:#fff3;border-color:#ffffff80}.bike-overlay button:disabled{opacity:.45;cursor:not-allowed}.bike-overlay__status{margin-top:4px;font-size:11px;opacity:.75}.settings-button{position:fixed;top:12px;right:72px;z-index:6;font-family:"DIN 2014";font-size:12px;padding:8px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.35);color:#fff;background:#00000073;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer;transition:all .2s ease}.settings-button:hover{background:#ffffff1f;border-color:#ffffff8c}.exit-button{position:fixed;top:12px;right:12px;z-index:6;font-family:"DIN 2014";font-size:12px;padding:8px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.35);color:#fff;background:#00000073;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer;transition:all .2s ease}.exit-button:hover{background:#ffffff1f;border-color:#ffffff8c}.help-button{position:fixed;right:12px;bottom:12px;z-index:6;min-width:48px;height:40px;padding:0 12px;border-radius:12px;border:1px solid rgba(255,255,255,.35);background:#00000073;color:#fff;font-family:"DIN 2014";font-size:18px;font-weight:700;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:all .2s ease}.help-button:hover{background:#ffffff1f;border-color:#ffffff8c}.settings-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:7;display:flex;align-items:center;justify-content:center;background:#00000059;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.settings-modal{position:relative;width:min(440px,90vw);padding:22px 20px 18px;border-radius:12px;background:#0a0a0abf;border:1px solid rgba(255,255,255,.18);color:#fff;box-shadow:0 8px 32px #00000073}.settings-close{position:absolute;top:8px;right:8px;width:32px;height:32px;border-radius:8px;border:1px solid rgba(255,255,255,.3);background:#ffffff14;color:#fff;font-size:18px;line-height:1;cursor:pointer;transition:all .2s ease}.settings-close:hover{background:#ffffff29;border-color:#ffffff80}.help-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:7;display:flex;align-items:center;justify-content:center;background:#00000059;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.help-modal{position:relative;width:min(520px,92vw);padding:28px 24px 24px;border-radius:14px;background:#0a0a0ac7;border:1px solid rgba(255,255,255,.18);color:#fff;box-shadow:0 10px 34px #00000073}.help-content{display:flex;flex-direction:column;gap:16px;margin-top:12px}.help-section{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:12px 14px}.help-title{margin:0 0 6px;font-size:16px;letter-spacing:.3px}.help-body{margin:0;font-size:14px;line-height:1.45;color:#ffffffe6}.help-actions{display:flex;justify-content:center;margin-top:18px}.help-done{padding:10px 18px;border-radius:10px;border:1px solid rgba(255,255,255,.35);background:#ffffff1a;color:#fff;font-family:"DIN 2014";font-size:14px;cursor:pointer;transition:all .2s ease}.help-done:hover{background:#ffffff2e;border-color:#ffffff8c}.settings-content{display:flex;flex-direction:column;gap:14px;align-items:center}.settings-row{width:100%;display:flex;justify-content:center}.settings-label{width:100%;max-width:320px;display:flex;flex-direction:column;gap:8px;text-align:center;font-size:14px;letter-spacing:.3px;color:#ffffffe6}.settings-input{width:100%;padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.25);background:#ffffff14;color:#fff;font-family:"DIN 2014"}.settings-input-with-action{position:relative;display:flex;align-items:center}.settings-input-with-action .settings-input{padding-right:40px}.settings-edit-button{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:1px solid rgba(255,255,255,.25);background:#ffffff1f;color:#fff;border-radius:8px;width:28px;height:28px;cursor:pointer;font-size:14px;line-height:1;display:grid;place-items:center;transition:all .2s ease}.settings-edit-button:hover{background:#fff3;border-color:#ffffff73}.map-adjust-controls{position:fixed;right:24px;bottom:24px;display:grid;grid-template-columns:repeat(3,40px);grid-template-rows:repeat(2,40px);gap:10px;place-items:center;z-index:20}.map-adjust-button{width:40px;height:40px;border-radius:12px;border:1px solid rgba(255,255,255,.25);background:#0a0a0a8c;color:#fff;font-family:"DIN 2014";font-size:18px;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.map-adjust-button:hover{background:#fff3;border-color:#ffffff73}.map-adjust-controls .map-adjust-button:nth-child(1){grid-column:2}.map-adjust-controls .map-adjust-button:nth-child(2){grid-column:1}.map-adjust-controls .map-adjust-button:nth-child(3){grid-column:3}.map-adjust-controls .map-adjust-button:nth-child(4){grid-column:2}.landing{width:100vw;height:100vh;display:flex;flex-direction:column;place-items:center;justify-content:center;background:radial-gradient(circle at 30% 30%,#f1f1f1,#fff 55%),#fff;color:#0b0b0b;text-align:center}.landing__title{font-family:mario_kart_f2,"DIN 2014",sans-serif;font-size:clamp(48px,10vw,96px);letter-spacing:2px;text-shadow:0 4px 14px rgba(0,0,0,.08);margin-bottom:18px}.landing__start{padding:12px 28px;font-family:"DIN 2014",sans-serif;font-size:16px;letter-spacing:1px;border-radius:999px;border:2px solid #0b0b0b;background:#0b0b0b;color:#fff;cursor:pointer;box-shadow:0 10px 30px #0000001f;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}.landing__start:hover{transform:translateY(-1px);box-shadow:0 14px 38px #0000002e;filter:brightness(1.08)}.landing__start:active{transform:translateY(0);box-shadow:0 10px 30px #0000001f}.landing__actions{padding:48px;display:flex;flex-direction:column;gap:8px}.loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#0009;color:#fff;font-family:"DIN 2014",sans-serif;font-size:18px;letter-spacing:1px;z-index:10}.settings-input:focus{outline:none;border-color:#ffffff8c}.toggle{position:relative;width:46px;height:24px;margin:0 auto}.toggle input{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;opacity:0;cursor:pointer;z-index:2}.toggle-slider{position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffff40;border-radius:16px;transition:background .2s ease}.toggle-slider:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .2s ease}.toggle input:checked+.toggle-slider{background:#fff6}.toggle input:checked+.toggle-slider:after{transform:translate(22px)}
