/* Street to Sky: the sequel keeps the city visible and gives Sprinkles the stage. */
:root{--cream:#fff3dc;--pink:#ff83ae;--ink:#132633;--cyan:#9ef1e5;--gold:#ffce71}
[hidden]{display:none!important}
body{color:var(--cream);background:#132633;font-family:Inter,system-ui,sans-serif}
body>.hud,body.run2>.hud,body.hx-active>.hud{display:none!important}
.r2-nav{position:fixed;z-index:65;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:25px 36px;pointer-events:none;background:linear-gradient(#10202d80,transparent)}
.r2-nav>a{font-size:23px;font-weight:850;letter-spacing:-1px}.r2-nav>a span{color:var(--pink)}
.r2-nav a{color:var(--cream);text-decoration:none;pointer-events:auto}.r2-nav>div{display:flex;align-items:center;gap:23px;font-size:11px}
.r2-nav button,.r2-nav select{background:#14283499;border:1px solid #ffffff30;color:var(--cream);border-radius:7px;padding:8px 11px;font:inherit;pointer-events:auto}
.r2-quality-label{display:flex;align-items:center;gap:7px;color:#d0d9d8;pointer-events:auto}.r2-nav select option{background:#142834}
.r2-panel{background:linear-gradient(90deg,#0c202ff5 0%,#10232ddb 36%,#10232d40 65%,#10232d15);color:var(--cream);padding:110px 7vw 65px;gap:14px}
.r2-menu{align-items:flex-start;text-align:left;overflow:auto;justify-content:center}
.r2-menu-copy{max-width:540px;width:100%;position:relative}
.r2-kicker{font-size:10px;letter-spacing:.22em;font-weight:700;color:var(--cyan);display:flex;align-items:center;gap:9px}.r2-kicker span{width:6px;height:6px;background:var(--cyan);border-radius:50%;box-shadow:0 0 14px var(--cyan)}
.r2-title{font-size:clamp(66px,8.5vw,126px);font-weight:850;letter-spacing:-.075em;line-height:.89;margin:26px 0 17px}
.r2-title b{color:var(--pink);text-shadow:none;font-weight:850}.r2-number{display:inline-block;color:var(--gold);font-size:1.05em;margin-left:12px;transform:rotate(-9deg)}
.r2-sub{font-size:12px;letter-spacing:.38em;font-weight:750;color:var(--cream)}.r2-sub i{font-size:10px;color:var(--pink);font-style:normal;margin:0 4px}
.r2-story{font-size:16px;line-height:1.7;color:#c7d0ce;margin:20px 0 24px;font-weight:400}
.mode-select-grid{grid-template-columns:1fr 1fr;gap:10px;margin:0 0 17px;max-width:480px}
.r2-mode-card{align-items:flex-start;text-align:left;padding:15px 16px;border:1px solid #ffffff26;border-radius:10px;background:#11233199;gap:9px;color:var(--cream)}
.r2-mode-card:hover{transform:translateY(-2px);box-shadow:none;border-color:var(--pink)}
.r2-mode-card.active{background:#ff83ae14;border-color:var(--pink);box-shadow:inset 0 0 0 1px #ff83ae33}
.r2-mode-card.flight.active{background:#ffce7114;border-color:var(--gold);box-shadow:inset 0 0 0 1px #ffce7133}
.mode-icon{font-size:9px;letter-spacing:.16em;color:var(--pink);filter:none}.flight .mode-icon{color:var(--gold)}.mode-title{font-size:12px;letter-spacing:.04em}.mode-desc{font-size:11px;line-height:1.65;color:#bdc9cd}
.r2-btn{font-size:13px;letter-spacing:.08em;margin:0;padding:19px 26px;border:0;border-radius:8px;background:var(--pink);color:#172a37;box-shadow:0 6px 25px #0002;min-height:52px;font-weight:850}
.r2-btn:hover{background:#ffabc7;transform:translateY(-1px)}.r2-btn:focus-visible,button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}
.r2-keys{font-size:10px;color:#b0bdbf;line-height:1.7;margin-top:13px;max-width:430px}.r2-best{font-size:10px;color:var(--gold);margin-top:16px;line-height:1.6}
.r2-credit{bottom:18px;left:7vw;right:7vw;font-size:9px;color:#9bafb4;text-align:left;line-height:1.7;max-width:740px}.r2-credit a{color:#c0d0d3}
.r2-menu-side{position:absolute;right:6vw;bottom:13vh;display:grid;gap:18px;max-width:290px;text-shadow:0 2px 8px #0008}
.r2-menu-side>span{font-size:9px;letter-spacing:.3em;color:var(--cyan)}.r2-menu-side>b{font-size:29px;line-height:1.3;letter-spacing:-.035em}.r2-menu-side small{font-size:8px;letter-spacing:.12em;color:#d0d8d8}
.r2-hud{top:92px;left:30px;right:auto;gap:6px;max-width:330px}.r2-stat{background:#10232dd9;border:1px solid #ffffff18;border-radius:8px;padding:10px 14px}.r2-stat span{font-size:8px;color:var(--pink);letter-spacing:.15em}.r2-stat b{font-size:21px;letter-spacing:-.04em}
.r2-where{font-size:11px;color:var(--cream);margin:8px 0 10px;font-weight:500}
.r2-objective,.r2-chase{flex-basis:100%;background:#10232dd9;border:1px solid #ffffff18;border-radius:9px;padding:14px 16px;display:grid;gap:8px;width:260px}
.r2-objective>span,.r2-chase>span{font-size:8px;letter-spacing:.18em;color:var(--cyan)}.r2-objective b{font-size:14px;font-weight:650}.r2-objective small,.r2-chase small{font-size:10px;color:#d0d9d9}
.r2-chase{position:fixed;bottom:28px;left:30px;width:260px;box-sizing:border-box}.r2-chase>span{color:var(--gold)}
.r2-meter{height:3px;background:#ffffff20;border-radius:4px;overflow:hidden}.r2-meter i{display:block;width:0;height:100%;background:var(--cyan);transition:width .25s}.r2-chase .r2-meter i{background:var(--gold)}
.game-switch-btn{left:auto;right:91px;top:80px;transform:none;background:#112735df;border:1px solid #ffce7170;box-shadow:none;color:var(--gold);font-size:10px;padding:13px 18px;min-height:42px}
.game-switch-btn:hover{transform:translateY(-1px);box-shadow:none}.game-switch-btn:disabled{opacity:.5}
.r2-pause-button{position:fixed;right:35px;top:80px;z-index:65;border:1px solid #ffffff40;background:#112735df;color:var(--cream);border-radius:50%;width:42px;height:42px;font-weight:800;cursor:pointer}
.r2-banner{background:#ff83aee8;color:#132633;font-size:16px;letter-spacing:.04em;border-radius:7px;max-width:85vw;white-space:normal;text-align:center}
.r2-turn{font-size:19px;background:#142735c9;border-radius:8px;padding:13px 20px;color:var(--gold);top:23%;z-index:45}
.r2-count{color:var(--cream);font-size:110px;text-shadow:0 4px 20px #0005;top:32%}
.r2-pause-panel{z-index:100;background:#0c202fe8;backdrop-filter:blur(12px);align-items:center;justify-content:center;text-align:center}.r2-pause-panel .r2-title{font-size:clamp(45px,7vw,86px);letter-spacing:-.06em}.r2-text-btn{background:none;border:0;color:var(--cream);font:inherit;font-size:12px;padding:12px;cursor:pointer;text-decoration:underline;text-underline-offset:5px}
.r2-flight-card{position:fixed;top:94px;left:30px;z-index:45;background:#10232ddd;border:1px solid #ffce7140;border-radius:10px;padding:17px 20px;width:225px;display:grid;gap:10px;pointer-events:none}.r2-flight-card>span{font-size:9px;letter-spacing:.2em;color:var(--gold)}.r2-flight-card>b{font-size:30px;letter-spacing:-.05em}.r2-flight-card>small{font-size:10px;color:#cad4d5}.r2-flight-card .r2-meter i{background:var(--gold)}
.r2-flight-hint{position:fixed;bottom:15px;left:50%;transform:translateX(-50%);z-index:45;font-size:10px;color:var(--cream);background:#10232dcc;border-radius:20px;padding:11px 18px;white-space:nowrap}
#r2-gate-pointer{position:fixed;z-index:44;transform:translate(-50%,-50%);color:var(--gold);background:#10232dc9;border:1px solid #ffce7150;border-radius:25px;font-size:12px;font-weight:700;padding:7px 12px;pointer-events:none}
body.run2 #hx-welcome,body.run2 #hx-pause{display:none!important}body.hx-active #hx-welcome{display:none!important}
body.hx-active #hx-pause{display:none!important}.hx-weapons{opacity:.85}
#loading-overlay{background:#10232d}.loader-title{color:var(--cream)}.loader-bullet{background:var(--pink)!important;color:#10232d!important}.loader-fill{background:var(--pink)!important}
@media(max-width:760px){.r2-nav{padding:20px}.r2-nav>a{font-size:20px}.r2-nav>div{gap:10px}.r2-nav>div>a,.r2-quality-label{display:none}.r2-panel{padding:95px 25px 70px}.r2-menu-copy{max-width:440px}.r2-title{font-size:80px}.r2-story{font-size:14px;margin:15px 0 20px}.r2-menu-side{display:none}.r2-credit{left:25px;right:25px;font-size:8px}.r2-hud{left:15px;top:80px;max-width:255px}.r2-stat{padding:7px 10px}.r2-stat b{font-size:17px}.r2-objective{padding:10px 12px;max-width:220px}.r2-chase{left:15px;bottom:15px;width:200px;padding:10px 12px}.r2-pause-button{right:15px;top:77px}.game-switch-btn{right:67px;top:77px;padding:11px 12px;font-size:9px}.r2-flight-card{top:132px;left:15px;width:170px;padding:12px}.r2-flight-hint{font-size:8px;max-width:90vw;white-space:normal;text-align:center;bottom:8px}.r2-turn{font-size:13px;top:33%}}
@media(max-height:760px) and (min-width:761px){.r2-title{font-size:87px;margin:17px 0}.r2-story{margin:14px 0}.r2-menu{padding-top:85px}.r2-mode-card{padding:12px}.r2-menu-side{bottom:15vh}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

body.run2 #hx-notice,body.run2 #hx-target,body.run2 .hx-weapons{display:none!important}
@media(max-height:650px){.r2-menu{justify-content:flex-start;padding-top:90px}.r2-title{font-size:64px}.r2-menu .r2-credit{position:static;margin-top:24px}.r2-menu-side{display:none}.r2-menu{gap:8px}.r2-story{margin:12px 0}.r2-nav{padding-top:16px;padding-bottom:12px}}

@media(max-width:760px){.r2-hud{top:135px}}
.r2-beta{font-style:normal;margin-left:10px;padding:3px 9px;border-radius:7px;background:#ffd23f;color:#2a1630;letter-spacing:.16em;font-weight:800;font-size:10px}
.r2-note{max-width:440px;margin:8px 0 0;font-size:11px;line-height:1.55;color:#aebfc4}
.r2-sponsors{display:flex;flex-wrap:wrap;gap:6px 14px;justify-content:center;align-items:center;max-width:520px;margin:6px 0 0}.r2-sponsors[hidden]{display:none}
.r2-sponsors small{font-size:9px;letter-spacing:.2em;color:#9bafb4;width:100%;text-align:center}.r2-sponsors a{color:#ffd27a;font-size:13px;font-weight:700;text-decoration:none}.r2-sponsors a:hover{text-decoration:underline}
.r2-ad-card{z-index:70;background:rgba(6,10,16,.72)}
.r2-ad-box{width:min(440px,92vw);background:#121923;border:1px solid #2c3a4a;border-radius:18px;padding:22px 22px 16px;box-shadow:0 20px 60px #000a;display:flex;flex-direction:column;gap:12px;text-align:left}
.r2-ad-box>small{font-size:10px;letter-spacing:.22em;color:#ffb3cf;font-weight:700}
.r2-ad-head{display:flex;gap:14px;align-items:center}.r2-ad-head img{width:64px;height:64px;border-radius:14px;background:#fff;object-fit:contain}.r2-ad-head img[hidden]{display:none}
.r2-ad-head b{display:block;font-size:22px;line-height:1.15;color:#fff}.r2-ad-head span{display:block;margin-top:4px;font-size:14px;color:#c4d0d6;line-height:1.35}
.r2-ad-actions{display:flex;gap:10px;flex-wrap:wrap}.r2-ad-actions .r2-btn{margin:0;padding:12px 18px;font-size:14px;letter-spacing:.08em}
.r2-ghost{background:transparent!important;color:#e8f0f4!important;border:1px solid #4a5b6c!important;box-shadow:none!important}
#r2-ad-note{margin:0;font-size:12px;color:#9ff0c8;line-height:1.4}.r2-ad-foot{margin:0;font-size:11px;color:#8ea0aa}.r2-ad-foot a{color:#b9d0d8}
.r2-flight-gauges{position:fixed;left:30px;bottom:56px;z-index:45;background:#10232ddd;border:1px solid #83f7ff30;border-radius:12px;padding:14px 16px;width:225px;display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;pointer-events:none;font-family:Inter,system-ui,sans-serif}
.r2-flight-gauges[hidden]{display:none}
.r2-flight-gauges span{display:block;font-size:9px;letter-spacing:.2em;color:#9bafb4;font-weight:700}.r2-flight-gauges b{font-size:22px;color:#fff;font-variant-numeric:tabular-nums}.r2-flight-gauges em{font-style:normal;font-size:10px;color:#9bafb4;margin-left:4px}
.r2-flight-gauges .bar,.r2-flight-gauges .score{grid-column:1/-1}.r2-flight-gauges .score{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.r2-flight-gauges .score span{width:100%}.r2-flight-gauges .score small{font-size:11px;color:#ffd27a;font-weight:700}
#r2-f-boost{background:linear-gradient(90deg,#4fd8ff,#9ff3ff)}#r2-f-armour{background:linear-gradient(90deg,#ff5e8a,#ffb3c7)}
@media(max-width:760px){.r2-flight-gauges{left:12px;bottom:150px;width:190px;padding:10px 12px}.r2-flight-card{left:12px;top:78px;width:190px}}
/* ---- loading screen (27 Oct): ring, stages, tips, slow hint, no-WebGPU panel ---- */
.r2-loader{max-width:440px;text-align:center}
.r2-ring{position:relative;width:78px;height:78px;margin:0 auto 14px;border-radius:50%;border:14px solid #ff6b9d;box-shadow:0 0 28px #ff6b9d66,inset 0 0 0 3px #ffffff30;animation:r2spin 2.4s linear infinite}
.r2-ring i{position:absolute;width:10px;height:22px;border-radius:6px;left:50%;top:-18px;margin-left:-5px;transform-origin:5px 57px}
.r2-ring i:nth-child(1){background:#ffd23f;transform:rotate(0deg)}.r2-ring i:nth-child(2){background:#5ec8ff;transform:rotate(120deg)}.r2-ring i:nth-child(3){background:#7ee081;transform:rotate(240deg)}
@keyframes r2spin{to{transform:rotate(360deg)}}
.r2-load-sub{margin:2px 0 14px;font:11px Mono,monospace;letter-spacing:.3em;color:#83f7ff}
.r2-steps{display:flex;justify-content:center;gap:8px;list-style:none;margin:14px 0 6px;padding:0;flex-wrap:wrap}
.r2-steps li{font-size:11px;letter-spacing:.06em;color:#7f949b;border:1px solid #ffffff22;border-radius:20px;padding:5px 10px;transition:all .3s}
.r2-steps li.done{color:#9ff0c8;border-color:#9ff0c866}.r2-steps li.on{color:#10232d;background:#ffd27a;border-color:#ffd27a;font-weight:700}
.r2-loadnote{font-size:12px;color:#aebfc4;margin:8px 0 0;line-height:1.5}
.r2-tip{min-height:1.4em;font-size:13px;color:#ffd27a;margin:10px 0 0}
.r2-slow{font-size:12px;color:#ffb3cf;margin:10px 0 0;line-height:1.5}.r2-slow a{color:#fff}
.r2-slow[hidden],.r2-nogpu[hidden]{display:none}
.r2-nogpu{margin-top:8px;font-size:14px;color:#e8f0f4;line-height:1.5}
.r2-btn-link{display:inline-block;margin-top:10px;padding:12px 20px;border-radius:12px;background:#ff5e8a;color:#fff;font-weight:700;text-decoration:none}
#loading-overlay.r2-nogpu-on .r2-ring,#loading-overlay.r2-nogpu-on .loader-track,#loading-overlay.r2-nogpu-on .r2-steps,#loading-overlay.r2-nogpu-on .r2-loadnote,#loading-overlay.r2-nogpu-on #loading-status{display:none}
@media (prefers-reduced-motion:reduce){.r2-ring{animation:none}}
/* ---- leaderboards (27 Oct) ---- */
.r2-lb{margin-top:6px}
.r2-post{min-height:1.2em;max-width:460px;margin:6px 0 0;font-size:13px;color:#9ff0c8;text-align:center}.r2-post a{color:#ffd27a}
.r2-dialog{margin:auto;width:min(520px,94vw);max-height:86vh;border:1px solid #2c3a4a;border-radius:20px;background:#121923;color:#e8f0f4;padding:22px;font-family:Inter,system-ui,sans-serif}
.r2-dialog::backdrop{background:#000a}
.r2-dialog h2{margin:0 0 12px;font-size:24px}
.r2-tabs{display:flex;gap:8px;margin-bottom:10px;flex-wrap:wrap}.r2-tabs button{font:700 13px Inter,sans-serif;padding:9px 14px;border-radius:10px;border:1px solid #3a4b5c;background:transparent;color:#cfd9de;cursor:pointer}.r2-tabs button.on{background:#ffd27a;color:#10232d;border-color:#ffd27a}
.r2-rows{list-style:none;margin:8px 0;padding:0;max-height:46vh;overflow:auto}
.r2-rows li{display:grid;grid-template-columns:34px 1fr auto;gap:2px 10px;align-items:baseline;padding:8px 4px;border-bottom:1px solid #ffffff14}
.r2-rows .rk{color:#ffb3cf;font-weight:800}.r2-rows .nm{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.r2-rows .sc{color:#ffd27a;font-weight:800;font-variant-numeric:tabular-nums}
.r2-rows .tm{grid-column:2/4;font-size:12px;color:#9bafb4}.r2-rows .muted{grid-template-columns:1fr;color:#9bafb4}
.r2-dialog .r2-note{font-size:12px;color:#9bafb4;margin:8px 0 12px}.r2-dialog .r2-note a{color:#c0d0d3}
.r2-dialog .r2-btn{margin:0;padding:12px 22px;font-size:14px}
