.weather-widget{position:absolute;right:20px;top:20px;display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:rgba(240,240,240,.7);cursor:pointer;opacity:.7;font-size:11px;color:#333;z-index:100;transition:all .25s ease}body.custom-bg .weather-widget{right:auto;left:50%;transform:translateX(-50%)}body.custom-bg .weather-popup{right:auto;left:50%;margin-left:-200px}.weather-widget:hover{opacity:1;background:rgba(255,255,255,.95);box-shadow:0 4px 16px rgba(0,0,0,.1)}.weather-widget-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:#fff}.weather-widget-icon img,.weather-widget-icon svg{width:18px;height:18px}.weather-widget-city{font-weight:500;white-space:nowrap}.weather-widget-temp{white-space:nowrap;color:#555}.weather-widget-wind{white-space:nowrap;color:#888;font-size:12px}.weather-widget.weather-loading{opacity:.6;pointer-events:none}.weather-widget.weather-hidden{display:none}.weather-loading-spinner{width:16px;height:16px;border:2px solid #888;border-top-color:transparent;border-radius:50%;animation:weather-spin .8s linear infinite}@keyframes weather-spin{to{transform:rotate(360deg)}}.weather-popup{position:absolute;top:calc(100% + 10px);right:0;width:360px;padding:16px;background:linear-gradient(135deg,rgba(255,255,255,.75) 0,rgba(240,245,255,.75) 100%);border-radius:16px;box-shadow:0 8px 32px rgba(0,0,0,.15);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:0;visibility:hidden;transform:translateY(-8px);transition:all .25s ease;z-index:101}.weather-widget:hover .weather-popup{opacity:1;visibility:visible;transform:translateY(0)}.weather-popup-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid rgba(0,0,0,.06)}.weather-popup-city{font-size:16px;font-weight:600;color:#222}.weather-popup-update{font-size:11px;color:#999}.weather-forecast{display:flex;flex-direction:column;gap:10px}.weather-forecast-item{display:flex;align-items:center;gap:12px;padding:10px 12px;background:rgba(0,0,0,.03);border-radius:10px}.weather-forecast-date{width:95px;font-size:13px;color:#666}.weather-forecast-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center}.weather-forecast-icon svg{width:24px;height:24px}.weather-forecast-text{flex:1;font-size:13px;color:#333}.weather-forecast-temp{font-size:14px;font-weight:500;color:#222}.weather-forecast-wind{width:60px;font-size:12px;color:#888;text-align:right}body.theme-dark .weather-widget{background:rgba(40,40,40,.8);border-color:rgba(100,100,100,.5);color:#e5e7eb}body.theme-dark .weather-widget:hover{background:rgba(50,50,50,.95)}body.theme-dark .weather-widget-temp{color:#bbb}body.theme-dark .weather-widget-wind{color:#888}body.theme-dark .weather-popup{background:rgba(30,30,30,.9);box-shadow:0 8px 32px rgba(0,0,0,.4)}body.theme-dark .weather-popup-city{color:#e5e7eb}body.theme-dark .weather-popup-update{color:#666}body.theme-dark .weather-forecast-item{background:rgba(255,255,255,.05)}body.theme-dark .weather-forecast-date{color:#9ca3af}body.theme-dark .weather-forecast-text{color:#e5e7eb}body.theme-dark .weather-forecast-temp{color:#fff}body.theme-dark .weather-forecast-wind{color:#888}body.theme-dark .weather-forecast-icon img,body.theme-dark .weather-widget-icon img{filter:invert(1)}@media (prefers-color-scheme:dark){body.auto-theme .weather-widget{background:rgba(40,40,40,.8);border-color:rgba(100,100,100,.5);color:#e5e7eb}body.auto-theme .weather-widget:hover{background:rgba(50,50,50,.95)}body.auto-theme .weather-widget-temp{color:#bbb}body.auto-theme .weather-widget-wind{color:#888}body.auto-theme .weather-popup{background:rgba(30,30,30,.75);box-shadow:0 8px 32px rgba(0,0,0,.4)}body.auto-theme .weather-popup-city{color:#e5e7eb}body.auto-theme .weather-popup-update{color:#666}body.auto-theme .weather-forecast-item{background:rgba(255,255,255,.05)}body.auto-theme .weather-forecast-date{color:#9ca3af}body.auto-theme .weather-forecast-text{color:#e5e7eb}body.auto-theme .weather-forecast-temp{color:#fff}body.auto-theme .weather-forecast-wind{color:#888}body.auto-theme .weather-forecast-icon img,body.auto-theme .weather-widget-icon img{filter:invert(1)}}@media (max-width:768px){.weather-widget{right:10px;padding:4px 10px;font-size:12px}.weather-widget-wind{display:none}.weather-popup{width:280px;right:-10px}}@media (max-width:480px){.weather-widget{display:none}}