.weather-background[data-v-e1ef6e28]{z-index:0;pointer-events:none;background:#101c2a;position:fixed;inset:0;overflow:hidden}canvas[data-v-e1ef6e28]{width:100%;height:100%;display:block}.weather-background-shade[data-v-e1ef6e28]{background:linear-gradient(#06101b30,#06101b55 48%,#06101b80);position:absolute;inset:0}.service-directory[data-v-064c7908]{pointer-events:auto;flex-shrink:0;position:relative}.service-directory-trigger[data-v-064c7908]{color:#f5f7fa;min-height:40px;font:inherit;white-space:nowrap;cursor:pointer;background:#ffffff14;border:1px solid #ffffff26;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:8px 15px;font-size:.85rem;font-weight:650;display:inline-flex}.service-directory-trigger[data-v-064c7908]:hover,.service-directory-trigger[aria-expanded=true][data-v-064c7908]{background:#ffffff26}.service-directory-trigger[data-v-064c7908]:focus-visible,.service-directory-menu a[data-v-064c7908]:focus-visible{outline-offset:2px;outline:2px solid #e8c18e}.service-directory-chevron[data-v-064c7908]{font-size:1.05rem;line-height:1;transition:transform .2s}.service-directory-trigger[aria-expanded=true] .service-directory-chevron[data-v-064c7908]{transform:rotate(180deg)}.service-directory-menu[data-v-064c7908]{z-index:200;-webkit-backdrop-filter:blur(24px)saturate(180%);background:#151a26f5;border:1px solid #ffffff2b;border-radius:18px;gap:4px;width:min(270px,100vw - 32px);padding:10px;display:grid;position:absolute;top:calc(100% + 12px);right:0;box-shadow:0 20px 45px #000b,inset 0 1px #ffffff25}.service-directory-heading[data-v-064c7908]{color:#aab4c2;letter-spacing:.11em;text-transform:uppercase;padding:6px 10px 8px;font-size:.68rem;font-weight:800}.service-directory-menu a[data-v-064c7908]{color:#f5f7fa;border:1px solid #0000;border-radius:11px;flex-direction:column;gap:3px;padding:10px 11px;text-decoration:none;display:flex}.service-directory-menu a[data-v-064c7908]:hover,.service-directory-menu a[aria-current=page][data-v-064c7908]{background:#ffffff12;border-color:#ffffff23}.service-directory-name[data-v-064c7908]{justify-content:space-between;align-items:center;gap:10px;font-size:.87rem;font-weight:750;display:flex}.service-directory-name small[data-v-064c7908]{color:#e8c18e;font-size:.64rem;font-weight:700}.service-directory-description[data-v-064c7908]{color:#aab4c2;font-size:.72rem}@media (width<=480px){.service-directory-trigger[data-v-064c7908]{min-height:38px;padding:7px 11px;font-size:.75rem}.service-directory-menu[data-v-064c7908]{top:calc(100% + 10px)}}:root{--font-sans:-apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Plus Jakarta Sans", Inter, system-ui, sans-serif;--font-mono:"JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;--bg-deep:#08090e;--bg-surface:#1216228c;--bg-surface-elevated:#1c2234a6;--bg-surface-hover:#262e46bf;--glass-tint:#ffffff0d;--glass-tint-strong:#ffffff17;--glass-border:#ffffff24;--glass-border-bright:#ffffff47;--glass-highlight:inset 0 1px 1px 0 #ffffff47, inset 0 -1px 1px 0 #00000059;--glass-shadow:0 24px 60px -12px #000000a6, 0 0 0 1px #ffffff14;--glass-shadow-glow:0 0 40px -8px #78a0ff40;--glass-blur:blur(28px) saturate(190%);--text-primary:#f5f7fa;--text-secondary:#9aa3b5;--text-tertiary:#6b7385;--accent-cyan:#38bdf8;--accent-blue:#3b82f6;--accent-indigo:#6366f1;--accent-purple:#a855f7;--accent-amber:#f59e0b;--accent-rose:#f43f5e;--accent-emerald:#10b981}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-sans);background-color:var(--bg-deep);color:var(--text-primary);scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--bg-deep);min-height:100vh;position:relative;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;background:0 0;border:none}.liquid-card{background:var(--bg-surface);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-highlight),var(--glass-shadow);border-radius:24px;transition:all .35s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.liquid-card:before{content:"";border-radius:inherit;-webkit-mask-composite:xor;pointer-events:none;background:linear-gradient(135deg,#ffffff4d,#ffffff0d 40%,#ffffff03 60%,#ffffff2e);padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.liquid-card:hover{border-color:var(--glass-border-bright);background:var(--bg-surface-elevated);box-shadow:var(--glass-highlight),var(--glass-shadow),var(--glass-shadow-glow);transform:translateY(-3px)scale(1.005)}.liquid-pill{letter-spacing:.01em;-webkit-backdrop-filter:blur(16px);color:var(--text-secondary);background:#ffffff0f;border:1px solid #ffffff1f;border-radius:9999px;align-items:center;gap:6px;padding:6px 14px;font-size:.8125rem;font-weight:500;transition:all .2s;display:inline-flex;box-shadow:inset 0 1px 1px #fff3}.liquid-pill:hover{color:var(--text-primary);background:#ffffff1a}.liquid-btn{letter-spacing:-.01em;-webkit-user-select:none;user-select:none;border-radius:9999px;justify-content:center;align-items:center;gap:8px;padding:12px 22px;font-size:.9375rem;font-weight:600;transition:all .25s cubic-bezier(.16,1,.3,1);display:inline-flex;position:relative;overflow:hidden}.liquid-btn-primary{color:#0c0f17;background:linear-gradient(#fffffff2,#e1e6f0d9);border:1px solid #fffc;box-shadow:0 4px 20px -2px #fff3,inset 0 1px #fff}.liquid-btn-primary:hover{transform:scale(1.02);box-shadow:0 6px 28px #ffffff59,inset 0 1px #fff}.liquid-btn-primary:active{transform:scale(.98)}.liquid-btn-glass{-webkit-backdrop-filter:var(--glass-blur);color:var(--text-primary);background:#ffffff14;border:1px solid #ffffff26;box-shadow:inset 0 1px 1px #ffffff40,0 8px 24px -4px #0006}.liquid-btn-glass:hover{background:#ffffff24;border-color:#ffffff4d;transform:scale(1.02);box-shadow:inset 0 1px 1px #ffffff59,0 12px 30px -4px #00000080}.liquid-btn-glass:active{transform:scale(.98)}@keyframes driftOrb1{0%,to{transform:translate(0)scale(1)}50%{transform:translate(80px,60px)scale(1.15)}}@keyframes driftOrb2{0%,to{transform:translate(0)scale(1)}50%{transform:translate(-90px,80px)scale(.9)}}@keyframes driftOrb3{0%,to{transform:translate(0)scale(1)}50%{transform:translate(60px,-70px)scale(1.1)}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff29 padding-box padding-box;border:2px solid #0000;border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.header-wrapper{z-index:100;pointer-events:none;justify-content:center;padding:0 16px;display:flex;position:sticky;top:18px;left:0;right:0}.pill-dock{pointer-events:auto;-webkit-backdrop-filter:blur(32px)saturate(200%);background:#121622a6;border:1px solid #ffffff26;border-radius:9999px;justify-content:space-between;align-items:center;gap:20px;width:min(100%,980px);padding:8px 14px 8px 18px;transition:all .3s;display:flex;box-shadow:inset 0 1px 1px #ffffff47,0 16px 40px -10px #0009,0 0 0 1px #0000004d}.dock-brand{letter-spacing:-.02em;color:var(--text-primary);align-items:center;gap:10px;font-size:1.05rem;font-weight:700;text-decoration:none;display:flex}.brand-bubble{background:radial-gradient(circle at 35% 30%,#fffffff2,#38bdf8cc 50%,#6366f1e6);border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;display:flex;position:relative;box-shadow:inset 0 1px 2px #fffc,0 2px 10px #38bdf866}.bubble-inner{filter:blur(.5px);background:#ffffffe6;border-radius:50%;width:8px;height:8px;position:absolute;top:4px;left:5px}.brand-accent{color:var(--accent-cyan)}.dock-nav{background:#0003;border:1px solid #ffffff0f;border-radius:9999px;align-items:center;gap:4px;padding:4px;display:flex}.dock-link{color:var(--text-secondary);border-radius:9999px;align-items:center;gap:6px;padding:7px 16px;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex;position:relative}.dock-link:hover{color:var(--text-primary);background:#ffffff0f}.dock-link.active{color:#fff;background:#ffffff29;font-weight:600;box-shadow:inset 0 1px 1px #ffffff59,0 4px 12px #0000004d}.badge-dot{border-radius:50%;width:6px;height:6px;display:inline-block}.badge-dot.blue{background-color:var(--accent-cyan);box-shadow:0 0 6px var(--accent-cyan)}.badge-dot.rose{background-color:var(--accent-rose);box-shadow:0 0 6px var(--accent-rose)}.badge-dot.amber{background-color:var(--accent-amber);box-shadow:0 0 6px var(--accent-amber)}.badge-dot.emerald{background-color:var(--accent-emerald);box-shadow:0 0 6px var(--accent-emerald)}.dock-actions{align-items:center;gap:8px;display:flex}.github-dock-btn{color:#f5f7fa;-webkit-backdrop-filter:blur(20px)saturate(180%);white-space:nowrap;-webkit-user-select:none;user-select:none;cursor:pointer;background:#ffffff14;border:1px solid #ffffff2e;border-radius:9999px;justify-content:center;align-items:center;gap:7px;padding:7px 16px;font-size:.85rem;font-weight:600;text-decoration:none;transition:all .25s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:inset 0 1px 1px #ffffff59,0 4px 14px #0000004d}.github-dock-btn:hover{color:#fff;background:#ffffff29;border-color:#ffffff59;transform:translateY(-1px)scale(1.02);box-shadow:inset 0 1px 1px #ffffff73,0 8px 24px -2px #00000073,0 0 16px -2px #ffffff26}.github-dock-btn:active{transform:scale(.97);box-shadow:inset 0 1px 1px #fff3,0 2px 6px #0000004d}.gh-icon{flex-shrink:0;transition:transform .25s}.github-dock-btn:hover .gh-icon{transform:scale(1.08)}.gh-arrow{opacity:.55;font-size:.8rem;transition:transform .25s,opacity .25s}.github-dock-btn:hover .gh-arrow{opacity:1;transform:translate(1px,-1px)}.mobile-gh-label{align-items:center;gap:8px;display:flex}.mobile-toggle{background:#ffffff14;border:1px solid #ffffff26;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:36px;height:36px;display:none}.bar{background-color:var(--text-primary);width:16px;height:1.5px;transition:all .25s}.bar-1-open{transform:translateY(2.75px)rotate(45deg)}.bar-2-open{transform:translateY(-2.75px)rotate(-45deg)}.mobile-drawer{pointer-events:auto;background:#121622e6;flex-direction:column;gap:6px;padding:16px;display:flex;position:absolute;top:calc(100% + 10px);left:16px;right:16px}.mobile-nav-link{color:var(--text-secondary);border-radius:12px;justify-content:space-between;align-items:center;padding:12px 16px;font-weight:500;text-decoration:none;transition:background .2s;display:flex}.mobile-nav-link:hover,.mobile-nav-link.router-link-active{color:#fff;background:#ffffff1a}.mobile-divider{background:#ffffff1a;height:1px;margin:6px 0}.drawer-enter-active,.drawer-leave-active{transition:all .25s cubic-bezier(.16,1,.3,1)}.drawer-enter-from,.drawer-leave-to{opacity:0;transform:translateY(-8px)scale(.98)}@media (width<=768px){.dock-nav,.gh-text,.gh-arrow{display:none}.github-dock-btn{padding:7px 11px}.mobile-toggle{display:flex}}.footer-simplified{z-index:10;justify-content:center;width:100%;padding:30px 20px 24px;display:flex;position:relative}.footer-bar{-webkit-backdrop-filter:blur(28px)saturate(190%);background:#121622a6;border:1px solid #ffffff1f;border-radius:9999px;justify-content:space-between;align-items:center;gap:20px;width:100%;max-width:1400px;padding:12px 24px;display:flex;box-shadow:inset 0 1px 1px #ffffff40,0 12px 32px -8px #00000080}.footer-left{align-items:center;gap:10px;font-size:.85rem;display:flex}.footer-logo{color:#fff;align-items:center;gap:8px;font-weight:700;text-decoration:none;display:inline-flex}.logo-dot{background:var(--accent-cyan);width:8px;height:8px;box-shadow:0 0 8px var(--accent-cyan);border-radius:50%}.logo-accent{color:var(--accent-cyan)}.footer-sep{color:var(--text-tertiary);opacity:.5}.copyright{color:var(--text-tertiary);font-size:.8rem}.footer-right{align-items:center;display:flex}.powered-link{color:var(--text-secondary);align-items:center;gap:6px;font-size:.85rem;font-weight:500;text-decoration:none;transition:color .2s;display:inline-flex}.powered-link:hover{color:#fff;text-underline-offset:3px;text-decoration:underline}.powered-link .arrow{opacity:.6;font-size:.8rem;transition:transform .2s,opacity .2s}.powered-link:hover .arrow{opacity:1;transform:translate(1px,-1px)}@media (width<=640px){.footer-bar{text-align:center;border-radius:18px;flex-direction:column;gap:10px;padding:16px 20px}}.app-root{flex-direction:column;min-height:100vh;display:flex;position:relative}.main-content{flex-grow:1}.liquid-page-enter-active,.liquid-page-leave-active{transition:opacity .35s cubic-bezier(.16,1,.3,1),transform .35s cubic-bezier(.16,1,.3,1)}.liquid-page-enter-from{opacity:0;transform:translateY(12px)scale(.99)}.liquid-page-leave-to{opacity:0;transform:translateY(-8px)scale(.99)}.weather-app{--brand-accent:#38bdf8;--brand-accent-light:#7dd3fc;isolation:isolate;min-height:100svh}.weather-app .brand-bubble{background:radial-gradient(circle at 35% 30%,#fffffff2,#7dd3fcd9 50%,#0284c7e6);box-shadow:inset 0 1px 2px #fffc,0 2px 10px #38bdf866}.header-wrapper,.weather-main,.weather-footer{z-index:1;position:relative}.header-wrapper{z-index:100;position:sticky}.pill-dock{width:min(100%,980px);min-height:54px;padding:8px 18px}.weather-main{width:min(100%,1240px);margin:0 auto;padding:62px 20px 20px}.weather-main svg{flex-shrink:0;width:20px;height:20px}.dashboard-heading{justify-content:space-between;align-items:center;gap:24px;margin-bottom:32px;display:flex}.eyebrow{color:var(--accent-cyan);letter-spacing:.06em;margin-bottom:12px;font-size:.875rem;font-weight:600;display:block}h1{letter-spacing:-.035em;color:#fff;margin:0 0 14px;font-size:clamp(2rem,4vw,3.15rem);font-weight:800;line-height:1.18}.text-gradient{background:linear-gradient(135deg,#fff,#bae6fd 45%,#38bdf8);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.dashboard-heading p{color:#afbacd;font-size:.9375rem;line-height:1.6}.dashboard-heading p span{padding:0 8px}.refresh-button{flex-shrink:0}button:disabled{opacity:.5;cursor:default}button:disabled:hover{transform:none}.toolbar{z-index:20;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;display:flex;position:relative}.weather-tabs{border:1px solid var(--glass-border);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);background:#11172999;border-radius:999px;padding:5px;display:flex;box-shadow:inset 0 1px 1px #ffffff26}.weather-tabs button{color:#b0bbce;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:11px 18px;font-size:.875rem;font-weight:600;transition:background .2s;display:inline-flex}.weather-tabs button svg{width:17px;height:17px}.weather-tabs button:hover{color:#fff;background:#ffffff0d}.weather-tabs button.active{color:#fff;background:#ffffff24;box-shadow:inset 0 1px 1px #ffffff4d,0 4px 12px #0003}.warning-badge{color:#fcd38b;background:#f59e0b26;border-radius:999px;justify-content:center;align-items:center;min-width:19px;height:19px;padding:0 5px;font-size:.75rem;display:inline-flex}.location-search{width:min(100%,370px);position:relative}.search-form{border:1px solid var(--glass-border);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);background:#12162299;border-radius:999px;align-items:center;gap:10px;padding:8px 10px 8px 18px;display:flex;box-shadow:inset 0 1px 1px #ffffff26}.search-form>svg{color:#9db5ce}input,select{font:inherit;color:var(--text-primary)}input::placeholder{color:#9ca8bd;opacity:1}.search-form input{background:0 0;border:0;outline:none;flex:1;width:100%;min-width:0;height:32px;font-size:.875rem}.search-form:focus-within{border-color:#38bdf899}.search-submit{color:#dde7f5;background:#ffffff14;border-radius:50%;place-items:center;width:32px;height:32px;display:grid}.search-popover{border:1px solid var(--glass-border-bright);-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);background:#151d30f7;border-radius:18px;position:absolute;top:calc(100% + 10px);left:0;right:0;overflow:hidden;box-shadow:0 20px 50px #0008}.search-popover ul{max-height:400px;padding:6px;list-style:none;overflow-y:auto}.search-popover li button{width:100%;color:var(--text-primary);text-align:left;border-radius:12px;align-items:center;gap:12px;padding:12px;display:flex}.search-popover li button:hover,.search-popover .highlighted{background:#ffffff14}.search-popover li svg{color:var(--accent-cyan)}.search-popover strong,.search-popover small{display:block}.search-popover strong{margin-bottom:4px;font-size:.9375rem;font-weight:600}.search-popover small{color:#a8b5ca;font-size:.8125rem;line-height:1.5}.search-message{color:#bdc9dc;padding:18px;font-size:.875rem;line-height:1.6}.quick-places{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 26px;font-size:.8125rem;display:flex}.quick-places>span{color:#b1bdd0;margin-right:4px}.quick-places button{color:#b6c3d7;background:#ffffff08;border:1px solid #ffffff10;border-radius:999px;padding:7px 12px}.quick-places button:hover{color:#fff;border-color:#ffffff38}.quick-places button.selected{color:#b1e6ff;background:#38bdf812;border-color:#38bdf840}.weather-panel{min-width:0}.weather-panel:focus{outline:none}.liquid-card:hover{transform:none}.overview-grid{grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);gap:22px;display:grid}.current-card{background:linear-gradient(115deg, #38bdf814, #0ea5e905), var(--bg-surface);padding:28px 32px 0}.card-topline{justify-content:space-between;align-items:center;gap:16px;display:flex}.section-label{color:#bac7db;align-items:center;gap:8px;font-size:.875rem;font-weight:500;display:inline-flex}.section-label svg{color:#91cbee;width:18px;height:18px}.subtle{color:#a2aec3;font-size:.8125rem;line-height:1.6}.current-card h2{letter-spacing:-.025em;margin:18px 0 4px;font-size:clamp(1.5rem,3vw,2rem);font-weight:650}.current-weather{justify-content:space-between;align-items:center;gap:16px;padding:6px 0 22px;display:flex}.temperature{letter-spacing:-.075em;color:#fff;font-size:clamp(5rem,8vw,7rem);font-weight:650;line-height:1.04}.temperature>span{vertical-align:top;font-size:.75em;line-height:1.25}.condition-name{color:#d4deee;margin-top:10px;font-size:1.125rem}.weather-main .current-weather-icon{filter:drop-shadow(0 8px 20px #9cc6ff22);width:132px;height:132px;margin-right:24px}.current-details{color:#b4c2d7;flex-wrap:wrap;gap:12px 24px;padding:0 0 24px;font-size:.875rem;display:flex}.current-details strong{color:#edf3ff;margin-left:3px;font-weight:600}.current-bottom{color:#b8c8dc;border-top:1px solid #ffffff12;padding:16px 0;font-size:.875rem}.current-bottom p{align-items:center;gap:9px;line-height:1.5;display:flex}.current-bottom svg{color:#93c9ef;width:16px;height:16px}.current-bottom .retrieval-time{color:#9eb0c9;font-size:.8125rem}.current-bottom p+p{margin-top:8px}.warning-spotlight{background:linear-gradient(150deg, #f59e0b06, transparent), var(--bg-surface);flex-direction:column;align-items:flex-start;padding:28px;display:flex}.warning-spotlight .section-label svg{color:#f8c77f}.warning-count{color:#ffdcaa;letter-spacing:-.04em;margin:26px 0 14px;font-size:3.25rem;font-weight:650;line-height:1.15}.warning-count span{letter-spacing:0;color:#dae3f2;margin-top:7px;font-size:1rem;font-weight:500;display:block}.warning-spotlight h2{margin:28px 0 10px;font-size:1.4rem}.warning-spotlight>p{text-transform:capitalize;margin-bottom:8px;font-size:.9375rem;line-height:1.6}.warning-spotlight>p.subtle{text-transform:none;margin-bottom:24px;font-size:.8125rem}.warning-spotlight button{width:100%;margin-top:auto;font-size:.875rem}.metrics-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-top:22px;display:grid}.metric-card{border-radius:20px;padding:22px}.metric-value{letter-spacing:-.035em;margin:18px 0 8px;font-size:2rem;font-weight:600;line-height:1.3}.metric-value small{letter-spacing:0;color:#b1bfd3;margin-left:6px;font-size:.875rem;font-weight:400}.metric-note{color:#a7b7ce;text-transform:capitalize;font-size:.8125rem;line-height:1.5}.hourly-card{margin-top:24px;padding:26px 28px}.section-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.section-heading h2{letter-spacing:-.015em;align-items:center;gap:10px;font-size:1.0625rem;font-weight:600;display:flex}.section-heading h2 svg{color:#a4bfdc;width:18px;height:18px}.hourly-scroll{overscroll-behavior-x:contain;gap:10px;padding-bottom:12px;display:flex;overflow-x:auto}.hour-item{background:#ffffff03;border:1px solid #ffffff06;border-radius:16px;flex-direction:column;align-items:center;gap:5px;min-width:100px;padding:16px 12px;display:flex}.hour-item.first-hour{background:#38bdf812;border-color:#38bdf836}.hour-time{color:#d4deed;white-space:nowrap;font-size:.875rem}.hour-date{color:#97a8c1;font-size:.75rem}.weather-main .hour-item>svg{width:46px;height:46px;margin:10px 0 5px}.hour-item>strong{margin:0 0 8px;font-size:1.25rem;font-weight:600}.hour-rain{color:#9dd9f9;white-space:nowrap;align-items:center;gap:4px;font-size:.75rem;display:flex}.hour-rain svg{width:12px;height:12px}.forecast-bottom-grid{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:24px;margin-top:24px;display:grid}.daily-card,.astronomy-card{padding:26px 28px}.daily-card .section-heading{flex-wrap:wrap}.daily-item{border-top:1px solid #ffffff0c}.daily-item summary{cursor:pointer;grid-template-columns:112px 36px minmax(0,1fr) 62px 16px;align-items:center;gap:12px;padding:14px 0;list-style:none;display:grid}.daily-item summary::-webkit-details-marker{display:none}.daily-item summary:hover{color:#fff}.day-name{color:#d7e0ef;font-size:.875rem}.weather-main .daily-item summary>svg:not(.daily-chevron){width:36px;height:36px}.day-condition{color:#b3bfd3;font-size:.8125rem;line-height:1.45}.day-range{justify-content:flex-end;gap:12px;font-size:.875rem;display:flex}.day-range>span{color:#8fa4bf}.weather-main .daily-chevron{color:#899bb6;width:14px;height:14px;transition:transform .2s}.daily-item[open] .daily-chevron{transform:rotate(90deg)}.day-periods{color:#c5d2e6;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0 0 18px;font-size:.8125rem;line-height:1.5;display:grid}.day-periods small{color:#8ea3c0;margin-bottom:5px;font-size:.75rem;display:block}.sun-times{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:16px 0 24px;display:grid}.sun-times>div{flex-direction:column;gap:10px;display:flex}.sun-times svg{color:#f9cf88;width:30px;height:30px;margin-bottom:5px}.sun-times span{color:#a6b8d0;font-size:.875rem}.sun-times strong{font-size:1.25rem;font-weight:600}.sun-additional{color:#93a6c0;border-bottom:1px solid #ffffff12;flex-wrap:wrap;gap:10px 20px;padding-bottom:24px;font-size:.8125rem;display:flex}.sun-additional strong{color:#c3d2e8;margin-left:4px;font-weight:500}.moon-detail{align-items:center;gap:20px;padding:32px 0;display:flex}.moon-detail>svg{color:#c5c6f7;width:40px;height:40px}.moon-detail span,.moon-detail p{color:#9eb2ce;font-size:.8125rem}.moon-detail h3{margin:7px 0;font-size:1rem;font-weight:600}.view-heading{justify-content:space-between;align-items:center;gap:24px;margin:32px 0;display:flex}.view-heading h2{letter-spacing:-.025em;margin-bottom:10px;font-size:clamp(1.6rem,3vw,2rem);font-weight:650}.view-heading p{color:#b0c0d7;font-size:.9375rem;line-height:1.6}.view-heading .eyebrow{margin-bottom:9px}.weather-main .view-icon{color:#93b6dc;width:40px;height:40px}.filter-row{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.segmented-control{background:#0c122b80;border:1px solid #ffffff12;border-radius:999px;padding:5px;display:inline-flex}.segmented-control button{color:#b1c0d7;border-radius:999px;padding:9px 16px;font-size:.875rem}.segmented-control button.active{color:#fff;background:#ffffff1c;box-shadow:inset 0 1px 1px #ffffff2e}.warnings-list{gap:20px;display:grid}.warning-card{padding:28px 32px}.warning-status{color:#e2c088;background:#f59e0b12;border:1px solid #f59e0b30;border-radius:999px;align-items:center;gap:7px;padding:6px 10px;font-size:.8125rem;display:inline-flex}.warning-status svg{width:15px;height:15px}.warning-status.ended{color:#aab8cd;background:#ffffff08;border-color:#ffffff20}.warning-status.scheduled,.warning-status.notice{color:#b2dfff;background:#38bdf812;border-color:#38bdf82b}.warning-card h3{text-transform:capitalize;letter-spacing:-.02em;margin:20px 0 10px;font-size:1.35rem;font-weight:600}.warning-issued{color:#a6b5cc;margin-bottom:22px;font-size:.8125rem;line-height:1.7}.warning-body{color:#d0dcec;max-width:980px;font-size:1rem;line-height:1.8}.warning-body p+p{margin-top:14px}.warning-reference{color:#91a4c0;overflow-wrap:anywhere;margin-top:24px;font-size:.8125rem}.earthquake-card{margin-top:24px;padding:28px 32px}.earthquake-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.earthquake-row{border-top:1px solid #ffffff12;align-items:center;gap:20px;padding:20px 0;display:flex}.magnitude{text-align:center;background:#ffffff08;border:1px solid #ffffff0c;border-radius:14px;min-width:94px;padding:14px}.magnitude small{color:#9fb0c9;margin-bottom:7px;font-size:.75rem;display:block}.magnitude strong{font-size:1.75rem;font-weight:600}.earthquake-row h3{margin-bottom:8px;font-size:1rem;font-weight:600}.earthquake-row p{color:#b1c0d7;font-size:.8125rem;line-height:1.6}.location-filters{flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:24px;padding:20px;display:flex;overflow:visible}.filter-search{background:#ffffff04;border:1px solid #ffffff20;border-radius:12px;flex:1;align-items:center;gap:10px;min-width:200px;height:44px;padding:0 12px;display:flex}.filter-search svg{color:#8fb0d7;width:17px;height:17px}.filter-search input{background:0 0;border:0;outline:0;width:100%;min-width:0;font-size:.875rem}.location-filters label{flex:1;min-width:145px}.location-filters label>span{color:#a2b5cf;margin-bottom:8px;font-size:.8125rem;display:block}.location-filters select{background:#161f32;border:1px solid #ffffff20;border-radius:12px;width:100%;height:44px;padding:10px 12px;font-size:.875rem}.locations-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.location-card{flex-direction:column;align-items:flex-start;padding:24px;display:flex}.location-card h3{margin:20px 0 8px;font-size:1.15rem;font-weight:600;line-height:1.4}.location-card p{color:#a5b8d0;margin-bottom:24px;font-size:.875rem;line-height:1.5}.location-card .text-button{margin-top:auto}.text-button{color:#aadeff;align-items:center;gap:8px;padding:5px 0;font-size:.875rem;font-weight:500;display:inline-flex}.text-button:hover{color:#fff;text-underline-offset:4px;text-decoration:underline}.text-button svg{width:14px;height:14px}.pagination{color:#b1c2da;justify-content:center;align-items:center;gap:24px;margin-top:28px;font-size:.875rem;display:flex}.inline-status{color:#b0c4dd;margin:0 0 20px;font-size:.875rem}.inline-error{color:#ddc397;background:#f59e0b08;border:1px solid #f59e0b33;border-radius:16px;margin-bottom:24px;padding:18px 22px;font-size:.875rem;line-height:1.6}.news-list{gap:18px;display:grid}.news-card{align-items:flex-start;gap:26px;padding:28px 32px;display:flex}.news-number{color:#7f9bbc;font-size:1.5rem;font-family:var(--font-mono);padding-top:2px;font-weight:400}.news-card>div{flex:1}.news-card h3{color:#e4ecf8;margin:12px 0 16px;font-size:1.125rem;font-weight:600;line-height:1.6}.news-icon{color:#8fb0d7}.document-label{color:#a0b4cf;border:1px solid #ffffff20;border-radius:5px;padding:3px 7px;font-size:.75rem}.error-panel,.empty-panel,.loading-panel{text-align:center;color:#b5c6df;padding:44px 32px;line-height:1.7}.error-panel>svg,.empty-panel>svg{color:#94bedf;width:36px;height:36px;margin-bottom:14px}.error-panel h2,.error-panel h3,.empty-panel h3{color:#f0f5ff;margin-bottom:12px;font-size:1.25rem;font-weight:600}.error-panel button{margin-top:22px}.empty-message{color:#a9bdd8;padding:20px 0;font-size:.9375rem;line-height:1.6}.skeleton{background:#ffffff08;border-radius:14px;margin:0 auto 24px;animation:1.8s ease-in-out infinite shimmer}.skeleton-title{max-width:200px;height:24px}.skeleton-temperature{max-width:140px;height:100px}.weather-footer .footer-bar{max-width:1400px}.weather-footer .copyright{text-decoration:none}.weather-footer .copyright:hover{color:var(--text-primary);text-underline-offset:3px;text-decoration:underline}:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:4px}.skip-link{z-index:200;background:var(--text-primary);color:var(--bg-deep);border-radius:12px;padding:12px 20px;position:fixed;top:8px;left:20px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.spinning{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{50%{opacity:.4}}@media (width<=1100px){.toolbar{flex-wrap:wrap}.location-search{flex:1;min-width:250px}.weather-tabs button{padding-left:14px;padding-right:14px}.metrics-grid{gap:12px}.metric-card{padding:18px 14px}.metric-value{font-size:1.75rem}.daily-item summary{grid-template-columns:95px 32px minmax(0,1fr) 60px 14px;gap:8px}}@media (width<=900px){.forecast-bottom-grid{grid-template-columns:1fr}.astronomy-card .sun-times{max-width:380px}.metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.overview-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.weather-main .current-weather-icon{width:100px;height:100px;margin-right:0}.locations-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.earthquake-list{grid-template-columns:1fr;gap:0}.toolbar{align-items:stretch}.weather-tabs{flex:1 0 100%;justify-content:space-between}.weather-tabs button{flex:1}.location-search{width:100%;max-width:none}}@media (width<=640px){.weather-main{padding:44px 16px 10px}.pill-dock{min-height:52px;padding:10px 16px}.time-zone{display:none}.dashboard-heading{align-items:flex-start;gap:12px;margin-bottom:26px}.dashboard-heading h1{max-width:250px;font-size:2rem}.dashboard-heading p{font-size:.8125rem}.dashboard-heading p span{padding:0 3px}.refresh-button{width:40px;height:40px;padding:10px;font-size:0;overflow:hidden}.refresh-button svg{width:18px;height:18px}.weather-tabs button{gap:5px;padding:10px 8px;font-size:.875rem}.weather-tabs button svg{display:none}.warning-badge{min-width:17px;height:17px;padding:0 4px;font-size:.75rem}.quick-places{gap:6px;font-size:.8125rem}.quick-places>span{width:100%;margin:0 0 4px}.overview-grid{grid-template-columns:1fr;gap:16px}.current-card{padding:24px 24px 0}.card-topline .subtle{text-align:right;font-size:.75rem}.current-card h2{font-size:1.75rem}.temperature{font-size:6rem}.weather-main .current-weather-icon{width:100px;height:100px}.current-details{gap:12px 18px}.warning-spotlight{padding:24px}.warning-count{align-items:center;gap:16px;margin-top:18px;font-size:2.5rem;display:flex}.warning-count span{margin:0}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.metric-card{padding:20px}.metric-card:last-child{grid-column:span 2}.metric-value{font-size:1.8rem}.hourly-card,.daily-card,.astronomy-card{padding:22px 20px}.section-heading{flex-wrap:wrap;gap:8px}.hourly-card{margin-top:18px}.hour-item{min-width:96px}.forecast-bottom-grid{gap:18px;margin-top:18px}.daily-item summary{grid-template-columns:79px 30px minmax(0,1fr) 54px 12px;gap:5px}.day-name,.day-range,.day-condition{font-size:.875rem}.day-range,.day-periods{gap:8px}.view-heading{align-items:flex-start;gap:14px;margin-top:26px}.view-heading button{padding:10px 12px;font-size:.8125rem}.view-heading button svg{width:15px;height:15px}.filter-row{flex-wrap:wrap}.segmented-control button{padding:8px 12px;font-size:.8125rem}.warning-card{padding:24px}.warning-card h3{font-size:1.2rem}.warning-body{font-size:.9375rem}.earthquake-card{padding:24px}.earthquake-row{gap:14px}.magnitude{min-width:84px}.location-filters{gap:14px;padding:18px}.filter-search{flex-basis:100%}.location-filters label{min-width:120px}.location-filters label:last-child{flex-basis:100%}.locations-grid{grid-template-columns:1fr;gap:14px}.pagination{gap:14px}.pagination button{padding:10px 16px;font-size:.8125rem}.news-card{gap:14px;padding:24px}.news-number{font-size:1.15rem}.news-icon{display:none}.news-card h3{font-size:1rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
