@font-face{font-family:Fraunces;src:url(../fonts/fraunces-italic.woff2) format("woff2");font-style:italic;font-weight:300 700;font-display:swap}@font-face{font-family:Outfit;src:url(../fonts/outfit.woff2) format("woff2");font-weight:300 800;font-display:swap}:root{--accent: #8ffbe8;--gold: #ffe08a;--ink: #04050f;--glass: rgba(14, 16, 38, .62);--line: rgba(255, 255, 255, .14);--sat: env(safe-area-inset-top, 0px);--sab: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html,body{height:100%;overflow:hidden;background:var(--ink);color:#fff;font-family:Outfit,system-ui,-apple-system,sans-serif;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none;overscroll-behavior:none}#gl{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none}#ui{position:fixed;inset:0;pointer-events:none;overflow:hidden}#ui button{pointer-events:auto;font:inherit;color:inherit;border:0;background:none;cursor:pointer}.hidden{display:none!important}.star{color:var(--gold);text-shadow:0 0 10px rgba(255,214,110,.9)}.chip{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 14px;border-radius:18px;background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font-weight:600;font-size:16px;font-variant-numeric:tabular-nums;letter-spacing:.02em}.icon-btn{width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;gap:5px;background:var(--glass)!important;border:1px solid var(--line)!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.icon-btn i{width:4px;height:14px;border-radius:2px;background:#fff}.icon-btn svg{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.icon-btn .spk{fill:#fff;stroke:none}.icon-btn .x,.icon-btn.muted .wave{display:none}.icon-btn.muted .x{display:block}.btn{display:block;width:100%;height:54px;border-radius:27px;font-weight:600!important;font-size:18px!important;letter-spacing:.04em;transition:transform .12s ease,filter .2s ease}.btn:active{transform:scale(.96)}.btn.primary{color:#06121a!important;background:linear-gradient(135deg,#fff 0%,var(--accent) 55%,color-mix(in srgb,var(--accent) 70%,#5b6bff) 100%)!important;box-shadow:0 0 0 1px #ffffff80 inset,0 8px 34px color-mix(in srgb,var(--accent) 55%,transparent)}.btn.ghost{height:44px;color:#ffffffb3!important;font-weight:400!important;font-size:15px!important}.btn.locked{background:var(--glass)!important;color:#fff!important;border:1px solid var(--line)!important;box-shadow:none}.btn.locked.cant{opacity:.6}#hud{position:absolute;inset:0;padding:calc(var(--sat) + 12px) 14px 0}.hud-top{display:flex;justify-content:space-between;align-items:flex-start}.score-wrap{position:absolute;left:0;right:0;top:calc(var(--sat) + 6px);text-align:center;pointer-events:none}#score{font-size:46px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.01em;text-shadow:0 2px 22px rgba(0,0,0,.6),0 0 26px color-mix(in srgb,var(--accent) 45%,transparent)}#score.bump{animation:bump .25s ease}@keyframes bump{40%{transform:scale(1.14)}}#where{margin-top:3px;font-size:13px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:#ffffff9e}.meters{position:absolute;left:0;right:0;top:calc(var(--sat) + 80px);display:flex;flex-direction:column;align-items:center;gap:8px}#combo{display:flex;align-items:center;gap:8px;font-weight:700;font-size:15px;transition:opacity .3s,transform .3s}#combo.off{opacity:0;transform:translateY(-6px)}#mult{color:#06121a;background:var(--accent);border-radius:10px;padding:1px 9px;font-size:16px;box-shadow:0 0 18px color-mix(in srgb,var(--accent) 70%,transparent)}#mult.bump{animation:bump .35s ease}#combo .bar{width:84px;height:4px;border-radius:2px;background:#ffffff2e;overflow:hidden}#comboBar{height:100%;width:100%;background:var(--accent);transform-origin:left}#comboN{min-width:22px;color:#fffc;font-variant-numeric:tabular-nums}#nova{position:relative;width:min(52vw,220px);height:7px;border-radius:4px;background:#ffffff21}#novaBar{height:100%;width:100%;border-radius:4px;transform-origin:left;transform:scaleX(0);background:linear-gradient(90deg,#ff9b54,#ffe08a,#fff);box-shadow:0 0 14px #ffd66ecc}#novaLabel{position:absolute;left:0;right:0;top:11px;text-align:center;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:#fff6}#nova.on #novaLabel{color:var(--gold);animation:blink .5s infinite alternate}#nova.on{box-shadow:0 0 22px #ffd66e8c}@keyframes blink{to{opacity:.45}}.pop{position:absolute;left:0;top:0;transform:translate(-50%,-50%);opacity:0;font-weight:700;font-size:18px;white-space:nowrap;text-shadow:0 2px 10px rgba(0,0,0,.7);pointer-events:none}.pop.go{animation:pop .95s cubic-bezier(.2,.8,.2,1) forwards}.pop.pts{color:#fff}.pop.ring{color:var(--accent);font-size:22px}.pop.dust{color:var(--gold);font-size:20px}.pop.mult{color:var(--accent);font-size:40px;text-shadow:0 0 24px var(--accent)}.pop.swift{font-family:Fraunces,serif;font-style:italic;font-weight:500;font-size:24px;color:#fff;text-shadow:0 0 16px var(--accent)}@keyframes pop{0%{opacity:0;transform:translate(-50%,-30%) scale(.5)}18%{opacity:1;transform:translate(-50%,-70%) scale(1.15)}70%{opacity:1}to{opacity:0;transform:translate(-50%,-190%) scale(1)}}#bestTag{position:absolute;left:0;top:0;font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);text-shadow:0 0 12px rgba(255,214,110,.8),0 1px 6px rgba(0,0,0,.8);will-change:transform}.pop.close{color:#ff7a9a;font-size:17px;letter-spacing:.12em;text-transform:uppercase}#banner{position:absolute;left:0;right:0;top:27%;text-align:center;opacity:0;pointer-events:none;padding:0 20px}#banner.show{animation:banner 3.2s ease forwards}#banner .num{font-size:12px;letter-spacing:.5em;text-transform:uppercase;color:var(--accent);margin-bottom:6px}#banner h2{font-family:Fraunces,serif;font-style:italic;font-weight:400;font-size:clamp(34px,10.5vw,54px);line-height:1.02;text-shadow:0 0 34px color-mix(in srgb,var(--accent) 70%,transparent),0 2px 18px rgba(0,0,0,.6)}#banner p{margin-top:8px;font-size:14px;letter-spacing:.22em;text-transform:uppercase;color:#ffffffb8}#banner.nova h2{font-family:Outfit,sans-serif;font-style:normal;font-weight:800;letter-spacing:.12em;background:linear-gradient(90deg,#ff9b54,#ffe08a,#fff,#ffe08a,#ff9b54);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none;filter:drop-shadow(0 0 18px rgba(255,200,90,.8))}#banner.nova.show{animation-duration:2s}@keyframes banner{0%{opacity:0;transform:translateY(14px) scale(.96);letter-spacing:.04em}14%{opacity:1;transform:none}78%{opacity:1}to{opacity:0;transform:translateY(-10px)}}#hint{position:absolute;left:0;right:0;bottom:calc(var(--sab) + 13%);text-align:center}#hint .pulse{width:78px;height:78px;margin:0 auto 12px;border-radius:50%;border:2px solid rgba(255,255,255,.85);display:flex;align-items:center;justify-content:center}#hint .pulse i{width:34px;height:34px;border-radius:50%;background:#fff;box-shadow:0 0 26px var(--accent)}#hint.hold .pulse{animation:press .9s ease-in-out infinite}#hint.release .pulse{animation:lift .7s ease-out infinite}#hint.wait .pulse{opacity:.45;transform:scale(.86)}#hint.wait .pulse i{transform:scale(1.25)}@keyframes press{0%,to{transform:scale(1)}50%{transform:scale(.82);box-shadow:0 0 0 14px #ffffff1f}}@keyframes lift{0%{transform:scale(.84);box-shadow:0 0 #ffffff80}to{transform:scale(1.12);box-shadow:0 0 0 26px #fff0}}#hint h3{font-size:30px;font-weight:800;letter-spacing:.22em;text-transform:uppercase;text-shadow:0 0 22px var(--accent),0 2px 12px rgba(0,0,0,.7)}#hint p{margin-top:4px;font-size:14px;letter-spacing:.1em;color:#fffc;text-shadow:0 2px 8px rgba(0,0,0,.8)}.screen{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;padding:calc(var(--sat) + 14px) 18px calc(var(--sab) + 18px);animation:fade .45s ease both}.screen.dim{justify-content:center;background:radial-gradient(ellipse at center,#04050f80,#04050fdb);pointer-events:auto;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.screen.out{animation:fadeOut .4s ease both}@keyframes fade{0%{opacity:0}}@keyframes fadeOut{to{opacity:0}}.logo{text-align:center}.logo h1{font-family:Fraunces,serif;font-style:italic;font-weight:400;font-size:clamp(54px,17.5vw,96px);line-height:1;letter-spacing:-.02em;background:linear-gradient(180deg,#fff 30%,var(--accent) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 26px color-mix(in srgb,var(--accent) 60%,transparent));padding:0 .12em .12em}.logo p{margin-top:-2px;font-size:13px;letter-spacing:.42em;text-transform:uppercase;color:#ffffffbf}#title{justify-content:space-between}.title-top{width:100%;display:flex;justify-content:space-between;align-items:center}#title .logo{margin-top:4vh;animation:rise 1s .1s cubic-bezier(.2,.8,.2,1) both}@keyframes rise{0%{opacity:0;transform:translateY(18px)}}.title-bottom{width:min(100%,360px);margin-top:auto;display:flex;flex-direction:column;align-items:center;gap:12px;animation:rise .9s .25s cubic-bezier(.2,.8,.2,1) both}.skins{width:100%;display:flex;align-items:center;justify-content:space-between}.arrow{width:48px;height:48px;font-size:34px!important;line-height:1;border-radius:50%;color:#ffffffd9!important}.arrow:active{background:#ffffff1f!important}.skin-info{text-align:center}#skinName{font-family:Fraunces,serif;font-style:italic;font-size:30px;line-height:1.1}#skinBlurb{font-size:13px;color:#ffffffa6;letter-spacing:.04em}#best{font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:#fff9;min-height:16px}#best b{color:#fff;font-weight:600}#missions,#overMissions{list-style:none;width:100%;display:flex;flex-direction:column;gap:6px}#missions li,#overMissions li{position:relative;display:flex;justify-content:space-between;align-items:center;gap:10px;overflow:hidden;padding:8px 12px;border-radius:12px;font-size:13px;background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}#missions li:before,#overMissions li:before{content:"";position:absolute;inset:0;width:var(--p, 0%);background:color-mix(in srgb,var(--accent) 22%,transparent);transition:width .9s .3s ease}#missions li span,#overMissions li span{position:relative}#missions li .rw,#overMissions li .rw{color:var(--gold);font-weight:600;white-space:nowrap}#overMissions li.done{border-color:var(--gold);box-shadow:0 0 18px #ffd66e59}#overMissions li.done:before{background:#ffd66e40}.panel{width:min(100%,350px);padding:26px 22px 16px;border-radius:28px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;background:linear-gradient(180deg,#1a1c3cd1,#0a0b1ce6);border:1px solid var(--line);box-shadow:0 30px 80px #0009,0 0 0 1px #ffffff0a inset;animation:panel .5s cubic-bezier(.2,.9,.25,1.1) both}.panel.small{gap:12px}.panel h2{font-family:Fraunces,serif;font-style:italic;font-weight:400;font-size:36px}.panel p{font-size:14px;color:#ffffffb3}@keyframes panel{0%{opacity:0;transform:translateY(26px) scale(.95)}}.cause{font-family:Fraunces,serif;font-style:italic;font-size:21px;color:#fffc}.final{position:relative;font-size:68px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;text-shadow:0 0 34px color-mix(in srgb,var(--accent) 55%,transparent)}.final em{position:absolute;left:50%;top:-14px;transform:translate(-50%) rotate(-4deg);white-space:nowrap;font-style:normal;font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#1a1200;background:var(--gold);padding:3px 10px;border-radius:10px;box-shadow:0 0 20px #ffd66ecc;animation:bump .6s .9s ease both;text-shadow:none}.best-line{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:#ffffff8c;margin-top:-4px}.best-line b{color:#fff}.stats{width:100%;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:6px 0 4px}.stats div{display:flex;flex-direction:column;gap:2px}.stats b{font-size:21px;font-weight:600;font-variant-numeric:tabular-nums}.stats span{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#ffffff8c;line-height:1.15}.timer{width:70%;height:4px;border-radius:2px;background:#ffffff26;overflow:hidden}#reviveBar{height:100%;background:var(--accent);transform-origin:left}#loading{justify-content:center;gap:26px;background:radial-gradient(ellipse at 50% 40%,#131a44,#04050f 70%);pointer-events:auto}.load-bar{width:160px;height:3px;border-radius:2px;background:#ffffff26;overflow:hidden}#loadBar{height:100%;width:100%;background:var(--accent);transform-origin:left;transform:scaleX(0);transition:transform .2s}@media(max-height:640px){#missions{display:none}.logo h1{font-size:clamp(44px,14vw,70px)}}@media(prefers-reduced-motion:reduce){.screen,.panel,#title .logo,.title-bottom{animation:none}}
