@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{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#fff;background:#111;font-family:Plus Jakarta Sans,system-ui,-apple-system,sans-serif}#root{height:100%}button,input{font-family:inherit}.bg-layer{z-index:0;transition:opacity .6s;position:fixed;inset:0}.bg-fade{animation:.6s ease-out both bgFade}.app-scroll{-webkit-overflow-scrolling:touch;height:100%;overflow:hidden auto}.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{opacity:.88;transform:scale(.96)}.view-fade{animation:.35s ease-out forwards viewFade}.hero-rise{opacity:1;animation:.55s cubic-bezier(.22,1,.36,1) forwards heroRise;transform:translateY(0)}.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 (width>=560px){.detail-grid{grid-template-columns:repeat(4,1fr)!important}}.sun-rays{animation:22s linear infinite spinRays}@keyframes spinRays{to{transform:rotate(360deg)}}.sun-glow{animation:4s ease-in-out infinite alternate glowPulse}@keyframes glowPulse{0%{r:inherit;opacity:.3}to{opacity:.5}}.twinkle{animation:2.5s ease-in-out infinite alternate twinkle}@keyframes twinkle{0%{opacity:.15}to{opacity:.9}}.raindrop{animation:.8s linear infinite rainFall}@keyframes rainFall{0%{opacity:0;transform:translateY(-16px)}15%{opacity:.85}to{opacity:0;transform:translateY(68px)}}.snow-sway-a{animation:2.6s linear infinite snowA}.snow-sway-b{animation:2.6s linear infinite snowB}@keyframes snowA{0%{opacity:0;transform:translateY(-12px)}20%{opacity:.9}50%{transform:translate(7px,28px)}to{opacity:0;transform:translate(-5px,68px)}}@keyframes snowB{0%{opacity:0;transform:translateY(-12px)}20%{opacity:.9}50%{transform:translate(-8px,28px)}to{opacity:0;transform:translate(4px,68px)}}.drift-a{animation:16s ease-in-out infinite driftA}.drift-b{animation:22s ease-in-out infinite driftB}@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:6s ease-in-out infinite floatSlow}@keyframes floatSlow{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.lightning{animation:4s infinite lightningFlash}@keyframes lightningFlash{0%,88%,92%,95%,to{opacity:0}89%{opacity:1}93%{opacity:.7}}.fog-a{animation:12s ease-in-out infinite fogDriftA}.fog-b{animation:14s ease-in-out infinite fogDriftB}@keyframes fogDriftA{0%,to{opacity:.45;transform:translate(-8px)}50%{opacity:.6;transform:translate(8px)}}@keyframes fogDriftB{0%,to{opacity:.5;transform:translate(6px)}50%{opacity:.35;transform:translate(-10px)}}.radar-sweep{animation:4.5s linear infinite radarSpin}@keyframes radarSpin{to{transform:rotate(360deg)}}.pulse-dot{animation:2s ease-in-out infinite pulseDot}@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:linear infinite bgRain}.bg-snow{animation:linear infinite bgSnow}.bg-star{animation:ease-in-out infinite alternate bgStar}.bg-cloud{animation:ease-in-out infinite alternate bgCloud}.bg-beam{animation:linear infinite bgBeam}@keyframes bgRain{0%{opacity:0;transform:translateY(-60px)}8%{opacity:1}92%{opacity:.8}to{opacity:0;transform:translateY(110vh)}}@keyframes bgSnow{0%{opacity:0;transform:translateY(-30px)}10%{opacity:.9}50%{transform:translate(10px,50vh)}90%{opacity:.9}to{opacity:0;transform:translate(-8px,108vh)}}@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;background:#7882a040;border-radius:3px;outline:none;height:6px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#fff;border-radius:9px;width:18px;height:18px;box-shadow:0 2px 8px #00000040}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}@keyframes skPulse{0%,to{opacity:.4}50%{opacity:.85}}
