.weather-widget{background:var(--glass-bg);backdrop-filter:blur(20px);border-radius:24px;padding:2rem;border:1px solid var(--glass-border);box-shadow:var(--shadow-xl);transition:all 0.3s ease;position:relative;overflow:hidden}.weather-widget::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary),var(--secondary),var(--accent));opacity:0;transition:opacity 0.3s ease}.weather-widget:hover::before{opacity:1}.weather-widget:hover{transform:translateY(-4px);box-shadow:0 25px 50px -12px rgba(0,0,0,0.25)}.current-weather-widget{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:center}.weather-main{display:flex;flex-direction:column;gap:0.5rem}.weather-location{font-size:1.5rem;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:0.5rem}.weather-location-icon{width:20px;height:20px;color:var(--primary)}.weather-temp{font-size:4rem;font-weight:800;line-height:1;background:linear-gradient(135deg,var(--primary),var(--secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.weather-condition{font-size:1.25rem;color:var(--text-secondary);font-weight:500}.weather-icon-large{width:120px;height:120px;animation:float 3s ease-in-out infinite}.weather-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.weather-detail-item{display:flex;flex-direction:column;gap:0.5rem}.weather-detail-label{font-size:0.875rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:0.05em;font-weight:600}.weather-detail-value{font-size:1.5rem;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:0.5rem}.weather-detail-icon{width:24px;height:24px;color:var(--primary)}.forecast-widget{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem}.forecast-day{background:var(--bg-secondary);border-radius:16px;padding:1.5rem 1rem;text-align:center;border:1px solid var(--border-color);transition:all 0.3s ease}.forecast-day:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--primary)}.forecast-day-name{font-size:0.875rem;font-weight:600;color:var(--text-secondary);margin-bottom:0.75rem}.forecast-icon{width:48px;height:48px;margin:0 auto 0.75rem}.forecast-temp-high{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.forecast-temp-low{font-size:1rem;color:var(--text-tertiary);margin-top:0.25rem}.stats-widget{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.stat-card{background:linear-gradient(135deg,var(--bg-secondary),var(--bg-tertiary));border-radius:16px;padding:1.5rem;border:1px solid var(--border-color);position:relative;overflow:hidden}.stat-card::before{content:'';position:absolute;top:0;right:0;width:100px;height:100px;background:var(--primary);opacity:0.05;border-radius:50%;transform:translate(30%,-30%)}.stat-icon{width:40px;height:40px;padding:0.5rem;background:var(--primary-light);border-radius:12px;color:var(--primary);margin-bottom:1rem}.stat-value{font-size:2rem;font-weight:800;color:var(--text-primary);line-height:1;margin-bottom:0.5rem}.stat-label{font-size:0.875rem;color:var(--text-secondary);font-weight:500}.weather-card-compact{display:flex;align-items:center;gap:1rem;background:var(--bg-secondary);border-radius:16px;padding:1rem 1.5rem;border:1px solid var(--border-color);transition:all 0.3s ease}.weather-card-compact:hover{transform:translateX(4px);border-color:var(--primary);box-shadow:var(--shadow-md)}.weather-card-icon{width:48px;height:48px;flex-shrink:0}.weather-card-info{flex:1}.weather-card-location{font-weight:600;color:var(--text-primary);margin-bottom:0.25rem}.weather-card-condition{font-size:0.875rem;color:var(--text-secondary)}.weather-card-temp{font-size:1.75rem;font-weight:700;color:var(--text-primary)}.weather-bg-pattern{position:absolute;top:0;left:0;right:0;bottom:0;opacity:0.03;pointer-events:none;overflow:hidden}.weather-bg-pattern::before,.weather-bg-pattern::after{content:'';position:absolute;border-radius:50%;background:var(--primary)}.weather-bg-pattern::before{width:300px;height:300px;top:-150px;right:-150px;animation:pulse 4s ease-in-out infinite}.weather-bg-pattern::after{width:200px;height:200px;bottom:-100px;left:-100px;animation:pulse 4s ease-in-out infinite 2s}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse{0%,100%{transform:scale(1);opacity:0.03}50%{transform:scale(1.1);opacity:0.05}}@keyframes shimmer{0%{background-position:-1000px 0}100%{background-position:1000px 0}}.widget-loading{position:relative;overflow:hidden}.widget-loading::after{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient( 90deg,transparent,rgba(255,255,255,0.1),transparent );animation:shimmer 2s infinite}@media (max-width:768px){.current-weather-widget{grid-template-columns:1fr;text-align:center}.weather-icon-large{margin:0 auto}.weather-details{grid-template-columns:repeat(2,1fr)}.forecast-widget{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}}