.App{text-align:center}.App,body{font-family:Inter,Segoe UI,sans-serif}body{animation:gradientShift 15s ease infinite;background:linear-gradient(135deg,#667eea,#764ba2 50%,#f093fb);background-attachment:fixed;background-size:400% 400%;min-height:100vh}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#1e293b,#334155);-webkit-background-clip:text;background-clip:text;font-family:Inter,Segoe UI,sans-serif;font-size:clamp(40px,8vw,64px);font-weight:800;letter-spacing:-1px;margin:0;text-shadow:0 4px 12px #0000000d}a{color:#334155;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}a:hover{color:#1e293b;text-decoration:underline}.container{background-color:initial;border-radius:32px;box-shadow:0 20px 60px #00000026,0 8px 24px #00000014;margin:70px auto;max-width:700px;padding:48px;transition:all .4s cubic-bezier(.4,0,.2,1)}.container:hover{box-shadow:0 24px 72px #0003,0 12px 32px #0000001f;transform:translateY(-4px)}.container.glass{backdrop-filter:blur(40px) saturate(180%) contrast(110%);-webkit-backdrop-filter:blur(40px) saturate(180%) contrast(110%);background:linear-gradient(135deg,#ffffff40,#ffffff1f);border:1.5px solid #fff6;box-shadow:0 20px 60px #14183c4d,inset 0 1px 2px #ffffff80,inset 0 -1px 1px #ffffff40;position:relative}.container.glass:before{background:linear-gradient(135deg,#ffffff80,#ffffff1a);border-radius:32px;bottom:0;content:"";left:0;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;padding:1.5px;pointer-events:none;position:absolute;right:0;top:0}.logo{animation:fadeIn .6s ease-out;padding:24px}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.search-form{align-items:center;animation:slideIn .6s ease-out .2s both;border-bottom:1.5px solid #33415526;display:flex;gap:12px;margin:16px 0;padding-bottom:32px}@keyframes slideIn{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}.search-form input[type=search]{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #ffffff4d;border-radius:16px;color:#1e293b;flex:1 1;font-size:16px;font-weight:500;padding:16px 24px;transition:all .3s cubic-bezier(.4,0,.2,1)}.search-form input[type=search]::placeholder{color:#1e293b80}.search-form input[type=search]:focus{background:#ffffff4d;border-color:#fff9;box-shadow:0 0 0 4px #ffffff1a,0 8px 24px #0000001a;outline:none;transform:translateY(-2px)}.search-form input[type=submit]{background:linear-gradient(135deg,#1e293b,#334155);border:0;border-radius:16px;box-shadow:0 4px 12px #1e293b4d,inset 0 1px 0 #ffffff1a;color:#fff;cursor:pointer;font-size:16px;font-weight:600;overflow:hidden;padding:16px 32px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.search-form input[type=submit]:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.search-form input[type=submit]:hover:before{left:100%}.search-form input[type=submit]:hover{background:linear-gradient(135deg,#334155,#475569);box-shadow:0 8px 24px #1e293b66,inset 0 1px 0 #ffffff26;transform:translateY(-2px)}.search-form input[type=submit]:active{box-shadow:0 4px 12px #1e293b4d,inset 0 1px 0 #ffffff1a;transform:translateY(0)}.weather-app-data{align-items:center;animation:fadeInUp .6s ease-out .4s both;color:#1e293b;display:flex;gap:32px;justify-content:space-between;padding-bottom:32px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.weather-app-data>div:first-child{flex:1 1 auto;min-width:0}.weather-app-details{color:#334155;font-size:15px;line-height:1.6;margin:8px 0 0}.weather-app-details strong{color:#1e293b;font-family:Inter,Segoe UI,sans-serif;font-weight:600}.weather-app-temp-container{align-items:baseline;display:flex;gap:8px;white-space:nowrap}.weather-app-temp-value{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#1e293b,#475569);-webkit-background-clip:text;background-clip:text;font-family:Inter,Segoe UI,sans-serif;font-size:clamp(56px,10vw,104px);font-weight:800;letter-spacing:-2px;line-height:.85}.weather-app-temp-unit{color:#475569;font-family:Inter,Segoe UI,sans-serif;font-size:28px;font-weight:700;margin-left:4px;position:relative;top:-48px}.weather-app-icon{align-items:center;animation:float 3s ease-in-out infinite;display:inline-flex;filter:drop-shadow(0 4px 12px rgba(0,0,0,.1));font-size:64px;line-height:1}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.weather-app-icon img{display:block;height:88px;width:88px}.credits{color:#ffffffe6;font-size:14px;font-weight:500;padding:24px;text-align:center;text-shadow:0 2px 4px #0000001a}.weather-forecast{animation:fadeInUp .6s ease-out .6s both;border-bottom:1.5px solid #33415526;display:flex;gap:16px;justify-content:space-around;padding-bottom:32px}.weather-forecast>div{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:20px;cursor:pointer;flex:1 1;padding:20px 12px;transition:all .3s cubic-bezier(.4,0,.2,1)}.weather-forecast>div:hover{background:#ffffff26;box-shadow:0 12px 32px #00000026;transform:translateY(-4px)}.weather-forecast-date{color:#475569;font-size:16px;font-weight:600;line-height:1.4;margin-bottom:12px;text-align:center}.weather-forecast-icon{filter:drop-shadow(0 2px 8px rgba(0,0,0,.08));font-size:36px;margin:8px 0;text-align:center}.weather-forecast-temps{color:#1e293b;display:flex;font-size:16px;font-weight:600;justify-content:center;margin-top:12px;text-align:center}.weather-forecast-temper{padding:0 8px;transition:all .2s ease}.weather-forecast-temper:hover{color:#334155;transform:scale(1.05)}@media (max-width:768px){.container{border-radius:24px;margin:40px 20px;padding:32px 24px}h1{font-size:clamp(32px,7vw,48px)}.weather-app-data{flex-direction:column;gap:24px}.weather-forecast{flex-wrap:wrap}.weather-forecast>div{min-width:calc(50% - 8px)}.search-form{flex-direction:column}.search-form input[type=submit]{width:100%}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.loading{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}
/*# sourceMappingURL=main.f985e1db.css.map*/