.brand-mark img { width: 34px; height: 34px; object-fit: contain; }
#weather-panel { position: absolute; z-index: 8; top: 14.5%; left: 50%; translate: -50% 0; width: min(390px, 46%); max-height: 22.5%; overflow: auto; overscroll-behavior: contain; padding: 12px 16px; border: 1px solid #77b1b36b; border-radius: 20px; background: linear-gradient(135deg, #123e4cf5, #183b53f5); color: #f4faf6; box-shadow: 0 8px 24px #001b2866; scrollbar-width: thin; scrollbar-color: #82acae #193e49; font: 12px/1.4 "Segoe UI", sans-serif; }
#weather-panel header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 7px; }
#weather-panel header strong { font-size: 16px; font-weight: 650; }
#weather-panel button { min-height: 28px; border: 1px solid #88babd70; background: #295665; color: #f4faf6; border-radius: 12px; padding: 4px 9px; font: inherit; font-family: var(--button-font); cursor: pointer; }
#weather-panel button:hover { background: #386e7b; }
#weather-panel button:focus-visible, #weather-panel input:focus-visible, #weather-panel select:focus-visible { outline: 2px solid #d6fb74; outline-offset: 2px; }
#weather-panel #weather-query:focus-visible { outline-color: #aabaff; }
#weather-panel #weather-query[data-pointer-focus]:focus { outline: none; box-shadow: none; }
#weather-close { border: 0 !important; width: 28px; font-size: 20px !important; }
.weather-toolbar, .weather-search-row { display: flex; gap: 8px; }
.weather-toolbar { margin-bottom: 8px; }
.weather-toolbar label { display: flex; align-items: center; gap: 5px; }
#weather-panel select, #weather-panel input { border: 1px solid #85b2b878; border-radius: 9px; color: #effaf7; background: #143b49; padding: 5px 7px; font: inherit; min-width: 0; }
#weather-panel input { flex: 1; width: 100%; }
#weather-panel input::placeholder { color: #bdd5d5; }
#weather-panel p { margin: 7px 0; }
.weather-privacy, .weather-stamp, .weather-credits { font-size: 10px; color: #c2d9d9; }
#weather-results { display: grid; gap: 5px; }
#weather-results button { text-align: left; }
.weather-now { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.weather-now div { display: grid; gap: 2px; }
.weather-now small { font-size: 10px; color: #c2d9d9; }
.weather-now b { font: 38px/1 "Bahnschrift", "Consolas", monospace; color: #d6fb74; white-space: nowrap; }
.weather-measures { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 14px; margin: 10px 0; }
.weather-measures span { display: flex; justify-content: space-between; gap: 5px; font-size: 11px; }
.weather-measures strong, .weather-hours strong { font-family: "Bahnschrift", "Consolas", monospace; font-weight: 500; }
.weather-hours { display: flex; justify-content: space-between; border-top: 1px solid #83b7be44; padding-top: 7px; }
.weather-hours span { display: grid; gap: 2px; }
.weather-hours small { font-size: 9px; }
.weather-actions { display: flex; gap: 6px; margin-top: 7px; }
.weather-credits { margin-top: 7px; }
[data-layout="classic"] #weather-panel { display: none; }
#globe-local-pin { position: absolute; z-index: 5; width: 14px; height: 14px; translate: -50% -50%; text-align: center; color: #f3ffd2; text-shadow: 0 1px 4px #072632; pointer-events: none; }
.weather-pin-dot { display: block; margin: auto; width: 14px; height: 14px; border: 3px solid #d6fb74; border-radius: 50%; background: #4763ff; box-shadow: 0 0 0 7px #d6fb7422, 0 0 22px #4763ff; }
.weather-pin-reading { position: absolute; z-index: 1; bottom: 28px; left: 50%; translate: -50% 0; display: grid; justify-items: center; gap: 4px; min-width: 145px; max-width: 220px; padding: 12px 18px; border: 1px solid #c3f3e466; border-radius: 20px; background: #0a3446eb; box-shadow: 0 8px 24px #00162166; }
.weather-pin-reading::after { content: ""; position: absolute; width: 1px; height: 18px; background: #d6fb74; bottom: -19px; left: 50%; }
.weather-pin-reading small { font: 11px/1.3 "Helvetica Neue", Helvetica, Arial, sans-serif; color: #e9f8f4; }
.weather-pin-label { display: block; font: 46px/1 "Bahnschrift", "Consolas", monospace; letter-spacing: -2px; white-space: nowrap; }
#weather-pin-wind { font: 11px/1.4 "Helvetica Neue", Helvetica, Arial, sans-serif; white-space: nowrap; color: #daeee9; }
.weather-pin-reading .weather-pin-kind { font-size: 9px; color: #b3d2ce; }
[data-expanded-page] #globe-local-pin { visibility: hidden; }
#weather-wind { position: absolute; width: 210px; height: 146px; left: calc(50% - 105px); top: calc(50% - 73px); transform-origin: center; overflow: visible; }
#weather-wind path { fill: none; stroke: #c5f9f0; stroke-width: 1.5; stroke-linecap: round; stroke-dasharray: 20 28 7 40; opacity: .36; animation: weather-flow var(--wind-duration, 3s) linear infinite; }
#weather-wind.calm { display: none; }
.weather-paused #weather-wind path, .weather-still #weather-wind path, [hidden] #weather-wind path { animation-play-state: paused; }
@keyframes weather-flow { from { stroke-dashoffset: 95; } to { stroke-dashoffset: 0; } }
@media (prefers-reduced-motion: reduce) { #weather-wind path { animation: none; } }
