:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#ffffffde;background-color:#0c0c1e;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overflow:hidden}#root{width:100vw;height:100vh}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}@keyframes rocketTrail{0%{opacity:0;transform:translateY(30px) scale(.5);filter:brightness(.5)}50%{opacity:1;transform:translateY(15px) scale(1.2);filter:brightness(2)}to{opacity:1;transform:translateY(0) scale(1);filter:brightness(1.5)}}.firework-rocket{box-shadow:0 0 20px currentColor,0 0 40px currentColor;filter:brightness(1.8)}.firework{animation:explosiveFlash .1s ease-out}@keyframes explosiveFlash{0%{filter:brightness(1)}50%{filter:brightness(1.5)}to{filter:brightness(1)}}.particle{transition:opacity .1s ease-out}.particle.brocade{box-shadow:0 0 8px currentColor,0 0 16px currentColor;border-radius:50%}.particle.strobe{animation:strobe .15s linear infinite;box-shadow:0 0 12px currentColor}@keyframes strobe{0%,50%{opacity:1}51%,to{opacity:.3}}.particle.chrysanthemum{border-radius:50%;box-shadow:0 0 6px currentColor}.particle.peony{border-radius:50%;box-shadow:0 0 10px currentColor,0 0 20px currentColor}.particle.ring{border-radius:50%;box-shadow:0 0 8px currentColor}.particle.crackling{animation:crackle .2s linear infinite;border-radius:30%;box-shadow:0 0 10px currentColor}@keyframes crackle{0%{transform:scale(1) rotate(0);opacity:1}50%{transform:scale(1.2) rotate(180deg);opacity:.8}to{transform:scale(1) rotate(360deg);opacity:1}}.fireworks-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden}.app{width:100vw;height:100vh;background:linear-gradient(135deg,#0c0c1eb3,#1a1a2e99,#16213eb3),url(/assets/cityscape_night-Msqryk9j.jpg);background-size:cover;background-position:center bottom;background-repeat:no-repeat;overflow:hidden;cursor:crosshair;position:relative;display:flex;align-items:center;justify-content:center}.app:before{content:"";position:absolute;bottom:0;left:0;right:0;height:30%;background:linear-gradient(to top,#000000 0%,#111111 20%,#222222 40%,transparent 100%);z-index:0}.app:after{content:"";position:absolute;bottom:0;left:0;right:0;height:25%;background:polygon(0% 100%,0% 80%,5% 75%,8% 85%,12% 70%,15% 80%,20% 65%,23% 75%,28% 60%,32% 70%,35% 55%,40% 65%,45% 50%,48% 60%,52% 45%,58% 55%,62% 40%,65% 50%,70% 35%,75% 45%,80% 30%,85% 40%,90% 25%,95% 35%,100% 20%,100% 100%);background-color:#000;clip-path:polygon(0% 100%,0% 80%,5% 75%,8% 85%,12% 70%,15% 80%,20% 65%,23% 75%,28% 60%,32% 70%,35% 55%,40% 65%,45% 50%,48% 60%,52% 45%,58% 55%,62% 40%,65% 50%,70% 35%,75% 45%,80% 30%,85% 40%,90% 25%,95% 35%,100% 20%,100% 100%);z-index:0}.attribution{position:absolute;bottom:20px;right:20px;z-index:15;font-size:.9rem;opacity:.7;transition:opacity .3s ease}.attribution:hover{opacity:1}.attribution a{color:#fffc;text-decoration:none;background:#0006;padding:8px 12px;border-radius:6px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);transition:all .3s ease;text-shadow:1px 1px 2px rgba(0,0,0,.7)}.attribution a:hover{color:#fff;background:#0009;text-decoration:underline;transform:translateY(-2px);box-shadow:0 4px 8px #0000004d}.footer{position:absolute;bottom:20px;left:20px;z-index:15;font-size:.9rem;opacity:.7;transition:opacity .3s ease;max-width:300px}.footer:hover{opacity:1}.footer p{margin:0;color:#fffc;background:#0006;padding:8px 12px;border-radius:6px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);text-shadow:1px 1px 2px rgba(0,0,0,.7);line-height:1.4}.footer a{color:#87ceeb;text-decoration:none;transition:all .3s ease}.footer a:hover{color:#fff;text-decoration:underline}
