.uplot,.uplot *,.uplot *:before,.uplot *:after{box-sizing:border-box}.uplot{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5;width:min-content}.u-title{text-align:center;font-size:18px;font-weight:700}.u-wrap{position:relative;-webkit-user-select:none;user-select:none}.u-over,.u-under{position:absolute}.u-under{overflow:hidden}.uplot canvas{display:block;position:relative;width:100%;height:100%}.u-axis{position:absolute}.u-legend{font-size:14px;margin:auto;text-align:center}.u-inline{display:block}.u-inline *{display:inline-block}.u-inline tr{margin-right:16px}.u-legend th{font-weight:600}.u-legend th>*{vertical-align:middle;display:inline-block}.u-legend .u-marker{width:1em;height:1em;margin-right:4px;background-clip:padding-box!important}.u-inline.u-live th:after{content:":";vertical-align:middle}.u-inline:not(.u-live) .u-value{display:none}.u-series>*{padding:4px}.u-series th{cursor:pointer}.u-legend .u-off>*{opacity:.3}.u-select{background:#00000012;position:absolute;pointer-events:none}.u-cursor-x,.u-cursor-y{position:absolute;left:0;top:0;pointer-events:none;will-change:transform}.u-hz .u-cursor-x,.u-vt .u-cursor-y{height:100%;border-right:1px dashed #607D8B}.u-hz .u-cursor-y,.u-vt .u-cursor-x{width:100%;border-bottom:1px dashed #607D8B}.u-cursor-pt{position:absolute;top:0;left:0;border-radius:50%;border:0 solid;pointer-events:none;will-change:transform;background-clip:padding-box!important}.u-axis.u-off,.u-select.u-off,.u-cursor-x.u-off,.u-cursor-y.u-off,.u-cursor-pt.u-off{display:none}:root{--glass-bg: rgba(255, 255, 255, .1);--glass-brd: rgba(255, 255, 255, .18);--txt: #f3f7ff;--txt-dim: rgba(243, 247, 255, .62);--txt-faint: rgba(243, 247, 255, .4);--radius: 26px;--radius-sm: 18px;--shadow: 0 10px 40px rgba(0, 0, 0, .28);--accent: #6db8ff;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,system-ui,sans-serif}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html,body,#app{height:100%}body{color:var(--txt);background:#0a1326;overflow:hidden;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}.sky{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;transition:background 2.5s ease}.sky.clear-day{background:linear-gradient(170deg,#2b6fe0,#4f93f2 45%,#87c0ff)}.sky.clear-night{background:linear-gradient(175deg,#060b1c,#0f1c3d 55%,#1a2f57)}.sky.partly-day{background:linear-gradient(170deg,#3576cf,#5a97e2 48%,#9ec7f0)}.sky.partly-night{background:linear-gradient(175deg,#081023,#142541 55%,#233c60)}.sky.cloudy-day{background:linear-gradient(170deg,#4b5f7e,#6a7e9c,#93a4bd)}.sky.cloudy-night{background:linear-gradient(175deg,#0a1020,#1a2436 60%,#2b3850)}.sky.rain{background:linear-gradient(175deg,#1f2a3d,#33465f 55%,#4a5d78)}.sky.fog{background:linear-gradient(175deg,#38424f,#5a6672 55%,#818c98)}.sky.snow{background:linear-gradient(175deg,#2a3647,#45566b 55%,#6c7b8f)}.flake{position:absolute;top:-6%;background:#fff;border-radius:50%;filter:blur(.3px);animation:snowfall linear infinite}@keyframes snowfall{to{transform:translate(var(--drift, 0),112vh)}}.sun{position:absolute;top:12%;right:16%;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle at 50% 50%,#fff6d8,#ffe9a6 40%,#ffdc8200 72%);filter:blur(2px);animation:pulse 8s ease-in-out infinite}.moon{position:absolute;top:13%;right:17%;width:92px;height:92px;border-radius:50%;background:radial-gradient(circle at 38% 38%,#fdfdff,#d7def0 60%,#b9c3dc);box-shadow:0 0 60px 12px #c8d7ff40}@keyframes pulse{0%,to{transform:scale(1);opacity:.95}50%{transform:scale(1.04);opacity:1}}.stars{position:absolute;top:0;right:0;bottom:0;left:0}.star{position:absolute;background:#fff;border-radius:50%;animation:twinkle 4s ease-in-out infinite}@keyframes twinkle{0%,to{opacity:.25}50%{opacity:.9}}.cloud{position:absolute;color:#ffffffe6;filter:blur(4px) drop-shadow(0 10px 18px rgba(40,60,90,.18));animation:drift linear infinite;will-change:transform}.cloud svg{display:block;width:100%;height:auto}.sky.clear-night .cloud,.sky.cloudy-night .cloud,.sky.partly-night .cloud{color:#cdd7eb33;filter:blur(5px)}.sky.cloudy-day .cloud{color:#ffffffd1}@keyframes drift{0%{transform:translate(-35vw)}to{transform:translate(135vw)}}.rain-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.drop{position:absolute;top:-12%;width:2px;height:68px;background:linear-gradient(to bottom,#fff0,#bed7ff8c);animation:fall linear infinite}@keyframes fall{to{transform:translateY(120vh)}}.sky:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#0000 40%,#050a168c)}.shell{position:relative;z-index:1;height:100%;width:100%;padding:clamp(16px,2.5vw,34px);display:flex;flex-direction:column;gap:clamp(14px,1.8vw,24px);overflow-y:auto;-webkit-overflow-scrolling:touch}.topbar{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px}.place{font-size:clamp(20px,2.4vw,30px);font-weight:600;letter-spacing:.2px}.updated{color:var(--txt-dim);font-size:clamp(12px,1.3vw,15px);font-variant-numeric:tabular-nums}.hero{display:flex;align-items:center;gap:clamp(16px,3vw,48px);padding:clamp(6px,1vw,16px) clamp(4px,1vw,12px)}.hero-temp{font-size:clamp(76px,13vw,170px);font-weight:250;line-height:.9;letter-spacing:-4px;font-variant-numeric:tabular-nums}.hero-temp sup{font-size:.32em;font-weight:300;vertical-align:super;margin-left:4px}.hero-meta{display:flex;flex-direction:column;gap:6px}.hero-cond{font-size:clamp(22px,2.8vw,36px);font-weight:500}.hero-sub{color:var(--txt-dim);font-size:clamp(14px,1.6vw,19px)}.hero-range{color:var(--txt-dim);font-size:clamp(14px,1.6vw,19px);font-variant-numeric:tabular-nums}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:clamp(12px,1.5vw,20px)}.card{background:var(--glass-bg);border:1px solid var(--glass-brd);border-radius:var(--radius);padding:clamp(14px,1.6vw,22px);-webkit-backdrop-filter:blur(22px) saturate(160%);backdrop-filter:blur(22px) saturate(160%);box-shadow:var(--shadow)}.card-head{display:flex;align-items:center;gap:8px;color:var(--txt-dim);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.6px}.card-head .ic{width:16px;height:16px;opacity:.8}.tile-val{margin-top:10px;font-size:clamp(30px,3.4vw,46px);font-weight:400;font-variant-numeric:tabular-nums}.tile-val small{font-size:.42em;color:var(--txt-dim);margin-left:4px;font-weight:500}.tile-sub{margin-top:4px;color:var(--txt-dim);font-size:14px}.span-2{grid-column:span 2}@media (max-width: 560px){.span-2{grid-column:span 1}}.compass{position:relative;width:108px;height:108px;margin:6px auto 0}.compass svg{width:100%;height:100%}.compass .needle{transition:transform 1.2s cubic-bezier(.22,1,.36,1);transform-origin:50% 50%}.chart-card{padding:clamp(14px,1.6vw,22px)}.chart-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;flex-wrap:wrap}.chart-title{font-size:clamp(15px,1.7vw,19px);font-weight:600}.ranges{display:flex;gap:6px;background:#00000038;padding:4px;border-radius:999px}.ranges button{border:0;background:transparent;color:var(--txt-dim);font:inherit;font-size:13px;font-weight:600;padding:6px 12px;border-radius:999px;cursor:pointer;transition:.2s}.ranges button.active{background:#ffffff2e;color:var(--txt)}.uplot{width:100%!important}.u-legend{font-size:13px}.u-axis{color:var(--txt-faint)}.u-grid{stroke:#ffffff14}.fc-row{display:flex;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px}.fc-day{flex:1 1 0;min-width:64px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;border-radius:var(--radius-sm);background:#ffffff0f}.fc-day:first-child{background:#ffffff24}.fc-wd{font-size:13px;color:var(--txt-dim);font-weight:600}.fc-ic{font-size:30px;line-height:1.1}.fc-pp{font-size:12px;color:#7fc5ff;font-weight:600;min-height:15px}.fc-t{font-size:15px;font-variant-numeric:tabular-nums}.fc-t span{color:var(--txt-dim)}.fc-btn{border:0;font:inherit;color:inherit;cursor:pointer;transition:background .2s,transform .1s}.fc-btn:active{transform:scale(.97)}.fc-btn.active{background:#fff3;box-shadow:inset 0 0 0 1px #ffffff4d}.fc-caret{font-size:9px;color:var(--txt-faint);margin-top:1px}.fc-hourly{margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.12)}.fc-hourly-title{font-size:14px;font-weight:600;color:var(--txt-dim);margin-bottom:10px}.fc-sun{color:var(--txt-faint);font-weight:500}.footer{color:var(--txt-faint);font-size:12px;text-align:center;padding:4px 0 10px}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#45d483;margin-right:6px;box-shadow:0 0 8px #45d483}.dot.stale{background:#e0b341;box-shadow:0 0 8px #e0b341}.dot.off{background:#e05a5a;box-shadow:none}.loading{display:grid;place-items:center;height:100%;color:var(--txt-dim);font-size:18px}.fade-in{animation:fadein .6s ease}@keyframes fadein{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
