.checkpoint-welcome{color:#fff;width:100vw;max-width:none;height:100dvh;max-height:none;font-family:var(--font-ui,Tahoma,sans-serif);isolation:isolate;touch-action:auto;background:#152b48;border:0;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}.checkpoint-welcome::backdrop{background:#102039}.welcome-scene,.welcome-shade{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.welcome-scene{object-fit:cover;animation:.7s ease-out both welcome-scene-fade}.welcome-shade{background:linear-gradient(#08182fa1,#0000 44%,#07182fe8)}.welcome-leave{top:max(18px,env(safe-area-inset-top));z-index:2;color:#fff;font:inherit;background:#14305acc;border:0;border-radius:14px;align-items:center;gap:8px;padding:12px 16px;display:flex;position:absolute;left:20px}.welcome-leave svg,.welcome-continue svg{width:20px;height:20px}.checkpoint-welcome .welcome-leave,.checkpoint-welcome .welcome-continue{outline:none}.checkpoint-welcome button:focus-visible{filter:brightness(1.2)}.welcome-heading{text-align:center;text-shadow:0 2px 10px #071329;position:absolute;top:9%;left:20%;right:20%}.welcome-heading>span{letter-spacing:3px;color:#ffe399;font-size:11px}.welcome-heading h2{margin:12px 0;font-size:clamp(24px,4vw,42px)}.welcome-heading p{margin:0;font-size:14px}.welcome-host{aspect-ratio:1/2;filter:drop-shadow(0 12px 12px #07162f70);opacity:1;height:58%;position:absolute;bottom:12%;left:22%;transform:translate(0)}.welcome-sprite{background-position:100% 0;background-repeat:no-repeat;background-size:300% 100%;width:100%;height:100%}.welcome-fade .welcome-host{opacity:0;transform:translate(100vw)}.welcome-walk .welcome-host{animation:2.2s ease-out both welcome-enter}.welcome-walk .welcome-sprite{animation:.65s step-end infinite welcome-walk-frames}.welcome-preload{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.welcome-greeting{background:#102a50dc;border:1px solid #ffe7a37a;border-radius:22px;padding:20px 24px;font-size:clamp(16px,2vw,23px);line-height:1.7;position:absolute;top:40%;left:50%;right:8%;box-shadow:0 12px 36px #07162f40}.welcome-greeting span{color:#e2eafa;font-size:14px}.welcome-fade .welcome-greeting,.welcome-walk .welcome-greeting{visibility:hidden}.welcome-greet .welcome-greeting{animation:.4s ease-out both welcome-greeting-arrive}.welcome-award{text-align:center;position:absolute;bottom:8%;left:50%;right:8%}.welcome-award>.run-badge{width:90px;height:108px;margin:auto;animation:.6s ease-out run-badge-arrive}.welcome-award>p{color:#f4e8c8;font-size:12px}.welcome-continue{z-index:2;color:#263651;font:inherit;background:linear-gradient(120deg,#f9df9c,#d6af5c);border:0;border-radius:16px;align-items:center;gap:10px;padding:13px 30px;font-weight:700;display:inline-flex;position:relative;box-shadow:0 8px 25px #0003}.welcome-award .game-completion-fireworks{pointer-events:none;z-index:1;width:100vw;height:100dvh;position:fixed;inset:0}.welcome-paused .welcome-host,.welcome-paused .welcome-sprite{animation-play-state:paused}@keyframes welcome-enter{0%{opacity:0;transform:translate(80vw)}15%{opacity:1}to{opacity:1;transform:translate(0)}}@keyframes welcome-walk-frames{0%,to{background-position:0 0}50%{background-position:50% 0}}@keyframes welcome-scene-fade{0%{opacity:0}to{opacity:1}}@keyframes welcome-greeting-arrive{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:700px){.welcome-leave{padding:9px 12px;font-size:12px;left:12px}.welcome-heading{top:12%;left:5%;right:5%}.welcome-heading p{font-size:12px}.welcome-host{height:49%;bottom:18%;left:1%}.welcome-greeting{padding:14px;font-size:16px;top:36%;left:43%;right:4%}.welcome-greeting span{font-size:12px}.welcome-award{bottom:9%;left:43%;right:4%}.welcome-award>.run-badge{width:74px;height:89px}.welcome-continue{padding:12px 22px}.welcome-award>p{font-size:11px}}@media (max-height:550px){.welcome-heading{top:5%}.welcome-heading h2{margin:6px;font-size:22px}.welcome-host{height:65%;bottom:4%}.welcome-greeting{padding:12px;font-size:16px;top:28%}.welcome-award{bottom:4%}.welcome-award>.run-badge{width:65px;height:78px}.welcome-award>p{margin:5px}}@media (prefers-reduced-motion:reduce){.welcome-scene,.welcome-host,.welcome-sprite,.welcome-greeting,.welcome-award>.run-badge{animation:none!important}.welcome-host{transform:none!important}.welcome-award .game-completion-fireworks{display:none}}.welcome-image-loading{z-index:3;color:#f4e8c8;background:#102a50dd;border:1px solid #ffffff30;border-radius:20px;padding:18px 24px;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%);box-shadow:0 10px 30px #07162f25}.kilometer-pause{box-sizing:border-box;color:#233555;text-align:center;background:radial-gradient(at top,#fff0cb,#0000 55%),#fffdf9;border:0;border-radius:28px;width:min(480px,100vw - 32px);max-height:calc(100dvh - 32px);padding:0;overflow:auto;box-shadow:0 28px 100px #09162b66}.kilometer-pause::backdrop{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#101d38ad}.kilometer-pause-content{z-index:1;padding:30px 28px 20px;position:relative}.kilometer-eyebrow{letter-spacing:1.7px;color:#927337;font-size:10px}.kilometer-medal{color:#9f701c;background:linear-gradient(135deg,#fff5cf,#f3cf75);border-radius:50%;place-items:center;width:62px;height:62px;margin:20px auto 8px;display:grid;box-shadow:0 5px 20px #d7aa4930}.kilometer-medal svg{width:30px;height:30px}.kilometer-distance{letter-spacing:-2px;color:#ca254c;font-variant-numeric:tabular-nums;font-size:56px;font-weight:800;line-height:1.15}.kilometer-distance span{letter-spacing:0;margin-left:8px;font-size:22px}.kilometer-caption{color:#927337;margin-top:6px;font-size:12px;display:block}.kilometer-pause h2{margin:24px 0 8px;font-size:22px;line-height:1.5}.kilometer-pause p{color:#64718a;margin:0;font-size:14px;line-height:1.8}.kilometer-invitation{color:#345289;background:#edf2fb;border-radius:14px;margin:20px 0 16px;padding:14px;font-size:14px;line-height:1.7}.kilometer-pause small{color:#738096;font-size:11px;line-height:1.7;display:block}.kilometer-pause button{font:inherit;cursor:pointer;border:0}.kilometer-continue{color:#51390f;background:linear-gradient(110deg,#f4cf73,#e8b84d);border-radius:15px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:52px;margin:16px 0 4px;padding:12px 14px;text-decoration:none;display:flex;box-shadow:0 8px 18px #b8892828;font-weight:700!important}.kilometer-continue svg{width:19px;height:19px}.kilometer-pause button:focus{outline:none}.kilometer-pause button:focus-visible{outline-offset:3px;outline:2px solid #9f701c;text-decoration:none}.kilometer-pause button:disabled{opacity:.6;cursor:wait}.kilometer-pause>canvas{pointer-events:none;z-index:0;width:100vw;height:100dvh;position:fixed;inset:0}@media (max-height:700px){.kilometer-pause-content{padding:20px}.kilometer-medal{width:44px;height:44px;margin:12px auto 6px}.kilometer-distance{font-size:42px}.kilometer-pause h2{margin-top:16px;font-size:20px}.kilometer-invitation{margin:12px 0}}@media (prefers-reduced-motion:reduce){.kilometer-pause>canvas{display:none}}.kilometer-pause-footer{z-index:1;background:#fffdf9;padding:0 28px 20px;position:relative}.kilometer-pause-footer .kilometer-continue{margin:8px 0 0}@media (max-height:700px){.kilometer-pause-footer{padding:0 20px 20px}}
