body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}body{font-family:Segoe UI,Roboto,Arial,sans-serif;margin:0;padding:0}.App,body{min-height:100vh}.App{align-items:center;display:flex;justify-content:center}.weather-app{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff26;border:2.5px solid #0000;border-radius:20px;box-shadow:0 8px 32px 0 #1f26875e;color:#fff;max-width:350px;padding:2.5rem 2rem 2rem;position:relative;text-align:center;transition:background .5s,color .5s,box-shadow .32s cubic-bezier(.23,1.12,.32,1),transform .32s cubic-bezier(.23,1.12,.32,1);width:100%;z-index:2}.weather-app:before{animation:borderGradientMove 4s ease-in-out infinite;background:linear-gradient(120deg,#4f8ef7,#ffe259,#66a6ff,#ffa751,#4f8ef7);background-size:300% 300%;border-radius:22px;content:"";inset:-2.5px;opacity:.7;pointer-events:none;position:absolute;z-index:0}@keyframes borderGradientMove{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.weather-app.dark{background:#1e2436d9;color:#ffe259}.weather-app.light{background:#ffffff26;color:#fff}.weather-app:hover{box-shadow:0 16px 48px 0 #1f268738,0 2px 12px 0 #1f268721;transform:scale(1.025)}.weather-app>*{position:relative;z-index:2}.weather-app h1{font-size:2.2rem;font-weight:700;letter-spacing:2px;margin-bottom:1.5rem}.weather-search{display:flex;gap:.5rem;margin-bottom:1.5rem}.weather-search input{background:#fff3;border:none;border-radius:8px;color:#fff;flex:1 1;font-size:1rem;outline:none;padding:.7rem 1rem;transition:background .2s}.weather-app.dark .weather-search input{background:#1e24364d;color:#ffe259}.weather-app.dark .weather-search input::placeholder{color:#ffe25999}.weather-app.light .weather-search input::placeholder{color:#e0e0e0}.weather-search input:focus{background:#ffffff4d}.weather-search button{background:#4f8ef7;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.7rem 1.2rem;transition:background .2s}.weather-search button:hover{background:#1e3c72}.weather-display{animation:fadeIn 1s;border-radius:16px;box-shadow:0 4px 16px 0 #1f268726;color:#222;margin-top:1.5rem;overflow:hidden;padding:1.5rem 1rem;position:relative;transition:background .7s,color .5s}.weather-app.dark .weather-display{color:#ffe259}.weather-effect-sun{animation:sun-rays 2s linear infinite alternate;background:radial-gradient(circle,#ffe259 60%,#fff0 80%);height:120px;left:50%;opacity:.7;pointer-events:none;position:absolute;top:-40px;transform:translateX(-50%);width:120px;z-index:1}@keyframes sun-rays{0%{filter:blur(0);opacity:.7}to{filter:blur(4px);opacity:1}}.weather-effect-rain{background:none;height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:2}.weather-effect-rain .drop{animation:rain-fall .8s linear infinite;background:#4f8ef7;border-radius:1px;height:18px;opacity:.5;position:absolute;width:2px}@keyframes rain-fall{0%{opacity:.5;top:-20px}to{opacity:0;top:100%}}.weather-effect-snow{background:none;height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:2}.weather-effect-snow .flake{animation:snow-fall 2.5s linear infinite;background:#fff;border-radius:50%;height:8px;opacity:.7;position:absolute;width:8px}@keyframes snow-fall{0%{opacity:.7;top:-10px}to{opacity:0;top:100%}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.weather-display h2{font-size:1.4rem;font-weight:600;margin:0 0 .5rem}.weather-display img{height:80px;margin:.5rem 0;width:80px}.weather-display p{font-size:1.05rem;margin:.3rem 0}.weather-loader-container{--uib-size:40px;--uib-color:#4f8ef7;--uib-speed:.9s;--uib-center:calc(var(--uib-size)/2 - var(--uib-size)/5/2);animation:weather-loader-rotate calc(var(--uib-speed)*3) linear infinite;height:var(--uib-size);margin:2rem auto;position:relative;width:var(--uib-size)}.weather-loader-container,.weather-loader-dot{align-items:center;display:flex;justify-content:flex-start}.weather-loader-dot{height:100%;left:0;position:absolute;top:0;width:100%}.weather-loader-dot:before{animation:weather-loader-oscillate var(--uib-speed) ease-in-out infinite alternate;background-color:var(--uib-color);border-radius:50%;content:"";height:20%;transition:background-color .3s ease;width:20%}.weather-loader-dot:first-child:before{transform:translateX(var(--uib-center))}.weather-loader-dot:nth-child(2){transform:rotate(45deg)}.weather-loader-dot:nth-child(2):before{animation-delay:calc(var(--uib-speed)*-.125);transform:translateX(var(--uib-center))}.weather-loader-dot:nth-child(3){transform:rotate(90deg)}.weather-loader-dot:nth-child(3):before{animation-delay:calc(var(--uib-speed)*-.25);transform:translateX(var(--uib-center))}.weather-loader-dot:nth-child(4){transform:rotate(135deg)}.weather-loader-dot:nth-child(4):before{animation-delay:calc(var(--uib-speed)*-.375);transform:translateX(var(--uib-center))}.weather-loader-dot:nth-child(5){transform:rotate(180deg)}.weather-loader-dot:nth-child(5):before{animation-delay:calc(var(--uib-speed)*-.5);transform:translateX(var(--uib-center))}.weather-loader-dot:nth-child(6){transform:rotate(225deg)}.weather-loader-dot:nth-child(6):before{animation-delay:calc(var(--uib-speed)*-.625);transform:translateX(var(--uib-center))}.weather-loader-dot:nth-child(7){transform:rotate(270deg)}.weather-loader-dot:nth-child(7):before{animation-delay:calc(var(--uib-speed)*-.75);transform:translateX(var(--uib-center))}.weather-loader-dot:nth-child(8){transform:rotate(315deg)}.weather-loader-dot:nth-child(8):before{animation-delay:calc(var(--uib-speed)*-.875);transform:translateX(var(--uib-center))}@keyframes weather-loader-oscillate{0%{opacity:.25;transform:translateX(var(--uib-center)) scale(0)}to{opacity:1;transform:translateX(0) scale(1)}}@keyframes weather-loader-rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fav-modal-backdrop{align-items:center;animation:fadeInModal .3s;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000040;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:3000}.fav-modal-card{animation:popInModal .25s cubic-bezier(.23,1.12,.32,1);background:#fffffff2;border-radius:18px;box-shadow:0 12px 48px 0 #1f268738,0 1.5px 8px 0 #1f26871a;color:#4f8ef7;max-width:340px;min-width:260px;overflow:hidden;padding:1.3rem 1.3rem 1.1rem;position:relative;width:92vw;z-index:4000}.fav-modal-card:before{background:linear-gradient(90deg,#4f8ef7,#89f7fe);border-top-left-radius:18px;border-top-right-radius:18px;content:"";display:block;height:32px;left:0;opacity:.13;pointer-events:none;position:absolute;right:0;top:0}.fav-modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:14px}.fav-modal-title{color:#232526;font-size:1.18rem;font-weight:700}.fav-modal-close{background:none;border:none;border-radius:50%;color:#e74c3c;cursor:pointer;font-size:1.5rem;margin-left:8px;outline:none;padding:0;transition:color .2s,transform .18s}.fav-modal-close:focus,.fav-modal-close:hover{background:#e74c3c;box-shadow:0 0 0 3px #e74c3c33;color:#fff;transform:scale(1.13)}.fav-modal-empty{color:#888;font-size:1rem;padding:1.2rem 0;text-align:center}.fav-modal-city-row{align-items:center;border-bottom:1px solid #eaf1fb;display:flex;justify-content:space-between;padding:.3rem 0}.fav-modal-city-row:last-child{border-bottom:none}.fav-modal-city-btn{background:none;border:none;border-radius:10px;color:#4f8ef7;cursor:pointer;font-size:1rem;font-weight:500;outline:none;padding:.5rem .5rem .5rem 0;position:relative;text-align:left;transition:background .18s,color .18s,box-shadow .18s,border .18s,-webkit-backdrop-filter .18s;transition:background .18s,color .18s,box-shadow .18s,border .18s,backdrop-filter .18s;transition:background .18s,color .18s,box-shadow .18s,border .18s,backdrop-filter .18s,-webkit-backdrop-filter .18s;width:100%;z-index:1}.fav-modal-city-btn:focus{box-shadow:0 0 0 2px #4f8ef7aa}.fav-modal-city-btn:hover{-webkit-backdrop-filter:blur(12px) saturate(1.7) brightness(1.08);backdrop-filter:blur(12px) saturate(1.7) brightness(1.08);background:#ffffff52;border:1.5px solid #4f8ef72e;box-shadow:inset 0 4px 24px 0 #1f268721,0 2px 8px 0 #1f26871a;color:#232526;outline:none}.fav-modal-remove-btn{background:none;border:none;border-radius:50%;color:#e74c3c;cursor:pointer;font-size:1.2rem;margin-left:4px;outline:none;padding:0;transition:color .2s,background .18s}.fav-modal-remove-btn:focus{box-shadow:0 0 0 2px #e74c3c55}.fav-modal-remove-btn:hover{background:#e74c3c;color:#fff}@keyframes fadeInModal{0%{opacity:0}to{opacity:1}}@keyframes popInModal{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (max-width:600px){.fav-modal-card{max-width:98vw;min-width:0;padding:1rem .5rem .7rem}}@media (max-width:500px){.weather-app{max-width:98vw;padding:1.2rem .5rem 1.5rem}.weather-display{padding:1rem .2rem}}.forecast-card{background:#ffffff2e;border:1px solid #0000;border-radius:12px;box-shadow:0 2px 8px #1f268712;color:#222;min-width:70px;padding:.7rem 1.1rem;position:relative;text-align:center;transition:background .28s cubic-bezier(.23,1.12,.32,1),box-shadow .28s cubic-bezier(.23,1.12,.32,1),border .18s,transform .32s cubic-bezier(.23,1.12,.32,1),-webkit-backdrop-filter .28s cubic-bezier(.23,1.12,.32,1);transition:background .28s cubic-bezier(.23,1.12,.32,1),box-shadow .28s cubic-bezier(.23,1.12,.32,1),border .18s,backdrop-filter .28s cubic-bezier(.23,1.12,.32,1),transform .32s cubic-bezier(.23,1.12,.32,1);transition:background .28s cubic-bezier(.23,1.12,.32,1),box-shadow .28s cubic-bezier(.23,1.12,.32,1),border .18s,backdrop-filter .28s cubic-bezier(.23,1.12,.32,1),transform .32s cubic-bezier(.23,1.12,.32,1),-webkit-backdrop-filter .28s cubic-bezier(.23,1.12,.32,1);z-index:1}.forecast-card:hover{-webkit-backdrop-filter:blur(10px) saturate(1.5) brightness(1.07);backdrop-filter:blur(10px) saturate(1.5) brightness(1.07);background:#ffffff52;border:1.5px solid #4f8ef72e;box-shadow:inset 0 4px 24px 0 #1f268721,0 2px 8px 0 #1f26871a;transform:scale(1.07)}
/*# sourceMappingURL=main.5bf60637.css.map*/