.current-weather[data-v-380c1312]{padding:var(--space-6);text-align:center;border-radius:var(--radius-xl)}.location[data-v-380c1312]{display:flex;align-items:center;justify-content:center;gap:var(--space-2);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-heading)}.location .fas[data-v-380c1312]{color:var(--color-accent)}.local-time[data-v-380c1312]{margin-top:var(--space-1);font-size:var(--font-size-sm);color:var(--color-text-muted)}.temp-row[data-v-380c1312]{display:flex;align-items:center;justify-content:center;margin-top:var(--space-4)}.weather-icon[data-v-380c1312]{width:100px;height:100px;filter:drop-shadow(0 4px 6px rgba(0,0,0,.15))}.temperature[data-v-380c1312]{display:flex;align-items:flex-start;font-size:var(--font-size-hero);font-weight:var(--font-weight-light);line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.unit[data-v-380c1312]{margin-top:.15em;font-size:.35em;letter-spacing:0}.description[data-v-380c1312]{margin-top:var(--space-2);font-size:var(--font-size-lg);color:var(--color-text-muted);text-transform:capitalize}.range[data-v-380c1312]{display:flex;justify-content:center;gap:var(--space-4);margin-top:var(--space-2);font-weight:var(--font-weight-medium)}.empty-state[data-v-163cc8ba]{padding:var(--space-8) var(--space-4);text-align:center;color:var(--color-text-muted)}.empty-icon[data-v-163cc8ba]{font-size:3rem;color:var(--color-accent);margin-bottom:var(--space-4)}.empty-title[data-v-163cc8ba]{font-size:var(--font-size-xl);font-weight:var(--font-weight-medium);color:var(--color-heading)}.empty-text[data-v-163cc8ba]{margin-top:var(--space-2)}.error-message[data-v-0b9c567a]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);color:var(--color-danger);background-color:var(--color-danger-bg);border-radius:var(--radius-md)}.forecast[data-v-a2ddb1fc]{padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg)}.forecast-title[data-v-a2ddb1fc]{display:flex;align-items:center;gap:var(--space-2);padding-bottom:var(--space-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--glass-border)}.forecast-title .fas[data-v-a2ddb1fc]{color:var(--color-accent)}.forecast-list[data-v-a2ddb1fc]{margin:0;padding:0;list-style:none}.forecast-day[data-v-a2ddb1fc]{display:grid;grid-template-columns:3.5rem 40px 2.5rem 1fr 2.5rem;align-items:center;gap:var(--space-2);padding:var(--space-1) 0;font-variant-numeric:tabular-nums}.forecast-day+.forecast-day[data-v-a2ddb1fc]{border-top:1px solid var(--glass-border)}.day-label[data-v-a2ddb1fc]{font-weight:var(--font-weight-medium)}.day-min[data-v-a2ddb1fc]{color:var(--color-text-muted);text-align:right}.day-max[data-v-a2ddb1fc]{font-weight:var(--font-weight-medium)}.day-bar[data-v-a2ddb1fc]{position:relative;height:6px;background:color-mix(in srgb,currentColor 20%,transparent);border-radius:var(--radius-full)}.day-bar-fill[data-v-a2ddb1fc]{position:absolute;top:0;bottom:0;background:linear-gradient(90deg,#6dd5fa,#ffd56b,#ff8a5c);border-radius:var(--radius-full)}.locate-btn[data-v-571d35c4]{display:grid;flex-shrink:0;place-items:center;width:36px;height:36px;color:var(--color-text-muted);background:transparent;border:none;border-radius:50%;cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast)}.locate-btn[data-v-571d35c4]:hover:not(:disabled){color:var(--color-text);background-color:color-mix(in srgb,currentColor 12%,transparent)}.locate-btn[data-v-571d35c4]:disabled{opacity:.5;cursor:not-allowed}.search-container[data-v-571d35c4]{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-1) var(--space-1) var(--space-1) var(--space-4);border-radius:var(--radius-full);transition:box-shadow var(--transition-fast)}.search-container[data-v-571d35c4]:focus-within{box-shadow:0 0 0 3px var(--color-focus-ring),var(--glass-shadow)}.search-icon[data-v-571d35c4]{color:var(--color-text-muted)}.city-input[data-v-571d35c4]{flex:1;min-width:0;padding:var(--space-2) 0;background:transparent;border:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.city-input[data-v-571d35c4]::-moz-placeholder{color:var(--color-text-muted)}.city-input[data-v-571d35c4]::placeholder{color:var(--color-text-muted)}.city-input[data-v-571d35c4]:focus-visible{outline:none}.search-btn[data-v-571d35c4]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);font-weight:var(--font-weight-medium);color:var(--color-on-primary);background-color:var(--color-primary);border:none;border-radius:var(--radius-full);cursor:pointer;transition:background-color var(--transition-base)}.search-btn[data-v-571d35c4]:hover:not(:disabled){background-color:var(--color-primary-hover)}.search-btn[data-v-571d35c4]:disabled{opacity:.6;cursor:not-allowed}@media (min-width:768px){.search-container[data-v-571d35c4]{max-width:420px}}.weather-details[data-v-d0677176]{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:var(--space-3);margin:0;padding:0;list-style:none}.tile[data-v-d0677176]{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius-lg)}.tile-label[data-v-d0677176]{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.tile-label .fas[data-v-d0677176]{color:var(--color-accent)}.tile-value[data-v-d0677176]{font-size:var(--font-size-xl);font-weight:var(--font-weight-medium);font-variant-numeric:tabular-nums}.unit-toggle[data-v-1608a108]{display:flex;flex-shrink:0;padding:var(--space-1);border-radius:var(--radius-full)}.unit-btn[data-v-1608a108]{min-width:2.75rem;padding:var(--space-1) var(--space-3);font-weight:var(--font-weight-medium);color:var(--color-text-muted);background:transparent;border:none;border-radius:var(--radius-full);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast)}.unit-btn[data-v-1608a108]:hover:not(.is-active){color:var(--color-text)}.unit-btn.is-active[data-v-1608a108]{color:var(--color-on-primary);background-color:var(--color-primary)}.recent-list[data-v-72bae5ba]{display:flex;position:relative;flex-wrap:wrap;gap:var(--space-2);margin:0;padding:0;list-style:none}.chip[data-v-72bae5ba]{display:flex;align-items:center;border-radius:var(--radius-full)}.chip-btn[data-v-72bae5ba],.chip-remove[data-v-72bae5ba]{display:flex;align-items:center;color:inherit;background:transparent;border:none;cursor:pointer}.chip-btn[data-v-72bae5ba]{gap:var(--space-2);padding:var(--space-1) var(--space-2) var(--space-1) var(--space-3);font-size:var(--font-size-sm)}.chip-btn .fas[data-v-72bae5ba]{color:var(--color-text-muted)}.chip-btn[data-v-72bae5ba]:disabled{opacity:.6;cursor:not-allowed}.chip-remove[data-v-72bae5ba]{justify-content:center;width:1.75rem;height:1.75rem;margin-right:var(--space-1);color:var(--color-text-muted);border-radius:50%;transition:color var(--transition-fast),background-color var(--transition-fast)}.chip-remove[data-v-72bae5ba]:hover{color:var(--color-text);background-color:color-mix(in srgb,currentColor 12%,transparent)}.chip-enter-active[data-v-72bae5ba],.chip-leave-active[data-v-72bae5ba]{transition:opacity var(--transition-fast),transform var(--transition-fast)}.chip-enter-from[data-v-72bae5ba],.chip-leave-to[data-v-72bae5ba]{opacity:0;transform:scale(.8)}.chip-leave-active[data-v-72bae5ba]{position:absolute}.chip-move[data-v-72bae5ba]{transition:transform var(--transition-base)}.skeleton-layout[data-v-4291dffe]{display:grid;gap:var(--space-4)}.skeleton-side[data-v-4291dffe]{display:flex;flex-direction:column;gap:var(--space-4)}.skeleton-hero[data-v-4291dffe]{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-6);border-radius:var(--radius-xl)}.skeleton-tiles[data-v-4291dffe]{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:var(--space-3);margin:0;padding:0;list-style:none}.skeleton-tile[data-v-4291dffe]{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius-lg)}.skeleton-forecast[data-v-4291dffe]{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg)}.bone[data-v-4291dffe]{position:relative;display:block;overflow:hidden;height:1rem;background:color-mix(in srgb,currentColor 15%,transparent);border-radius:var(--radius-sm)}.bone[data-v-4291dffe]:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,color-mix(in srgb,currentColor 15%,transparent),transparent);transform:translateX(-100%);animation:shimmer-4291dffe 1.4s ease-in-out infinite}@keyframes shimmer-4291dffe{to{transform:translateX(100%)}}.bone--title[data-v-4291dffe]{width:50%;height:1.5rem}.bone--text[data-v-4291dffe]{width:35%}.bone--temp[data-v-4291dffe]{width:40%;height:5rem;margin:var(--space-2) 0;border-radius:var(--radius-lg)}.bone--label[data-v-4291dffe]{width:60%;height:.75rem}.bone--value[data-v-4291dffe]{width:45%;height:1.5rem}.bone--row[data-v-4291dffe]{height:1.75rem}@media (min-width:768px){.skeleton-layout[data-v-4291dffe]{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start}}.weather-app[data-v-66b089ef]{position:relative;isolation:isolate;overflow:hidden;min-height:100vh;padding:var(--space-6) var(--space-4);color:var(--color-text);background:linear-gradient(180deg,var(--sky-top),var(--sky-bottom));transition:--sky-top var(--transition-sky),--sky-bottom var(--transition-sky),--sky-glow var(--transition-sky)}.weather-app[data-v-66b089ef]:before{content:"";position:absolute;top:-20vmax;right:-15vmax;z-index:-1;width:60vmax;height:60vmax;border-radius:50%;background:radial-gradient(circle,var(--sky-glow),transparent 65%);pointer-events:none}.header-controls[data-v-66b089ef]{display:flex;align-items:center;gap:var(--space-3)}.header-search[data-v-66b089ef]{flex:1}.container[data-v-66b089ef]{display:flex;flex-direction:column;gap:var(--space-6);max-width:var(--container-width);margin:0 auto}.app-header[data-v-66b089ef]{display:flex;flex-direction:column;gap:var(--space-4)}.app-title[data-v-66b089ef]{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-heading)}.app-title .fas[data-v-66b089ef]{color:var(--color-accent)}.app-main[data-v-66b089ef]{display:flex;flex-direction:column;gap:var(--space-4)}.weather-layout[data-v-66b089ef]{display:grid;gap:var(--space-4)}.weather-side[data-v-66b089ef]{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}@media (min-width:768px){.weather-app[data-v-66b089ef]{padding:var(--space-8) var(--space-6)}.app-header[data-v-66b089ef]{flex-direction:row;align-items:center;justify-content:space-between}.weather-layout[data-v-66b089ef]{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start}.header-controls[data-v-66b089ef]{flex:0 1 520px}}:root{--color-text:#1f2d3d;--color-text-muted:#5b6b7c;--color-heading:#2c3e50;--color-primary:#3498db;--color-primary-hover:#2980b9;--color-on-primary:#fff;--color-accent:#2980b9;--color-danger:#c0392b;--color-surface:#fff;--color-border:#2c3e50;--color-focus-ring:rgba(52,152,219,.35);--color-danger-bg:#fdecea;--font-family:"Poppins",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--font-size-sm:0.875rem;--font-size-md:1rem;--font-size-lg:1.25rem;--font-size-xl:1.5rem;--font-size-2xl:2rem;--font-size-display:3rem;--font-weight-light:300;--font-weight-regular:400;--font-weight-medium:500;--font-weight-bold:600;--line-height:1.5;--font-size-hero:clamp(4.5rem,14vw,7rem);--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-full:999px;--radius-xl:24px;--shadow-sm:0 1px 2px rgba(0,0,0,.06);--shadow-md:0 4px 8px rgba(0,0,0,.1);--shadow-lg:0 10px 30px rgba(0,0,0,.15);--transition-fast:150ms ease;--transition-base:300ms ease;--transition-slow:600ms ease;--transition-sky:1s ease;--container-width:960px}*,:after,:before{box-sizing:border-box}body{font-family:var(--font-family);font-size:var(--font-size-md);line-height:var(--line-height);color:var(--color-text);-webkit-font-smoothing:antialiased}body,h1,h2,h3,p{margin:0}button,input{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.fade-enter-active{transition:opacity var(--transition-base),transform var(--transition-base)}.fade-leave-active{transition:opacity var(--transition-fast)}.fade-enter-from{opacity:0;transform:translateY(8px)}.fade-leave-to{opacity:0}@property --sky-top{syntax:"<color>";inherits:true;initial-value:#2b6cb0}@property --sky-bottom{syntax:"<color>";inherits:true;initial-value:#4a90d9}@property --sky-glow{syntax:"<color>";inherits:true;initial-value:rgba(255,214,107,.55)}.weather-app{--color-text:#fff;--color-heading:#fff;--color-text-muted:hsla(0,0%,100%,.75);--color-accent:#ffd56b;--color-primary:#fff;--color-primary-hover:hsla(0,0%,100%,.85);--color-on-primary:#1f2d3d;--color-focus-ring:hsla(0,0%,100%,.6);--glass-bg:rgba(15,23,42,.22);--glass-border:hsla(0,0%,100%,.18);--glass-shadow:0 8px 32px rgba(0,0,0,.18)}.sky--mist-day,.sky--snow-day{--color-text:#1f2d3d;--color-heading:#1f2d3d;--color-text-muted:#4a5868;--color-accent:#2b6cb0;--color-primary:#1f2d3d;--color-primary-hover:#2c3e50;--color-on-primary:#fff;--color-focus-ring:rgba(43,108,176,.4);--glass-bg:hsla(0,0%,100%,.55);--glass-border:hsla(0,0%,100%,.7);--glass-shadow:0 8px 32px rgba(31,45,61,.12)}.sky--clear-day,.sky--default{--sky-top:#2b6cb0;--sky-bottom:#4a90d9;--sky-glow:rgba(255,214,107,.55)}.sky--clear-night{--sky-top:#0b1026;--sky-bottom:#2b2f5e;--sky-glow:rgba(220,225,255,.22)}.sky--clouds-day{--sky-top:#4a5d70;--sky-bottom:#7f93a6;--sky-glow:hsla(0,0%,100%,.2)}.sky--clouds-night{--sky-top:#1c2533;--sky-bottom:#3b4757;--sky-glow:hsla(0,0%,100%,.08)}.sky--rain-day{--sky-top:#2c3e50;--sky-bottom:#4c6a85;--sky-glow:hsla(0,0%,100%,.08)}.sky--rain-night{--sky-top:#0f1a24;--sky-bottom:#2a3a4a;--sky-glow:hsla(0,0%,100%,.05)}.sky--thunderstorm-day{--sky-top:#2d2640;--sky-bottom:#5b4b7a;--sky-glow:rgba(180,140,255,.22)}.sky--thunderstorm-night{--sky-top:#120e1f;--sky-bottom:#352a50;--sky-glow:rgba(180,140,255,.15)}.sky--snow-day{--sky-top:#a8c0d6;--sky-bottom:#e6eef5;--sky-glow:hsla(0,0%,100%,.7)}.sky--snow-night{--sky-top:#2a3a55;--sky-bottom:#5d7290;--sky-glow:rgba(220,230,255,.18)}.sky--mist-day{--sky-top:#9aa5ae;--sky-bottom:#d5dbe0;--sky-glow:hsla(0,0%,100%,.5)}.sky--mist-night{--sky-top:#2f353b;--sky-bottom:#59626b;--sky-glow:hsla(0,0%,100%,.1)}.glass{background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);backdrop-filter:blur(16px) saturate(140%)}