weatherwise-pro / style.css
QuentinCaron's picture
can you create a weather widget that mimic the one from perplexity fully interactive
aadabc6 verified
Raw
History Blame Contribute Delete
1.87 kB
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');
* {
font-family: 'Inter', sans-serif;
}
.weather-card {
backdrop-filter: blur(10px);
background: rgba(255, 255, 255, 0.85);
border: 1px solid rgba(255, 255, 255, 0.2);
}
.weather-gradient {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}
.animate-pulse-soft {
animation: pulse-soft 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes pulse-soft {
0%, 100% {
opacity: 1;
}
50% {
opacity: 0.8;
}
}
.weather-icon {
filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.1));
}
.loading-dots {
display: inline-block;
position: relative;
width: 80px;
height: 80px;
}
.loading-dots div {
position: absolute;
top: 33px;
width: 13px;
height: 13px;
border-radius: 50%;
background: #0ea5e9;
animation-timing-function: cubic-bezier(0, 1, 1, 0);
}
.loading-dots div:nth-child(1) {
left: 8px;
animation: loading-dots1 0.6s infinite;
}
.loading-dots div:nth-child(2) {
left: 8px;
animation: loading-dots2 0.6s infinite;
}
.loading-dots div:nth-child(3) {
left: 32px;
animation: loading-dots2 0.6s infinite;
}
.loading-dots div:nth-child(4) {
left: 56px;
animation: loading-dots3 0.6s infinite;
}
@keyframes loading-dots1 {
0% { transform: scale(0); }
100% { transform: scale(1); }
}
@keyframes loading-dots3 {
0% { transform: scale(1); }
100% { transform: scale(0); }
}
@keyframes loading-dots2 {
0% { transform: translate(0, 0); }
100% { transform: translate(24px, 0); }
}
.slide-up {
animation: slideUp 0.3s ease-out;
}
@keyframes slideUp {
from {
opacity: 0;
transform: translateY(20px);
}
to {
opacity: 1;
transform: translateY(0);
}
}