.header-tools .weather-toggle{width:38px;height:38px;min-width:38px;flex:0 0 38px;margin:0;padding:0;display:grid;place-items:center;border-radius:50%;align-self:center;line-height:1;font-size:13px;font-weight:600}.weather-toggle svg,.weather-locate svg{width:19px;height:19px}.weather-panel{position:fixed;z-index:1200;top:78px;right:26px;width:350px;max-width:calc(100vw - 28px);max-height:calc(100dvh - 94px);overflow:auto;padding:24px;border:1px solid var(--border);border-radius:26px;background:color-mix(in srgb,var(--panel,#fff) 94%,transparent);backdrop-filter:blur(30px) saturate(1.3);color:var(--text);box-shadow:0 18px 70px #0002;animation:weather-in .25s ease-out}.weather-panel header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.weather-panel h2{font-size:18px;line-height:1.35;margin:7px 0 20px}.weather-panel .eyebrow{font-size:10px;color:var(--muted)}.weather-panel .icon-btn{flex:none;width:36px;height:36px}.weather-reading{display:flex;flex-direction:column;gap:3px;align-items:center;padding:6px 0 14px}.weather-reading>span{font-size:12px;color:var(--muted)}.weather-reading strong{font-size:66px;line-height:1.3;font-weight:400;letter-spacing:-4px}.weather-reading small{font-size:26px;letter-spacing:-1px;vertical-align:top;line-height:2.5}.weather-metrics{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:15px 0;margin:0 0 15px;text-align:center}.weather-metrics dt{color:var(--muted);font-size:11px}.weather-metrics dd{margin:5px 0 0;font-size:16px}.weather-locate{width:100%;display:flex;justify-content:center;gap:9px}.weather-note,.weather-panel footer{font-size:10px;line-height:1.6;color:var(--muted)}.weather-panel label{font-size:11px;color:var(--muted)}.weather-city-row{display:flex;gap:7px;margin-top:7px}.weather-city-row select{min-width:0;flex:1;border:1px solid var(--border);border-radius:12px;padding:9px;background:var(--surface,var(--panel));color:var(--text);font:inherit;font-size:12px}.weather-panel footer{border-top:1px solid var(--border);padding-top:13px;margin-top:18px}.weather-panel footer a{color:var(--text);text-underline-offset:3px}.weather-panel footer p{margin:5px 0}.weather-status{font-size:12px;line-height:1.5;margin-bottom:12px}.weather-status:empty{display:none}.weather-forget{border:0;background:none;color:var(--muted);font-size:11px;text-decoration:underline;padding:10px 0 0;cursor:pointer}@keyframes weather-in{from{opacity:0;transform:translateY(-7px) scale(.98)}to{opacity:1;transform:none}}@media(max-width:600px){.weather-panel{right:14px;top:72px;padding:20px}}@media(max-width:380px){.header-tools .weather-toggle{width:34px;min-width:34px;flex-basis:34px;height:34px}}@media(prefers-reduced-motion:reduce){.weather-panel{animation:none}}
.weather-panel{width:min(350px,calc(100% - 28px));max-width:calc(100% - 28px);background:var(--glass-solid);border-color:var(--control-border)}
.weather-panel .icon-btn{display:grid;place-items:center;border:1px solid var(--control-border);border-radius:50%;background:var(--glass);color:var(--text);cursor:pointer}
.weather-panel .icon-btn:hover{background:var(--surface-hover)}
.weather-panel .icon-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5}
.weather-panel .weather-locate{align-items:center;border:1px solid var(--control-border);border-radius:14px;padding:12px;color:var(--text);background:var(--surface);cursor:pointer;font-size:12px}
.weather-panel .weather-locate:hover{background:var(--surface-hover)}
.weather-panel .weather-city-row select{border-color:var(--control-border)}
html[data-theme=dark] .weather-panel{background:var(--glass-solid);box-shadow:0 18px 70px #0005}
.weather-panel :is(button,select):focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.header-tools>.weather-toggle{border:1px solid var(--control-border);background:var(--glass);color:var(--text);box-shadow:0 3px 12px #231f2009;cursor:pointer;transition:transform .2s,background .2s}
.header-tools>.weather-toggle:hover{background:var(--surface-raised);transform:scale(1.045)}
.header-tools>.weather-toggle:active{transform:scale(.95)}
.header-tools>.weather-toggle:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
.header-tools>.weather-toggle.has-reading{display:flex;flex-direction:column;justify-content:center;gap:0;font-size:10px;line-height:12px}
.header-tools>.weather-toggle.has-reading svg{width:16px;height:16px;flex:0 0 16px}
.header-tools>.weather-toggle.has-reading span{display:block;font-variant-numeric:tabular-nums}
@media(prefers-reduced-motion:reduce){.header-tools>.weather-toggle{transition:none}}
