@font-face{font-family:Saira Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:50% 125%;src:url(/assets/saira-vietnamese-wdth-normal-Dabr_kLY.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Saira Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:50% 125%;src:url(/assets/saira-latin-ext-wdth-normal-3Ba4ICIc.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Saira Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:50% 125%;src:url(/assets/saira-latin-wdth-normal-X2eA-qfZ.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Saira Variable;font-style:italic;font-display:swap;font-weight:100 900;font-stretch:50% 125%;src:url(/assets/saira-vietnamese-wdth-italic-52KPIsOu.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Saira Variable;font-style:italic;font-display:swap;font-weight:100 900;font-stretch:50% 125%;src:url(/assets/saira-latin-ext-wdth-italic-CqU2kHDy.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Saira Variable;font-style:italic;font-display:swap;font-weight:100 900;font-stretch:50% 125%;src:url(/assets/saira-latin-wdth-italic-wJlFlYW8.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink:#f4f6fb;--dim:#98a1b4;--faint:#f4f6fb24;--panel:#080a12b8;--red:#ff2d46;--blue:#3a6dff;--cyan:#63d8ff;--gold:#ffc63a;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--font:"Saira Variable", system-ui, sans-serif}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);font-family:var(--font);overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;background:#04050a;margin:0;overflow:hidden}.about{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}#game{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}#ui{pointer-events:none;font-variant-numeric:tabular-nums;position:fixed;inset:0}.screen{padding:calc(var(--safe-top) + 20px) calc(var(--safe-right) + 18px) calc(var(--safe-bottom) + 22px) calc(var(--safe-left) + 18px);pointer-events:auto;flex-direction:column;justify-content:center;align-items:center;display:none;position:absolute;inset:0}.screen.on{animation:.35s cubic-bezier(.2,.8,.2,1) rise;display:flex}.screen.dim{-webkit-backdrop-filter:blur(6px);background:radial-gradient(#04050a8c,#04050ae0)}@keyframes rise{0%{opacity:0;transform:translateY(12px)}}.title{background:linear-gradient(#04050ab3 0%,#04050a00 30% 55%,#04050ad9 100%);justify-content:space-between}.logo{text-align:center;letter-spacing:.01em;text-transform:uppercase;margin-top:4vh;font-style:italic;font-weight:850;font-stretch:62%;line-height:.82}.logo .a{font-size:clamp(64px,17vw,132px);display:block}.logo .b{background:linear-gradient(90deg, var(--red) 0%, #ff7088 46%, #7d9bff 54%, var(--blue) 100%);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(64px,17vw,132px);display:block}.tag{color:var(--dim);letter-spacing:.32em;text-transform:uppercase;margin-top:14px;font-size:15px;font-stretch:85%}.brand{flex-direction:column;align-items:center;margin-top:3vh;display:flex}.logo-img{filter:drop-shadow(0 8px 28px #00000080);width:min(330px,76vw);height:auto;display:block}.logo-img.small{width:min(220px,56vw);margin-bottom:22px}.cities{grid-template-columns:repeat(2,1fr);gap:8px;width:min(380px,100%);margin-bottom:10px;display:grid}.city{aspect-ratio:16/9;box-shadow:inset 0 0 0 1px var(--faint);opacity:.72;background:#0b0d14 50%/cover no-repeat;border-radius:4px;padding:0;transition:opacity .2s,box-shadow .2s;position:relative;overflow:hidden}.city:before{content:"";background:linear-gradient(#04050a00 40%,#04050acc 100%);position:absolute;inset:0}.city span{letter-spacing:.12em;text-transform:uppercase;font-size:13px;font-style:italic;font-weight:800;position:absolute;bottom:6px;left:9px}.city.on{opacity:1;box-shadow:inset 0 0 0 2px var(--ink), 0 8px 26px #63d8ff38}.city.loading:after{content:"Loading";letter-spacing:.16em;text-transform:uppercase;color:var(--cyan);font-size:11px;font-weight:700;animation:.9s ease-in-out infinite alternate pulse;position:absolute;top:8px;right:9px}@keyframes pulse{50%{opacity:.45}}.cities.busy .city:not(.loading){pointer-events:none}.dare{text-align:center;letter-spacing:.06em;color:var(--ink);background:#ffc63a1a;margin-bottom:2px;padding:9px 12px 8px;font-size:13px;font-weight:650;box-shadow:inset 0 0 0 1px #ffc63a66}.dare b{color:var(--gold);font-weight:800}.dare.won{background:#ffc63a38}.btn.share.hot{box-shadow:inset 0 0 0 1px var(--gold), 0 0 26px #ffc63a40}.daynight{width:min(380px,100%);box-shadow:inset 0 0 0 1px var(--faint);border-radius:4px;margin-bottom:12px;display:flex;overflow:hidden}.daynight button{letter-spacing:.16em;text-transform:uppercase;color:var(--dim);background:#0e111cb8;flex:1;justify-content:center;align-items:center;gap:8px;padding:9px 10px 8px;font-size:12px;font-weight:750;display:flex}.daynight button svg{width:16px;height:16px}.daynight button.on{background:var(--ink);color:#07080d}@media (min-width:760px){.cities{grid-template-columns:repeat(4,1fr);width:min(640px,100%)}}.menu{flex-direction:column;gap:12px;width:min(380px,100%);display:flex}.row{gap:10px;display:flex}.row>*{flex:1}button{font-family:var(--font);color:var(--ink);cursor:pointer;pointer-events:auto;-webkit-tap-highlight-color:transparent;border:0}.btn{letter-spacing:.12em;text-transform:uppercase;box-shadow:inset 0 0 0 1px var(--faint);background:#0e111cc7;padding:15px 18px 14px;font-size:17px;font-style:italic;font-weight:750;font-stretch:78%;transition:transform .12s,background .2s;position:relative;transform:skew(-9deg)}.btn>span{display:inline-block;transform:skew(9deg)}.btn:active{transform:skew(-9deg)scale(.97)}.btn.primary{background:var(--ink);color:#07080d;padding:18px;font-size:22px;box-shadow:0 12px 40px #63d8ff2e}.btn small{letter-spacing:.16em;color:var(--dim);margin-top:2px;font-size:11px;font-weight:600;display:block}.btn.primary small{color:#4a5164}.stats{width:min(380px,100%);color:var(--dim);letter-spacing:.16em;text-transform:uppercase;justify-content:space-between;margin-top:14px;font-size:13px;font-stretch:85%;display:flex}.stats b{color:var(--ink);letter-spacing:.04em;font-weight:700}.icon-btn{width:44px;height:44px;box-shadow:inset 0 0 0 1px var(--faint);background:#0e111c99;border-radius:50%;place-items:center;display:grid}.icon-btn svg{width:20px;height:20px}.corner{top:calc(var(--safe-top) + 14px);right:calc(var(--safe-right) + 14px);gap:10px;display:flex;position:absolute}.hud{pointer-events:none;display:none;position:absolute;inset:0}.hud.on{display:block}.hud .pause{top:calc(var(--safe-top) + 14px);left:calc(var(--safe-left) + 14px);pointer-events:auto;position:absolute}.score{top:calc(var(--safe-top) + 10px);text-align:center;text-shadow:0 2px 18px #0009;font-size:clamp(34px,9vw,52px);font-style:italic;font-weight:800;font-stretch:70%;position:absolute;left:0;right:0}.combo{top:calc(var(--safe-top) + 62px);text-align:center;color:var(--cyan);opacity:0;font-size:20px;font-style:italic;font-weight:800;transition:opacity .2s;position:absolute;left:0;right:0}.combo.on{opacity:1}.challenge{top:calc(var(--safe-top) + 92px);letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;color:var(--dim);background:#0a0c148c;border-radius:999px;align-items:baseline;gap:8px;padding:5px 12px 4px;font-size:12px;font-weight:700;display:flex;position:absolute;left:50%;transform:translate(-50%)}.challenge b{color:var(--ink);font-weight:800}.challenge.done,.challenge.done b{color:var(--gold)}.challenge.failed{opacity:.45}.coins{top:calc(var(--safe-top) + 16px);right:calc(var(--safe-right) + 16px);align-items:center;gap:7px;font-size:22px;font-style:italic;font-weight:750;font-stretch:75%;display:flex;position:absolute}.coin-dot{background:radial-gradient(circle at 35% 35%, #fff2c0, var(--gold) 45%, #b8840c);border-radius:50%;width:15px;height:15px;box-shadow:0 0 12px #ffc63a8c}.heat{top:calc(var(--safe-top) + 50px);right:calc(var(--safe-right) + 16px);gap:4px;display:flex;position:absolute}.heat i{background:var(--faint);width:9px;height:14px;transform:skew(-14deg)}.heat i.on:nth-child(odd){background:var(--red);box-shadow:0 0 10px var(--red)}.heat i.on:nth-child(2n){background:var(--blue);box-shadow:0 0 10px var(--blue)}.chase{top:calc(var(--safe-top) + 100px);background:var(--faint);opacity:0;border-radius:2px;width:min(220px,52vw);height:4px;transition:opacity .4s;position:absolute;left:50%;transform:translate(-50%)}.chase.on{opacity:1}.chase .fill{background:linear-gradient(90deg, var(--red), var(--blue));transform-origin:0;border-radius:2px;height:100%}.chase .label{text-align:center;letter-spacing:.3em;color:var(--red);text-transform:uppercase;font-size:11px;font-weight:700;position:absolute;top:8px;left:0;right:0}.boost{bottom:calc(var(--safe-bottom) + 22px);text-align:center;width:min(260px,60vw);position:absolute;left:50%;transform:translate(-50%)}.boost .bar{background:var(--faint);height:8px;overflow:hidden;transform:skew(-20deg)}.boost .bar .fill{background:linear-gradient(90deg, #2a7bff, var(--cyan));transform-origin:0;height:100%}.boost .label{letter-spacing:.28em;color:var(--dim);text-transform:uppercase;margin-top:6px;font-size:12px;font-style:italic;font-weight:700}.boost.ready .label{color:var(--cyan);animation:.9s ease-in-out infinite pulse}.powers{bottom:calc(var(--safe-bottom) + 70px);gap:10px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.power{letter-spacing:.05em;background:conic-gradient(var(--c) calc(var(--p) * 1turn), var(--faint) 0);border-radius:50%;place-items:center;width:38px;height:38px;font-size:11px;font-weight:800;display:grid;-webkit-mask:radial-gradient(circle,#0000 13px,#000 14px);mask:radial-gradient(circle,#0000 13px,#000 14px)}.power-wrap{width:38px;height:38px;position:relative}.power-wrap span{color:var(--c);place-items:center;font-size:10px;font-weight:800;display:grid;position:absolute;inset:0}.tricks{flex-direction:column;align-items:center;gap:4px;display:flex;position:absolute;top:34%;left:0;right:0}.trick{letter-spacing:.04em;text-transform:uppercase;text-shadow:0 3px 24px #000000b3;font-size:clamp(22px,6vw,34px);font-style:italic;font-weight:850;font-stretch:68%;animation:1.1s cubic-bezier(.2,.8,.2,1) forwards trick}.trick em{color:var(--cyan);margin-left:8px;font-size:.7em;font-style:italic}@keyframes trick{0%{opacity:0;transform:translateY(16px)scale(.8)}15%{opacity:1;transform:translateY(0)scale(1.06)}25%{transform:scale(1)}75%{opacity:1}to{opacity:0;transform:translateY(-26px)}}.banner{text-align:center;letter-spacing:.08em;text-transform:uppercase;font-size:clamp(26px,7.5vw,44px);font-style:italic;font-weight:850;font-stretch:64%;animation:2.2s forwards banner;position:absolute;top:22%;left:0;right:0}.banner small{letter-spacing:.32em;color:var(--dim);font-size:.38em;font-weight:700;display:block}.banner.red{color:var(--red);text-shadow:0 0 30px #ff2d4699}.banner.blue{color:var(--cyan);text-shadow:0 0 30px #63d8ff80}@keyframes banner{0%{opacity:0;letter-spacing:.4em}14%{opacity:1;letter-spacing:.08em}80%{opacity:1}to{opacity:0}}.hint{bottom:calc(var(--safe-bottom) + 112px);opacity:0;flex-direction:column;align-items:center;gap:10px;transition:opacity .3s;display:flex;position:absolute;left:0;right:0}.hint.on{opacity:1}.hint .gesture{border:2px solid #ffffffd9;border-radius:50%;width:64px;height:64px;animation:1.1s ease-in-out infinite swipe;box-shadow:0 0 24px #63d8ff73}.hint .text{letter-spacing:.22em;text-transform:uppercase;text-shadow:0 2px 14px #000000e6;font-size:15px;font-style:italic;font-weight:700}@keyframes swipe{0%{opacity:0;transform:translate(0)}20%{opacity:1}80%{transform:translate(var(--dx), var(--dy));opacity:1}to{transform:translate(var(--dx), var(--dy));opacity:0}}.flash{pointer-events:none;opacity:0;position:absolute;inset:0}.flash.go{animation:.5s ease-out flash}@keyframes flash{0%{opacity:.55}to{opacity:0}}.panel{background:var(--panel);width:min(420px,100%);max-height:100%;box-shadow:inset 0 0 0 1px var(--faint), 0 30px 80px #00000080;-webkit-backdrop-filter:blur(14px);padding:22px 20px;overflow-y:auto}.panel h2{letter-spacing:.06em;text-transform:uppercase;margin:0 0 16px;font-size:34px;font-style:italic;font-weight:850;font-stretch:64%}.over-title{letter-spacing:.04em;text-transform:uppercase;text-align:center;color:var(--red);text-shadow:0 0 40px #ff2d4673;font-size:clamp(52px,14vw,84px);font-style:italic;font-weight:850;font-stretch:60%;line-height:.9}.over-score{text-align:center;margin-top:8px;font-size:clamp(40px,11vw,64px);font-style:italic;font-weight:800;font-stretch:70%}.badge{letter-spacing:.18em;vertical-align:middle;color:#07080d;background:var(--gold);margin-left:8px;padding:3px 8px 2px;font-size:12px;font-weight:800;display:inline-block;transform:skew(-12deg)}.facts{color:var(--dim);letter-spacing:.12em;text-transform:uppercase;justify-content:center;gap:16px;margin:8px 0 18px;font-size:13px;display:flex}.facts b{color:var(--ink)}.missions{flex-direction:column;gap:10px;margin-bottom:18px;display:flex}.mission{box-shadow:inset 0 0 0 1px var(--faint);background:#ffffff0a;padding:10px 12px}.mission .text{font-size:14px;font-weight:600}.mission .bar{background:var(--faint);height:4px;margin-top:7px}.mission .bar div{background:var(--cyan);height:100%}.mission.done .bar div{background:var(--gold)}.mission.done .text:after{content:" ✓";color:var(--gold)}.rank{color:var(--dim);letter-spacing:.16em;text-transform:uppercase;margin-bottom:14px;font-size:13px}.rank b{color:var(--gold)}.swatches{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:20px;display:grid}.swatch{aspect-ratio:1;border-radius:50%;position:relative;box-shadow:inset 0 0 0 2px #ffffff26}.swatch.selected{box-shadow:0 0 0 3px var(--cyan), inset 0 0 0 2px #ffffff26}.swatch .price{color:#07080d;background:var(--gold);white-space:nowrap;padding:1px 6px;font-size:11px;font-weight:800;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)}.upgrade{border-top:1px solid var(--faint);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.upgrade .name{font-size:16px;font-weight:700}.upgrade .pips{gap:4px;margin-top:6px;display:flex}.upgrade .pips i{background:var(--faint);width:18px;height:5px;transform:skew(-20deg)}.upgrade .pips i.on{background:var(--cyan)}.buy{color:#07080d;background:var(--gold);min-width:96px;padding:9px 12px;font-size:14px;font-style:italic;font-weight:800;transform:skew(-9deg)}.buy:disabled{opacity:.35}.wallet{align-items:center;gap:8px;margin-bottom:16px;font-size:18px;font-weight:750;display:flex}.note{color:var(--dim);text-align:center;margin:0 0 14px;font-size:13px}.loading{pointer-events:auto;background:#04050a;flex-direction:column;justify-content:center;align-items:center;gap:18px;transition:opacity .6s;display:flex;position:absolute;inset:0}.loading.done{opacity:0;pointer-events:none}.loading .bar{background:var(--faint);width:160px;height:3px}.loading .bar div{background:var(--ink);width:0;height:100%;transition:width .2s}.error{text-align:center;max-width:340px;color:var(--dim);font-size:15px;line-height:1.5}.link{color:var(--dim);letter-spacing:.16em;text-transform:uppercase;text-underline-offset:3px;background:0 0;padding:0;font-size:13px;text-decoration:underline}.credits p{color:var(--dim);margin:0 0 14px;font-size:14px;line-height:1.55}.credits a{color:var(--ink)}.btn.small{flex:none;padding:8px 12px 7px;font-size:13px}a.btn{color:#07080d;text-align:center;text-decoration:none;display:block}.speedo{top:calc(var(--safe-top) + 66px);left:calc(var(--safe-left) + 16px);text-shadow:0 2px 14px #0009;align-items:baseline;gap:5px;font-style:italic;display:flex;position:absolute}.speedo .n{text-align:right;min-width:2.2em;font-size:30px;font-weight:800;font-stretch:70%}.speedo .unit{color:var(--dim);letter-spacing:.14em;text-transform:uppercase;font-size:12px;font-weight:700}
