@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}body{font-family:Plus Jakarta Sans,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#111;color:#fff}#root{height:100%}button,input{font-family:inherit}.bg-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;transition:opacity .6s}.bg-fade{animation:bgFade .6s ease-out both}.app-scroll{height:100%;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.app-container{max-width:760px;margin:0 auto;padding:18px 18px 0}.hide-scroll{scrollbar-width:none;-ms-overflow-style:none}.hide-scroll::-webkit-scrollbar{display:none}.press{transition:transform .14s,opacity .14s}.press:active{transform:scale(.96);opacity:.88}.view-fade{animation:viewFade .35s ease-out forwards}.hero-rise{opacity:1;transform:translateY(0);animation:heroRise .55s cubic-bezier(.22,1,.36,1) forwards}.card,.city-card{transition:transform .2s,box-shadow .2s}.city-card:hover{transform:translateY(-3px);box-shadow:0 14px 36px #1e325a3d}.city-remove{opacity:0;transition:opacity .18s}.city-card:hover .city-remove{opacity:1}@media (min-width: 560px){.detail-grid{grid-template-columns:repeat(4,1fr)!important}}.sun-rays{animation:spinRays 22s linear infinite}@keyframes spinRays{to{transform:rotate(360deg)}}.sun-glow{animation:glowPulse 4s ease-in-out infinite alternate}@keyframes glowPulse{0%{r:inherit;opacity:.3}to{opacity:.5}}.twinkle{animation:twinkle 2.5s ease-in-out infinite alternate}@keyframes twinkle{0%{opacity:.15}to{opacity:.9}}.raindrop{animation:rainFall .8s linear infinite}@keyframes rainFall{0%{transform:translateY(-16px);opacity:0}15%{opacity:.85}to{transform:translateY(68px);opacity:0}}.snow-sway-a{animation:snowA 2.6s linear infinite}.snow-sway-b{animation:snowB 2.6s linear infinite}@keyframes snowA{0%{transform:translateY(-12px);opacity:0}20%{opacity:.9}50%{transform:translate(7px,28px)}to{transform:translate(-5px,68px);opacity:0}}@keyframes snowB{0%{transform:translateY(-12px);opacity:0}20%{opacity:.9}50%{transform:translate(-8px,28px)}to{transform:translate(4px,68px);opacity:0}}.drift-a{animation:driftA 16s ease-in-out infinite}.drift-b{animation:driftB 22s ease-in-out infinite}@keyframes driftA{0%,to{transform:translate(-10px)}50%{transform:translate(10px)}}@keyframes driftB{0%,to{transform:translate(8px)}50%{transform:translate(-12px)}}.float-slow{animation:floatSlow 6s ease-in-out infinite}@keyframes floatSlow{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.lightning{animation:lightningFlash 4s ease infinite}@keyframes lightningFlash{0%,88%,92%,95%,to{opacity:0}89%{opacity:1}93%{opacity:.7}}.fog-a{animation:fogDriftA 12s ease-in-out infinite}.fog-b{animation:fogDriftB 14s ease-in-out infinite}@keyframes fogDriftA{0%,to{transform:translate(-8px);opacity:.45}50%{transform:translate(8px);opacity:.6}}@keyframes fogDriftB{0%,to{transform:translate(6px);opacity:.5}50%{transform:translate(-10px);opacity:.35}}.radar-sweep{animation:radarSpin 4.5s linear infinite}@keyframes radarSpin{to{transform:rotate(360deg)}}.pulse-dot{animation:pulseDot 2s ease-in-out infinite}@keyframes pulseDot{0%,to{opacity:1}50%{opacity:.4}}@keyframes bgFade{0%{opacity:0}to{opacity:1}}@keyframes viewFade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes heroRise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.bg-rain{animation:bgRain linear infinite}.bg-snow{animation:bgSnow linear infinite}.bg-star{animation:bgStar ease-in-out infinite alternate}.bg-cloud{animation:bgCloud ease-in-out infinite alternate}.bg-beam{animation:bgBeam linear infinite}@keyframes bgRain{0%{transform:translateY(-60px);opacity:0}8%{opacity:1}92%{opacity:.8}to{transform:translateY(110vh);opacity:0}}@keyframes bgSnow{0%{transform:translateY(-30px);opacity:0}10%{opacity:.9}50%{transform:translate(10px,50vh)}90%{opacity:.9}to{transform:translate(-8px,108vh);opacity:0}}@keyframes bgStar{0%{opacity:.1}to{opacity:.8}}@keyframes bgCloud{0%{transform:translate(0)}to{transform:translate(30px)}}@keyframes bgBeam{to{transform:rotate(360deg)}}body[data-noanim="1"] .bg-rain,body[data-noanim="1"] .bg-snow,body[data-noanim="1"] .bg-star,body[data-noanim="1"] .bg-cloud,body[data-noanim="1"] .bg-beam,body[data-noanim="1"] .sun-rays,body[data-noanim="1"] .sun-glow,body[data-noanim="1"] .twinkle,body[data-noanim="1"] .raindrop,body[data-noanim="1"] .snow-sway-a,body[data-noanim="1"] .snow-sway-b,body[data-noanim="1"] .drift-a,body[data-noanim="1"] .drift-b,body[data-noanim="1"] .float-slow,body[data-noanim="1"] .lightning,body[data-noanim="1"] .fog-a,body[data-noanim="1"] .fog-b,body[data-noanim="1"] .radar-sweep,body[data-noanim="1"] .pulse-dot{animation:none!important}input[type=range]{-webkit-appearance:none;height:6px;border-radius:3px;background:#7882a040;outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:9px;background:#fff;cursor:pointer;box-shadow:0 2px 8px #00000040}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}@keyframes skPulse{0%,to{opacity:.4}50%{opacity:.85}}
