@import"https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,200..800&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=TikTok+Sans:opsz,wght@12..36,300..900&display=swap";@import"https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700&display=swap";*{margin:0;padding:0;box-sizing:border-box}html{width:100%;height:100%;margin:0;padding:0;overflow-x:hidden;scroll-behavior:smooth}body{width:100%;height:100%;margin:0;padding:0;overflow-x:hidden;font-family:Montserrat,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%;height:100%;margin:0;padding:0}*{scrollbar-width:thin;scrollbar-color:rgba(77,160,219,.3) rgba(77,160,219,.08)}::selection{background:#4da0db4d;color:#1976d2}::-moz-selection{background:#4da0db4d;color:#1976d2}.navigation{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;padding:.7rem 2.5rem;background:#4da0db26;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid rgba(77,160,219,.15);border-radius:35px;color:#fff;position:fixed;top:20px;left:50%;transform:translate(-50%);width:90%;max-width:1200px;height:auto;min-height:70px;max-height:70px;box-shadow:0 8px 32px #4da0db14;z-index:9999;transition:all .9s cubic-bezier(.4,0,.2,1);font-family:Montserrat,sans-serif;overflow:hidden}.navigation.expanded{max-height:350px;padding-bottom:2rem;border-radius:35px 35px 25px 25px;background:#4da0db1f;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 12px 40px #4da0db1f}.nav-header{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:40px}.navigation.scrolled{background:#4da0db1f;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(77,160,219,.2);box-shadow:0 12px 40px #4da0db1f}.nav-brand{position:relative;z-index:10000}.nav-brand a{display:flex;align-items:center;gap:.6rem;font-size:1.8rem;font-weight:700;color:#fff;text-decoration:none;letter-spacing:-.5px;transition:all .3s ease;position:relative}.nav-brand a:hover{transform:scale(1.05);text-shadow:0 0 20px rgba(255,255,255,.5)}.brand-icon{font-size:2rem;filter:drop-shadow(0 0 10px rgba(255,255,255,.3));display:flex;justify-content:center;align-items:center}.brand-icon img{height:40px}.brand-text{color:#fff;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.2),0 0 15px rgba(255,255,255,.3);position:relative}.nav-brand a:hover .brand-text:after{width:100%}.desktop-menu,.nav-links{display:flex;list-style:none;margin:0;padding:0;gap:.5rem}.nav-links li{position:relative}.nav-links a{display:flex;align-items:center;gap:.5rem;color:#fff;text-decoration:none;padding:.75rem 1.5rem;border-radius:20px;font-weight:500;font-size:.95rem;letter-spacing:.3px;position:relative;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);background:#4da0db0f;border:1px solid rgba(77,160,219,.12);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.nav-links a:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s}.nav-links a:hover:before{left:100%}.nav-links a:hover{background:#4da0db26;border:1px solid rgba(77,160,219,.25);transform:translateY(-2px);box-shadow:0 8px 25px #4da0db26;color:#61dafb}.nav-links a.active{background:#4da0db2e;border:1px solid rgba(77,160,219,.3);color:#d5f6ff;box-shadow:0 6px 20px #4da0db2e}.link-icon{font-size:1.1rem;opacity:.8;transition:all .3s ease}.nav-links a:hover .link-icon{opacity:1;transform:scale(1.1)}.mobile-menu-btn{display:none;flex-direction:column;justify-content:space-around;width:2.5rem;height:2.5rem;background:transparent;border:none;cursor:pointer;padding:.5rem;z-index:10000;border-radius:50%;transition:all .3s ease;background:#ffffff1a}.mobile-menu-btn:hover{background:#ffffff26;transform:scale(1.05)}.mobile-menu-btn span{width:100%;height:2px;background:#fff;border-radius:2px;transition:all .3s cubic-bezier(.4,0,.2,1);transform-origin:center}.mobile-menu-btn.active span:nth-child(1){transform:rotate(45deg) translate(6px,6px)}.mobile-menu-btn.active span:nth-child(2){opacity:0;transform:scaleX(0)}.mobile-menu-btn.active span:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}.mobile-menu{width:100%;background:transparent;border:none;padding:0;margin-top:0;max-height:0;opacity:0;visibility:hidden;transition:all .9s cubic-bezier(.25,.46,.45,.94);overflow:hidden}.mobile-menu.active{max-height:280px;opacity:1;visibility:visible;padding:25px 0 0;margin-top:20px}.mobile-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px;max-width:600px;margin:0 auto}.mobile-links a{display:flex;align-items:center;justify-content:center;padding:18px 24px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:16px;font-size:1rem;font-weight:600;color:#fff;text-decoration:none;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);box-shadow:0 2px 8px #0000000d,inset 0 1px #ffffff0d;position:relative;overflow:hidden;opacity:0;transform:translateY(20px);animation:slideInUp .5s ease-out forwards}.mobile-links a:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s}.mobile-links a:hover:before,.mobile-links a:focus:before{left:100%}.mobile-links a:hover,.mobile-links a:focus{background:#ffffff1f;border-color:#fff3;transform:translateY(-2px) scale(1.02);box-shadow:0 6px 16px #4da0db26,0 2px 8px #0000001a,inset 0 1px #ffffff26;color:#e3f2fd;transition:all .3s cubic-bezier(.4,0,.2,1)}.mobile-links a.active{background:linear-gradient(135deg,#fff3,#ffffff26);border-color:#ffffff4d;color:#e3f2fd;box-shadow:0 6px 16px #4da0db40,inset 0 1px #ffffff40;transition:all .3s cubic-bezier(.4,0,.2,1)}.mobile-menu.active .mobile-links a:nth-child(1){animation-delay:.1s}.mobile-menu.active .mobile-links a:nth-child(2){animation-delay:.2s}.mobile-menu.active .mobile-links a:nth-child(3){animation-delay:.3s}.mobile-menu.active .mobile-links a:nth-child(4){animation-delay:.4s}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:.8}}@media (max-width: 768px){.navigation{padding:1rem 1.5rem;width:90%}.desktop-menu{display:none}.mobile-menu-btn{display:flex}.nav-brand a{font-size:1.6rem}.brand-icon{font-size:1.8rem}}@media (max-width: 480px){.navigation{padding:.75rem 1rem;top:10px;width:90%}.nav-brand a{font-size:1.4rem;gap:.5rem}.brand-icon{font-size:1.6rem}.mobile-menu{top:70px;padding:25px 15px 35px}.mobile-links{grid-template-columns:1fr;gap:12px}.mobile-links a{padding:16px 20px;font-size:.95rem}.mobile-menu-btn{width:2rem;height:2rem;padding:.3rem}}@media (prefers-reduced-motion: reduce){.navigation,.nav-links a,.mobile-menu-btn,.mobile-menu,.brand-icon{animation:none;transition:none}}@media (prefers-contrast: high){.navigation{background:#000000e6;border:2px solid white}.nav-links a{border:1px solid white}.nav-links a:hover,.nav-links a.active{background:#fff;color:#000}}@media (max-width: 768px){.navigation{position:fixed}.mobile-menu{border-radius:0 0 25px 25px}.mobile-links{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.mobile-links{grid-template-columns:1fr}}.home-container{width:100%;min-height:100vh;padding:120px 0 40px;margin:0;background:linear-gradient(135deg,#e3f2fd,#bbdefb);font-family:Montserrat,sans-serif;box-sizing:border-box;overflow-x:hidden;position:relative}.floating-bubble{position:absolute;bottom:-10px;width:6px;height:6px;background:#4da0db66;border-radius:50%;border:none;box-shadow:none;animation:floatUp 15s infinite linear;opacity:0;will-change:transform,opacity}.floating-bubble:nth-child(1){left:5%;animation-delay:0s;animation-duration:18s}.floating-bubble:nth-child(2){left:15%;animation-delay:-2s;animation-duration:20s}.floating-bubble:nth-child(3){left:25%;animation-delay:-4s;animation-duration:16s}.floating-bubble:nth-child(4){left:35%;animation-delay:-6s;animation-duration:22s}.floating-bubble:nth-child(5){left:45%;animation-delay:-8s;animation-duration:19s}.floating-bubble:nth-child(6){left:55%;animation-delay:-10s;animation-duration:21s}.floating-bubble:nth-child(7){left:65%;animation-delay:-1s;animation-duration:17s}.floating-bubble:nth-child(8){left:75%;animation-delay:-3s;animation-duration:23s}.floating-bubble:nth-child(9){left:85%;animation-delay:-5s;animation-duration:18s}.floating-bubble:nth-child(10){left:10%;animation-delay:-7s;animation-duration:20s}.floating-bubble:nth-child(11){left:30%;animation-delay:-9s;animation-duration:24s}.floating-bubble:nth-child(12){left:70%;animation-delay:-11s;animation-duration:16s}.floating-bubble:nth-child(odd){width:8px;height:8px}.floating-bubble:nth-child(3n){width:8px;height:8px}.floating-bubble:nth-child(5n){width:8px;height:8px}.home-header{position:relative;z-index:2;padding:0 20px 50px;max-width:1200px;margin:0 auto}.header-content{display:flex;justify-content:space-between;align-items:flex-start;margin:40px 10px;gap:30px;background:transparent;border:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.header-content-transparent{display:flex;justify-content:space-between;align-items:flex-start;margin:40px 10px;gap:30px;background:transparent!important;border:none!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;position:relative;z-index:1}.profile-section{flex:1;min-width:0;margin-bottom:10px}.user-profile{display:flex;align-items:flex-start;gap:40px}.user-avatar{position:relative;width:70px;height:70px;min-width:70px;min-height:70px;background:linear-gradient(135deg,#4da0db40,#1976d226);border-radius:50%;display:flex;align-items:center;justify-content:center;border:1.4px solid rgba(77,160,219,.3);animation:avatar-pulse 3s ease-in-out infinite;flex-shrink:0;box-shadow:0 8px 25px #4da0db33}.status-indicator{position:absolute;bottom:5px;right:5px;width:16px;height:16px;background:#4caf50;border:3px solid white;border-radius:50%;animation:status-pulse 2s infinite}.avatar-icon{width:28px;height:28px;color:#1976d2;flex-shrink:0}.profile-info{flex:1;min-width:0;text-align:left}.greeting-text{margin-bottom:15px}.greeting-title{font-size:2.4rem;font-weight:700;margin:0 0 8px;line-height:1.2;word-break:break-word;color:#1976d2;background:linear-gradient(135deg,#1976d2,#4da0db);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.greeting-subtitle{font-size:1.1rem;color:#1565c0;opacity:.8;margin:0;line-height:1.4}.quick-stats-preview{display:flex;gap:20px;margin-top:15px}.mini-stat{display:flex;flex-direction:column;align-items:center;padding:8px 12px;min-width:50px;background:#4da0db14;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:15px;border:1px solid rgba(77,160,219,.15);box-shadow:0 4px 16px #4da0db0f;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.mini-stat:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;min-width:50px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s}.mini-stat:hover{background:#4da0db33;border-color:#ffffff4d;transform:translateY(-1px);box-shadow:0 6px 20px #0000001a,0 3px 10px #4da0db26,inset 0 1px #ffffff26}.mini-stat:hover:before{left:100%}span.mini-value{font-size:2vh;font-weight:700;color:#0b7ef1;line-height:1}.mini-label{font-size:.75rem;color:#1565c0;opacity:.7;margin-top:2px}.header-controls{display:flex;flex-direction:column;gap:40px;align-items:flex-end}.header-actions{display:flex;gap:10px;align-items:center}.data-source-selector{display:flex;flex-direction:column;gap:8px;align-items:flex-end;margin-bottom:15px}.source-label{font-size:.75rem;color:#1565c0;font-weight:600;opacity:.8}.source-dropdown{background:#4da0db26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:8px 12px;font-size:.85rem;font-weight:500;color:#1565c0;cursor:pointer;transition:all .3s ease;outline:none;min-width:220px}.source-dropdown:hover{background:#4da0db40;border-color:#ffffff4d;transform:translateY(-1px);box-shadow:0 4px 20px #4da0db4d}.source-dropdown:focus{border-color:#1976d2;box-shadow:0 0 0 3px #1976d21a}.source-dropdown option{background:#fff;color:#1565c0;padding:8px}.api-endpoint-info{font-size:.7rem;opacity:.7;font-family:Courier New,monospace}.notification-btn,.settings-btn{position:relative;width:44px;height:44px;background:#4da0db14;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(77,160,219,.15);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);color:#1976d2;box-shadow:0 4px 16px #4da0db0f;overflow:hidden}.notification-btn:before,.settings-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s}.notification-btn:hover,.settings-btn:hover{background:#4da0db33;border-color:#ffffff4d;transform:translateY(-2px) scale(1.05);box-shadow:0 12px 40px #00000026,0 6px 20px #4da0db26,inset 0 1px #ffffff26}.notification-btn:hover:before,.settings-btn:hover:before{left:100%}.notification-btn svg,.settings-btn svg{width:20px;height:20px}.notification-badge{position:absolute;top:-2px;right:-2px;width:18px;height:18px;background:#f44;color:#fff;border-radius:50%;font-size:.7rem;font-weight:600;display:flex;align-items:center;justify-content:center;border:2px solid white}.time-info{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px 25px;background:#4da0db26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:25px;border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 32px #0000001a,0 4px 16px #4da0db1a,inset 0 1px #ffffff1a;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.time-info:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s}.time-info:hover{background:#4da0db33;border-color:#ffffff4d;transform:translateY(-2px);box-shadow:0 12px 40px #00000026,0 6px 20px #4da0db26,inset 0 1px #ffffff26}.time-info:hover:before{left:100%}.current-time{display:flex;flex-direction:column;gap:2px}.time-info-right{display:flex;align-items:center;gap:20px}.time-label{font-size:.8rem;color:#1565c0;opacity:.7}.time-value{font-size:.95rem;font-weight:600;color:#1976d2}.data-source{display:flex;align-items:center}.api-selector-container{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:4px 12px;background:#4da0db1a;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border-radius:19px;border:1px solid rgba(255,255,255,.15);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 4px 16px #0000000d,0 2px 8px #4da0db14,inset 0 1px #ffffff1a}.api-selector-container:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s}.api-selector-container:hover{background:#4da0db26;border-color:#ffffff40;transform:translateY(-1px);box-shadow:0 6px 20px #00000014,0 3px 10px #4da0db1f,inset 0 1px #ffffff26}.api-selector-container:hover:before{left:100%}.source-label-compact{font-size:.7rem;color:#1565c0;font-weight:600;opacity:.8;text-transform:uppercase;letter-spacing:.5px}.source-dropdown-compact{background:#4da0db14;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:4px 8px;font-size:.75rem;font-weight:600;color:#1565c0;cursor:pointer;transition:all .3s ease;outline:none;min-width:140px;text-align:center;font-family:Montserrat,sans-serif}.source-dropdown-compact:hover{background:#4da0db26;border-color:#ffffff40;color:#1976d2;box-shadow:0 2px 8px #4da0db26}.source-dropdown-compact:focus{border-color:#1976d2;box-shadow:0 0 0 2px #1976d21a;color:#1976d2}.source-dropdown-compact option{background:#fff;color:#1565c0;padding:6px;font-weight:500}.source-badge{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#4da0db26;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border-radius:15px;border:1px solid rgba(255,255,255,.2);font-size:.85rem;font-weight:600;color:#1976d2;box-shadow:0 4px 16px #00000014,0 2px 8px #4da0db1a,inset 0 1px #ffffff1a;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.source-badge:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s}.source-badge:hover{background:#4da0db33;border-color:#ffffff4d;transform:translateY(-1px);box-shadow:0 6px 20px #0000001a,0 3px 10px #4da0db26,inset 0 1px #ffffff26}.source-badge:hover:before{left:100%}.live-indicator{width:8px;height:8px;background:#4caf50;border-radius:50%;animation:pulse-dot 2s infinite}.location-selector-new{display:flex;align-items:center;gap:12px;background:#4da0db14;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:14px 18px;border-radius:25px;border:1px solid rgba(77,160,219,.15);min-width:220px;box-shadow:0 4px 16px #4da0db0f;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;flex-direction:row;justify-content:space-between}.location-selector-new:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s}.location-selector-new:hover{background:#4da0db33;border-color:#ffffff4d;transform:translateY(-2px);box-shadow:0 12px 40px #00000026,0 6px 20px #4da0db26,inset 0 1px #ffffff26}.location-selector-new:hover:before{left:100%}.location-icon-new{width:18px;height:18px;color:#1976d2;flex-shrink:0;filter:drop-shadow(0 2px 4px rgba(25,118,210,.3));transition:all .3s ease}.location-selector-new:hover .location-icon-new{transform:scale(1.1);color:#1565c0}.location-dropdown-new{background:#4da0db0f;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(77,160,219,.12);border-radius:12px;color:#1976d2;font-weight:600;font-size:.95rem;cursor:pointer;outline:none;min-width:0;flex:1;padding:6px 10px;transition:all .3s ease;font-family:Montserrat,sans-serif;letter-spacing:.3px;box-shadow:0 2px 8px #4da0db0a;position:relative;z-index:1000}.location-dropdown-new:hover{color:#1565c0;background:#4da0db26;border-color:#4da0db4d;box-shadow:0 4px 12px #4da0db26}.location-dropdown-new:focus{color:#1565c0;background:#4da0db33;border-color:#4da0db66;box-shadow:0 4px 16px #4da0db33;z-index:1001}.location-dropdown-new option{background:linear-gradient(135deg,#fffffffa,#f8fafcf2);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);color:#1976d2;padding:14px 20px;border:none;font-weight:500;font-family:Montserrat,sans-serif;font-size:.95rem;letter-spacing:.2px;transition:all .3s cubic-bezier(.4,0,.2,1);border-bottom:1px solid rgba(77,160,219,.08);cursor:pointer;position:relative;margin:0;min-height:48px;display:flex;align-items:center}.location-dropdown-new option:first-child{border-top-left-radius:12px;border-top-right-radius:12px;margin-top:4px}.location-dropdown-new option:last-child{border-bottom-left-radius:12px;border-bottom-right-radius:12px;border-bottom:none;margin-bottom:4px}.location-dropdown-new option:hover{background:linear-gradient(135deg,#4da0db1f,#1976d214);color:#1565c0;font-weight:600;transform:translate(4px);box-shadow:inset 3px 0 #4da0db66,0 2px 8px #4da0db1a}.location-dropdown-new option:checked,.location-dropdown-new option:selected{background:linear-gradient(135deg,#1976d226,#0d47a11a);color:#0d47a1;font-weight:700;box-shadow:inset 4px 0 #1976d2,0 2px 12px #1976d226;border-left:4px solid #1976d2}.location-dropdown-new option:active{background:linear-gradient(135deg,#1976d233,#0d47a126);transform:translate(2px)}.location-dropdown-new option[value*="Your Location"],.location-dropdown-new option[value*="(Your Location)"]{background:linear-gradient(135deg,#4caf501f,#388e3c14);color:#2e7d32;font-weight:600;border-left:4px solid #4caf50;position:relative}.location-dropdown-new option[value*="Your Location"]:hover,.location-dropdown-new option[value*="(Your Location)"]:hover{background:linear-gradient(135deg,#4caf502e,#388e3c1f);color:#1b5e20;box-shadow:inset 4px 0 #4caf50,0 2px 8px #4caf5026}.location-dropdown-new option[value*="Your Location"]:before,.location-dropdown-new option[value*="(Your Location)"]:before{content:"📍";margin-right:8px;font-size:.9rem}.location-dropdown-new::-webkit-scrollbar{width:6px}.location-dropdown-new::-webkit-scrollbar-track{background:#4da0db0d;border-radius:3px}.location-dropdown-new::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#4da0db4d,#1976d280);border-radius:3px;transition:all .3s ease}.location-dropdown-new::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#4da0db80,#1976d2b3)}.location-btn-new{background:#4da0db0f;border:1px solid rgba(77,160,219,.12);border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);flex-shrink:0;color:#1976d2;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 2px 8px #4da0db0a}.location-btn-new:hover{background:#1976d233;border-color:#1976d24d;transform:translateY(-2px) scale(1.05);box-shadow:0 8px 24px #00000026,0 4px 12px #1976d226,inset 0 1px #ffffff4d}.location-btn-new:active{transform:translateY(0) scale(1)}.location-btn-new svg{transition:all .3s ease}.location-btn-new:hover svg{transform:rotate(360deg)}@media (min-width: 1200px){.weather-icon{position:relative;bottom:40px}}@media (max-width: 768px) and (min-width: 481px){.time-info{flex-direction:column;gap:15px;padding:15px 20px;text-align:center;width:100%}.forecast-icon{display:none}.time-info-right{flex-direction:column;gap:15px;width:100%;align-items:stretch}.api-selector-container{width:100%;justify-content:space-between;padding:8px 15px}.data-source{width:100%;justify-content:center}.source-badge{width:100vw;text-align:center;justify-content:center}.current-time{text-align:center;width:100%}.source-dropdown-compact{min-width:140px;width:auto;flex:1;font-size:.75rem;padding:4px 8px}.source-label-compact{font-size:.7rem}}@media (max-width: 768px){.location-selector-new{padding:10px 14px;min-width:180px;align-self:center;flex:1;max-width:240px;justify-content:space-between}.location-icon-new{width:16px;height:16px}.location-dropdown-new{font-size:.9rem;padding:5px 8px;z-index:1002}.location-dropdown-new option{padding:12px 16px;font-size:.9rem;min-height:44px}.location-dropdown-new option:hover{transform:translate(3px)}.time-info{flex-direction:column;gap:15px;padding:15px 20px;text-align:center}.time-info-right{flex-direction:column;gap:15px;width:100%;align-items:stretch}.api-selector-container{padding:6px 10px;flex:1;justify-content:space-between}.current-time{width:100%}.data-source{flex:1;justify-content:center}.source-dropdown-compact{min-width:120px;font-size:.7rem}.source-label-compact{font-size:.65rem}.forecast-icon{display:none}}@media (max-width: 480px){.location-selector-new{padding:8px 12px;min-width:160px;font-size:.8rem;flex:1;max-width:220px;justify-content:space-between}.location-dropdown-new{font-size:.85rem;padding:4px 6px;z-index:1003}.location-dropdown-new option{padding:10px 14px;font-size:.85rem;min-height:40px}.location-dropdown-new option:hover{transform:translate(2px)}.location-dropdown-new option:first-child{margin-top:2px}.location-dropdown-new option:last-child{margin-bottom:2px}.location-icon-new{width:14px;height:14px}.time-info{padding:12px 15px;gap:12px}.time-info-right{gap:12px;width:100%}.api-selector-container{padding:5px 8px;flex:1;justify-content:space-between}.source-dropdown-compact{min-width:100px;font-size:.65rem;padding:3px 6px;width:auto;flex:1}.source-label-compact{font-size:.6rem}.source-badge{font-size:.75rem;padding:6px 12px;width:100vw;display:flex;justify-content:center}.time-label{font-size:.7rem}.time-value{font-size:.85rem}}@media (max-width: 360px){.location-selector-new{padding:6px 10px;min-width:150px;font-size:.75rem;flex:1;max-width:200px;justify-content:space-between}.location-dropdown-new{font-size:.8rem;padding:3px 5px}}.location-btn{background:#1976d21a;border:1px solid rgba(25,118,210,.2);border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);flex-shrink:0;color:#1976d2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 4px 16px #0000001a,0 2px 8px #1976d21a,inset 0 1px #fff3}.location-btn:hover{background:#1976d233;border-color:#1976d24d;transform:translateY(-2px) scale(1.05);box-shadow:0 8px 24px #00000026,0 4px 12px #1976d226,inset 0 1px #ffffff4d}.location-btn:active{transform:translateY(0) scale(1)}.location-btn svg{transition:all .3s ease}.location-btn:hover svg{transform:rotate(360deg)}.aqi-main-display{position:relative;z-index:2;padding:0 20px 50px;max-width:1200px;margin:0 auto}.aqi-dashboard{display:grid;grid-template-columns:2fr 1fr;gap:30px}.aqi-primary-card{background:#4da0db26;backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);border:1px solid rgba(255,255,255,.2);border-radius:30px;padding:45px;box-shadow:0 20px 60px #0000001a,0 8px 25px #4da0db26,inset 0 1px #ffffff1a;animation:card-entrance 1s ease-out;position:relative;overflow:hidden;height:400px;display:flex;flex-direction:column}.aqi-primary-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s}.aqi-primary-card:hover{background:#4da0db2e;border-color:#ffffff40;transform:translateY(-3px);box-shadow:0 25px 70px #00000026,0 10px 30px #4da0db33,inset 0 1px #ffffff26}.aqi-primary-card:hover:before{left:100%}.aqi-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:35px}.header-left h2{color:#1976d2;font-size:1.8rem;font-weight:700;margin:0 0 8px}.aqi-location{display:flex;align-items:center;gap:6px;color:#1565c0;font-size:.95rem;opacity:.8}.aqi-location svg{width:16px;height:16px}.aqi-badge{display:flex;align-items:center;gap:8px;background:#1976d21a;padding:8px 16px;border-radius:20px;border:1px solid rgba(25,118,210,.2);color:#1976d2;font-size:.9rem;font-weight:600;animation:badge-pulse 2s infinite}.aqi-badge .badge-icon{width:14px;height:14px}.aqi-badge svg{width:14px;height:14px}.aqi-main-content{display:grid;grid-template-columns:auto 1fr auto;gap:40px;align-items:center;justify-items:center;transform:scale(.95);opacity:.7;transition:all .5s ease-out;flex:1;width:100%;text-align:center}.aqi-main-content.data-loaded{transform:scale(1);opacity:1}.aqi-visual{display:flex;align-items:center;justify-content:center}.aqi-description{min-width:300px;display:flex;flex-direction:column;align-items:center;text-align:center}.aqi-trend{min-width:200px;display:flex;flex-direction:column;align-items:center;text-align:center}.aqi-circle-container{position:relative;display:flex;align-items:center;justify-content:center}.aqi-circle{width:160px;height:160px;border:6px solid;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;animation:circle-draw 2s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.aqi-number{font-size:2.2rem;font-weight:800;line-height:1;animation:number-count 2s ease-out}.aqi-unit{font-size:.7rem;color:#1565c0;opacity:.8;margin-top:2px;font-weight:600}.pollutant-name{font-size:.7rem;font-weight:600;opacity:.8;margin-top:2px;letter-spacing:.5px;text-transform:uppercase}@media (max-width: 768px){.aqi-number{font-size:2.4rem}.aqi-unit{font-size:.8rem}.pollutant-name{font-size:.75rem}}@media (max-width: 480px){.aqi-number{font-size:2rem}.aqi-unit,.pollutant-name{font-size:.7rem}}@media (max-width: 360px){.aqi-number{font-size:1.8rem}.aqi-unit{font-size:.6rem}.pollutant-name{font-size:.65rem}}.aqi-description{flex:1}.status-text{font-size:2rem;font-weight:700;margin-bottom:12px;line-height:1.2}.status-details p{color:#1565c0;margin:0 0 12px;font-size:1rem;opacity:.8;text-align:center;line-height:1.5}.recommendation{display:flex;align-items:center;gap:8px;padding:10px 15px;background:#4caf5026;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.2);border-radius:15px;color:#4caf50;font-size:.9rem;font-weight:600;box-shadow:0 4px 16px #00000014,0 2px 8px #4caf501a,inset 0 1px #ffffff1a;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.recommendation:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s}.recommendation:hover{background:#4caf5033;border-color:#ffffff4d;transform:translateY(-1px);box-shadow:0 6px 20px #0000001a,0 3px 10px #4caf5026,inset 0 1px #ffffff26}.recommendation:hover:before{left:100%}.aqi-trend{display:flex;flex-direction:column;gap:15px;min-width:120px}.trend-title{font-size:.9rem;font-weight:600;color:#1976d2;text-align:center}.trend-chart{display:flex;flex-direction:column;gap:8px}.trend-bars{display:flex;align-items:flex-end;gap:3px;height:60px;padding:0 10px}.trend-bar{flex:1;min-height:8px;border-radius:2px;opacity:.8;transition:all .3s ease}.trend-bar:hover{opacity:1;transform:scaleY(1.1)}.trend-labels{display:flex;justify-content:space-between;font-size:.75rem;color:#1565c0;opacity:.7;padding:0 10px}.pollutants-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:25px;padding:20px;background:#4da0db14;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.15);border-radius:20px;box-shadow:0 4px 16px #00000014,inset 0 1px #fff3}.pollutant-item{display:flex;flex-direction:column;align-items:center;gap:8px;padding:15px 10px;background:#ffffff1a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:15px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.pollutant-item:hover{transform:translateY(-2px);background:#ffffff26;border-color:#ffffff4d;box-shadow:0 6px 20px #0000001a}.pollutant-icon{width:32px;height:32px;color:#1976d2;opacity:.8;transition:all .3s ease}.pollutant-item:hover .pollutant-icon{opacity:1;transform:scale(1.1)}.pollutant-info{display:flex;flex-direction:column;align-items:center;gap:2px}.pollutant-value{font-size:1.4rem;font-weight:700;line-height:1}.pollutant-label{font-size:.8rem;font-weight:600;color:#1976d2;margin-top:2px}.pollutant-unit{font-size:.7rem;color:#1565c0;opacity:.7;font-weight:500}.aqi-secondary-cards{display:flex;flex-direction:column;gap:20px}.quick-insight-card,.forecast-card{background:#4da0db26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:25px;padding:25px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 8px 32px #0000001a,0 4px 16px #4da0db1a,inset 0 1px #ffffff1a}.quick-insight-card{height:400px;display:flex;flex-direction:column}.mini-stat{min-width:100px}.quick-insight-card:before,.forecast-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s}.quick-insight-card:hover,.forecast-card:hover{background:#4da0db33;border-color:#ffffff4d;transform:translateY(-3px);box-shadow:0 15px 40px #0000001f,0 8px 20px #4da0db26,inset 0 1px #ffffff26}.quick-insight-card:hover:before,.forecast-card:hover:before{left:100%}.quick-insight-card.highlight-map{border:2px solid #1976d2!important;box-shadow:0 0 0 3px #1976d233,0 4px 12px #0000001a!important;animation:subtleHighlight 2s ease-in-out forwards}@keyframes subtleHighlight{0%{border-color:transparent;box-shadow:0 4px 8px #0000001a}50%{border-color:#1976d2;box-shadow:0 0 0 3px #1976d24d,0 4px 12px #0000001a}to{border-color:transparent;box-shadow:0 4px 8px #0000001a}}.insight-header,.forecast-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.insight-header h4,.forecast-header h4{color:#1976d2;font-size:1.1rem;font-weight:700;margin:0;font-family:Montserrat,sans-serif}.insight-content{flex:1;display:flex;flex-direction:column}.health-icon,.forecast-icon{width:12px;height:12px;color:#1976d2;opacity:.8}.health svg{width:18px;height:18px;color:#1976d2;opacity:.8}.impact-level{font-size:1.2rem;font-weight:800;margin-bottom:8px;color:#1976d2;font-family:Montserrat,sans-serif}.insight-content p,.forecast-content p{color:#1565c0;font-size:.9rem;margin:0;opacity:.8;line-height:1.4;font-weight:500}.forecast-range{font-size:1.3rem;font-weight:800;color:#1976d2;margin-bottom:8px;font-family:Montserrat,sans-serif}.forecast-trend{display:flex;align-items:center}.trend-indicator{display:flex;align-items:center;gap:6px;font-weight:700;font-family:Montserrat,sans-serif}.trend-indicator.improving{color:#4caf50;font-size:1.4vh}.trend-indicator.worsening{color:#f44336;font-size:1.4vh}.trend-indicator.stable{color:#2196f3;font-size:1.4vh}.trend-indicator svg{width:12px;height:12px}.quick-stats{position:relative;z-index:2;padding:0 20px 40px;max-width:1200px;margin:0 auto}.section-title{font-size:1.8rem;font-weight:700;color:#1976d2;margin-bottom:30px;text-align:center;font-family:Montserrat,sans-serif;letter-spacing:-.5px}h3.quick-title{text-align:left;padding:0 20px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;transform:scale(.95);opacity:.7;transition:all .5s ease-out .1s}.stats-grid.data-loaded{transform:scale(1);opacity:1}.stat-card{background:#4da0db26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:25px;padding:25px;display:flex;align-items:center;gap:20px;transition:all .3s cubic-bezier(.4,0,.2,1);animation:stat-card-entrance 1s ease-out;position:relative;overflow:hidden;box-shadow:0 8px 32px #0000001a,0 4px 16px #4da0db1a,inset 0 1px #ffffff1a}.stat-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s}.stat-card:hover{background:#4da0db33;border-color:#ffffff4d;transform:translateY(-3px);box-shadow:0 15px 40px #0000001f,0 8px 20px #4da0db26,inset 0 1px #ffffff26}.stat-card:hover:before{left:100%}.stat-icon{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon.pm25{background:linear-gradient(135deg,#4ecdc4,#44a08d)}.stat-icon.pm10{background:linear-gradient(135deg,#667eea,#764ba2)}.stat-icon.ozone{background:linear-gradient(135deg,#45b7d1,#5a9fd4)}.stat-icon.no2{background:linear-gradient(135deg,#6faadb,#c05284)}.stat-icon svg{width:24px;height:24px;color:#fff}.stat-content{flex:1}.stat-value{font-size:2rem;font-weight:700;color:#1976d2;line-height:1}.stat-label{font-size:1rem;font-weight:600;color:#1976d2;margin:4px 0 2px}.stat-unit{font-size:.8rem;color:#1565c0;opacity:.7}.environmental-data{position:relative;z-index:2;padding:0 20px 40px;max-width:1200px;margin:0 auto}.data-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;transform:scale(.95);opacity:.7;transition:all .5s ease-out .2s}.data-grid.data-loaded{transform:scale(1);opacity:1}.data-card{background:#4da0db26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:30px;padding:30px;animation:card-slide-in 1s ease-out;position:relative;overflow:hidden;box-shadow:0 8px 32px #0000001a,0 4px 16px #4da0db1a,inset 0 1px #ffffff1a;transition:all .3s cubic-bezier(.4,0,.2,1)}.data-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s}.data-card:hover{background:#4da0db33;border-color:#ffffff4d;transform:translateY(-3px);box-shadow:0 15px 40px #0000001f,0 8px 20px #4da0db26,inset 0 1px #ffffff26}.data-card:hover:before{left:100%}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.card-header h4{color:#1976d2;font-size:1.3rem;font-weight:600;margin:0}.weather-icon,.alert-icon{width:20px;height:20px;color:#1976d2}.weather-icon svg,.alert-icon svg{width:20px;height:20px}.weather-data{display:grid;grid-template-columns:1fr 1fr;gap:20px}.weather-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid rgba(77,160,219,.1)}.weather-label{color:#1565c0;font-weight:500}.weather-value{color:#1976d2;font-weight:600}.alerts-list{display:flex;flex-direction:column;gap:15px}.alert-item{padding:15px;border-radius:12px;border-left:4px solid}.alert-item.warning{background:#4da0db26;border-left-color:#4da0db}.alert-item.info{background:#2196f31a;border-left-color:#2196f3}.alert-item.critical{background:#f443361a;border-left-color:#f44336}.alert-content{display:flex;flex-direction:column;gap:5px}.alert-message{color:#1976d2;font-weight:500;font-size:.95rem}.alert-time{color:#1565c0;opacity:.7;font-size:.8rem}.no-alerts{display:flex;flex-direction:column;align-items:center;gap:10px;padding:30px;color:#1565c0;opacity:.7}.no-alerts-icon{width:36px;height:36px;background:#4caf50;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:1.2rem}.quick-actions{position:relative;z-index:2;padding:0 20px 60px;max-width:1200px;margin:0 auto}.actions-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.view-all-btn{display:flex;align-items:center;gap:8px;background:#4da0db26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);color:#1976d2;padding:8px 16px;border-radius:25px;font-weight:700;font-size:.9rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-family:Montserrat,sans-serif;position:relative;overflow:hidden;box-shadow:0 8px 32px #0000001a,0 4px 16px #4da0db1a,inset 0 1px #ffffff1a}.view-all-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s}.view-all-btn:hover{background:#4da0db33;border-color:#ffffff4d;transform:translateY(-2px) translate(2px);box-shadow:0 12px 40px #00000026,0 6px 20px #4da0db26,inset 0 1px #ffffff26}.view-all-btn:hover:before{left:100%}.view-all-btn svg{width:14px;height:14px}.actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:15px;transform:scale(.98);opacity:.8;transition:all .5s ease-out .3s}.actions-grid:hover{transform:scale(.99);opacity:1}.action-card{background:#4da0db26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:25px;padding:25px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 8px 32px #0000001a,0 4px 16px #4da0db1a,inset 0 1px #ffffff1a}.action-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s}.action-card:hover:before{left:100%}.action-card:hover{background:#4da0db33;border-color:#ffffff4d;transform:translateY(-3px);box-shadow:0 15px 40px #0000001f,0 8px 20px #4da0db26,inset 0 1px #ffffff26}.action-card.primary{background:linear-gradient(135deg,#4da0db33,#1976d226);border:1px solid rgba(77,160,219,.3)}.action-card.primary:hover{background:linear-gradient(135deg,#4da0db40,#1976d233);border-color:#ffffff59}.action-content{display:flex;align-items:center;gap:15px;flex:1}.action-icon{width:48px;height:48px;background:linear-gradient(135deg,#1976d2,#4da0db);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:0 4px 15px #1976d24d}.action-card:hover .action-icon{transform:scale(1.05) rotate(5deg);box-shadow:0 6px 20px #1976d266}.action-icon svg{width:22px;height:22px;color:#fff}.action-text{display:flex;flex-direction:column;gap:4px}.action-text-left{display:flex;flex-direction:column;gap:4px;text-align:left;align-items:flex-start}.health-icon-fixed{min-width:48px;max-width:48px;width:48px!important;height:48px!important;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1976d2,#4da0db);border-radius:50%;box-shadow:0 4px 15px #1976d24d;transition:all .3s ease}.health-icon-fixed svg{width:22px;height:22px;color:#fff}.action-title{font-size:1.1rem;font-weight:700;color:#1976d2;line-height:1.2;font-family:Montserrat,sans-serif}.action-subtitle{font-size:.85rem;color:#1565c0;opacity:.8;line-height:1.3;font-weight:500;font-family:Montserrat,sans-serif}.action-arrow{width:24px;height:24px;color:#1976d2;opacity:.6;transition:all .3s ease}.action-card:hover .action-arrow{opacity:1;transform:translate(4px)}.action-arrow svg{width:100%;height:100%}@keyframes floatUp{0%{transform:translateY(0);opacity:0}10%{opacity:.6}90%{opacity:.6}to{transform:translateY(-100vh);opacity:0}}@keyframes avatar-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes badge-pulse{0%,to{box-shadow:0 0 #1976d266}50%{box-shadow:0 0 0 10px #1976d200}}@keyframes circle-draw{0%{stroke-dasharray:0 628}to{stroke-dasharray:628 628}}@keyframes number-count{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@keyframes stat-card-entrance{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes card-slide-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes status-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}@media (max-width: 768px){.home-container{padding:100px 0 40px}.home-header{padding:0 15px 35px}.header-content-transparent{flex-direction:column;gap:25px;align-items:stretch;background:transparent!important;border:none!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.profile-section{order:1}.header-controls{order:2;align-items:center;gap:15px;flex-direction:row;justify-content:space-between}.user-profile{gap:15px;align-items:center;justify-content:flex-start}.user-avatar{width:64px;height:64px;min-width:64px;min-height:64px;flex-shrink:0}.avatar-icon{width:26px;height:26px}.status-indicator{width:16px;height:16px;bottom:4px;right:4px}.profile-info{flex:1;min-width:0}.greeting-title{font-size:1.9rem;line-height:1.2;margin-bottom:6px}.greeting-subtitle{font-size:.95rem;margin-bottom:15px}.quick-stats-preview{gap:12px;flex-wrap:wrap;justify-content:flex-start}.mini-stat{padding:6px 12px}.mini-value{font-size:1.8vh;font-weight:700}.mini-label{font-size:.7rem}.header-actions{gap:8px;justify-content:flex-end;flex-shrink:0}.notification-btn,.settings-btn{width:40px;height:40px}.time-info{padding:12px 16px;margin-top:5px;order:3}.location-selector{padding:10px 14px;min-width:160px;align-self:center;flex:1;max-width:220px;justify-content:space-between}.aqi-main-display{padding:0 15px 35px}.aqi-dashboard{grid-template-columns:1fr;gap:25px}.aqi-primary-card{padding:30px 20px;margin:0 5px;height:auto;min-height:auto}.aqi-card-header{margin-bottom:30px}.header-left h2{font-size:1.4rem;margin-bottom:10px}.aqi-main-content{grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:25px;align-items:center;justify-items:stretch;text-align:center}.aqi-visual{width:100%;justify-content:center}.aqi-description{min-width:auto;width:100%;align-items:stretch;text-align:center}.aqi-trend{min-width:auto;width:100%;align-items:center;text-align:center}.aqi-visual{flex-direction:column;gap:25px;text-align:center;padding:10px 0}.aqi-circle-container{padding:15px;align-self:center}.aqi-circle{width:150px;height:150px;align-self:center;margin:10px auto}.aqi-number{font-size:2.6rem}.status-text{font-size:1.5rem;margin-bottom:15px}.aqi-description{padding:0 10px}.mini-stat{min-width:100px}.aqi-trend{align-self:center;margin-top:20px}.location-selector{padding:12px 16px;min-width:180px;align-self:flex-start;justify-content:space-between}.location-icon{width:16px;height:16px}.location-dropdown{font-size:.9rem}.quick-stats{padding:0 15px 35px}.stats-grid{grid-template-columns:1fr;gap:18px}.stat-card{padding:22px 18px;gap:18px}.forecast-header{margin-left:-20px}.stat-icon{width:48px;height:48px}.environmental-data{padding:0 15px 35px}.data-grid{grid-template-columns:1fr;gap:22px}.data-card{padding:22px 18px}.weather-data{grid-template-columns:1fr;gap:18px}.quick-actions{padding:0 15px 45px}.actions-header{flex-direction:row;align-items:center;gap:15px;margin-bottom:25px}.actions-header .section-title{margin:0;flex:1;min-width:0}.view-all-btn{flex-shrink:0;padding:6px 12px;font-size:.85rem}.actions-grid{grid-template-columns:1fr;gap:18px}.action-card{padding:22px 18px}.pollutants-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin-top:20px;padding:15px}.pollutant-item{padding:12px 8px;gap:6px}.pollutant-icon{width:28px;height:28px}.pollutant-value{font-size:1.2rem}.pollutant-label{font-size:.75rem}.pollutant-unit{font-size:.65rem}}@media (max-width: 480px){.home-container{padding:85px 0 30px}.home-header{padding:0 12px 30px}.header-content-transparent{gap:20px;background:transparent!important;border:none!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.user-profile{gap:30px;align-items:center;flex-wrap:nowrap}.user-avatar{width:58px;height:58px;min-width:58px;min-height:58px;flex-shrink:0}.avatar-icon{width:24px;height:24px}.status-indicator{width:14px;height:14px;bottom:3px;right:3px}.greeting-title{font-size:1.7rem;line-height:1.2;margin-bottom:5px}.greeting-subtitle{font-size:.9rem;margin-bottom:12px}.quick-stats-preview{gap:8px;flex-wrap:wrap;justify-content:flex-start}.mini-stat{padding:6px 10px;min-width:80px}.mini-value{font-size:1.8vh;font-weight:700}.mini-label{font-size:.65rem}.header-controls{align-items:center;gap:12px;flex-direction:row;justify-content:space-between}.header-actions{gap:6px;flex-shrink:0}.notification-btn,.settings-btn{width:36px;height:36px}.location-selector{padding:8px 12px;min-width:150px;font-size:.8rem;flex:1;max-width:200px;justify-content:space-between}.notification-btn svg,.settings-btn svg{width:18px;height:18px}.time-info{padding:10px 14px;font-size:.85rem}.aqi-main-display{padding:0 12px 30px}.aqi-primary-card{padding:25px 16px;margin:0 2px;height:auto;min-height:auto}.header-left h2{font-size:1.3rem;margin-bottom:8px}.aqi-visual{padding:15px 0;gap:20px}.aqi-circle-container{padding:20px}.aqi-circle{width:130px;height:130px;border-width:5px;margin:8px auto}.aqi-number{font-size:2.2rem}.aqi-unit{font-size:.8rem}.status-text{font-size:1.3rem;margin-bottom:12px}.aqi-description{padding:0 8px}.status-details p{font-size:.9rem;margin-bottom:10px}.recommendation{padding:8px 12px;font-size:.8rem}.aqi-secondary-cards{gap:15px;margin-top:10px}.quick-insight-card{padding:20px 16px;height:auto;min-height:280px}.forecast-card{padding:20px 16px;height:auto}.location-selector{padding:10px 14px;min-width:170px;font-size:.85rem;justify-content:space-between}.location-icon{width:14px;height:14px}.location-dropdown{font-size:.85rem}.quick-stats{padding:0 12px 30px}.section-title{font-size:1.6rem;margin-bottom:25px}.stats-grid{gap:16px}.stat-card{padding:18px 14px;gap:16px}.stat-icon{width:44px;height:44px}.stat-value{font-size:1.8rem}.stat-label{font-size:.95rem}.environmental-data{padding:0 12px 30px}.data-grid{gap:18px}.data-card{padding:18px 14px}.card-header h4{font-size:1.15rem}.weather-item{padding:12px 0}.alert-item{padding:14px}.quick-actions{padding:0 12px 35px}.actions-grid{gap:16px}.action-card{padding:18px 14px}.action-icon{width:44px;height:44px}.action-title{font-size:1.05rem}.action-subtitle{font-size:.8rem}}@media (max-width: 360px){.home-container{padding:80px 0 25px}.home-header{padding:0 10px 25px}.user-profile{gap:30px;align-items:center}.user-avatar{width:52px;height:52px;min-width:52px;min-height:52px;flex-shrink:0}.avatar-icon{width:22px;height:22px}.status-indicator{width:12px;height:12px;bottom:2px;right:2px}.greeting-title{font-size:1.5rem;line-height:1.2;margin-bottom:4px}.greeting-subtitle{font-size:.85rem;margin-bottom:10px}.quick-stats-preview{gap:6px;flex-wrap:wrap}.mini-stat{padding:5px 8px;min-width:50px}.mini-value{font-size:1.8vh;font-weight:700}.mini-label{font-size:.6rem}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;color:#1976d2;flex:1;min-height:200px}.header-controls{align-items:center;gap:8px;flex-direction:row;justify-content:space-between}.header-actions{gap:4px;flex-shrink:0}.notification-btn,.settings-btn{width:32px;height:32px}.location-selector{padding:6px 10px;min-width:140px;font-size:.75rem;flex:1;max-width:180px;justify-content:space-between}.notification-btn svg,.settings-btn svg{width:16px;height:16px}.time-info{padding:8px 12px;font-size:.8rem;display:flex;flex-direction:column;gap:8px;align-items:stretch}.time-info-right{display:flex;flex-direction:column;gap:8px;width:100%}.time-info .current-time{order:1;text-align:center}.time-info-right{order:2;display:flex;flex-direction:column;gap:8px;width:100%}.time-info-right .data-source{text-align:center}.time-info-right .data-source .source-badge{justify-content:center}.time-info-right .api-selector-container{text-align:center}.aqi-main-display{padding:0 10px 25px}.aqi-primary-card{padding:20px 12px;margin:0;height:auto;min-height:auto}.header-left h2{font-size:1.2rem}.aqi-visual{padding:10px 0;gap:15px}.aqi-circle-container{padding:15px}.aqi-circle{width:115px;height:115px;border-width:4px;margin:5px auto}.aqi-number{font-size:2rem}.aqi-unit{font-size:.75rem}.status-text{font-size:1.2rem;margin-bottom:10px}.aqi-description{padding:0 5px}.status-details p{font-size:.85rem}.recommendation{padding:6px 10px;font-size:.75rem}.aqi-secondary-cards{gap:12px}.quick-insight-card,.forecast-card{padding:16px 12px;height:auto;min-height:250px}.insight-header h4,.forecast-header h4{font-size:1rem}.impact-level{font-size:1.1rem}.forecast-range{font-size:1.2rem}.location-selector{padding:8px 12px;min-width:160px;font-size:.8rem;justify-content:space-between}.location-icon{width:14px;height:14px}.quick-stats{padding:0 10px 25px}.section-title{font-size:1.4rem;margin-bottom:20px}.stats-grid{gap:14px}.stat-card{padding:16px 12px;gap:14px}.stat-icon{width:40px;height:40px}.stat-value{font-size:1.6rem}.stat-label{font-size:.9rem}.environmental-data{padding:0 10px 25px}.data-grid{gap:15px}.data-card{padding:16px 12px}.card-header h4{font-size:1.05rem}.quick-actions{padding:0 10px 30px}.actions-grid{gap:14px}.action-card{padding:16px 12px}.action-icon{width:40px;height:40px}.action-title{font-size:.95rem}.action-subtitle{font-size:.75rem}.pollutants-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:15px;padding:12px}.pollutant-item{padding:10px 6px;gap:4px}.pollutant-icon{width:24px;height:24px}.pollutant-value{font-size:1rem}.pollutant-label{font-size:.7rem}.pollutant-unit{font-size:.6rem}.last-updated{display:flex;justify-content:flex-end}.update-info{display:flex;align-items:center;gap:10px;color:#1565c0;opacity:.8;font-size:.9rem;font-weight:500}.refresh-btn{position:relative;background:#4da0db26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);color:#1976d2;box-shadow:0 8px 32px #0000001a,0 4px 16px #4da0db1a,inset 0 1px #ffffff1a;overflow:hidden}.refresh-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s}.refresh-btn:hover{background:#4da0db33;border-color:#ffffff4d;transform:translateY(-2px) scale(1.1);box-shadow:0 12px 40px #00000026,0 6px 20px #4da0db26,inset 0 1px #ffffff26}.refresh-btn:hover:before{left:100%}.refresh-btn svg{width:14px;height:14px;color:inherit}.spinning{animation:spin 1s linear infinite}.aqi-badge{display:flex;align-items:center;gap:8px;background:#1976d21a;padding:8px 16px;border-radius:20px;border:1px solid rgba(25,118,210,.2);color:#1976d2;font-size:.9rem;font-weight:600;animation:badge-pulse 2s infinite}.aqi-badge .badge-icon,.aqi-badge svg{width:14px;height:14px}.loading-state{display:flex;flex-direction:column;align-items:center;gap:20px;padding:60px 0;color:#1976d2}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.loading-spinner{width:40px;height:40px;border:3px solid rgba(25,118,210,.1);border-top:3px solid #1976d2;border-radius:50%;animation:spin 1s linear infinite}.weather-icon svg,.alert-icon svg{width:20px;height:20px}}.recommendation svg{width:14px;height:14px}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:#4da0db14;border-radius:12px;margin:2px}::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#4da0db4d,#1976d233);border-radius:12px;border:2px solid rgba(255,255,255,.1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 4px 12px #0000001a,0 2px 6px #4da0db26,inset 0 1px #ffffff1a;transition:all .3s cubic-bezier(.4,0,.2,1)}::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#4da0db66,#1976d24d);border-color:#fff3;box-shadow:0 6px 16px #00000026,0 3px 8px #4da0db33,inset 0 1px #ffffff26;transform:scale(1.05)}::-webkit-scrollbar-thumb:active{background:linear-gradient(135deg,#4da0db80,#1976d266);transform:scale(.95)}::-webkit-scrollbar-corner{background:#4da0db14;border-radius:12px}*,.home-container{scrollbar-width:thin;scrollbar-color:rgba(77,160,219,.3) rgba(77,160,219,.08)}html{scroll-behavior:smooth}.modal-overlay{position:fixed;inset:0;background:#4da0db1a;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);display:flex;align-items:flex-end;justify-content:center;z-index:9999;animation:modalFadeIn .3s ease-out;padding:40px 20px}.alert-modal{background:#e3f2fdd9;backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);border:1px solid rgba(77,160,219,.3);border-radius:25px;width:600px;max-width:calc(100vw - 40px);max-height:calc(100vh - 80px);overflow-y:auto;box-shadow:0 25px 70px #4da0db33,0 15px 35px #1976d226,inset 0 1px #fff6,inset 0 -1px #4da0db1a;animation:modalSlideIn .3s ease-out;position:absolute;transform-origin:bottom center}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 0;border-bottom:1px solid rgba(77,160,219,.1);margin-bottom:24px}.modal-header h3{margin:0;font-size:1.5rem;font-weight:700;color:#1976d2}.close-btn{background:#4da0db1a;border:1px solid rgba(77,160,219,.2);border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;color:#1976d2}.close-btn:hover{background:#4da0db33;transform:scale(1.1)}.close-btn svg{width:18px;height:18px}.modal-content{padding:0 24px 24px}.existing-alerts h4,.new-alert-section h4{margin:0 0 16px;font-size:1.2rem;font-weight:600;color:#1976d2}.no-alerts-message{text-align:center;color:#666;font-style:italic;padding:20px}.alerts-list{display:flex;flex-direction:column;gap:12px;margin-bottom:32px}.alert-item{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#4da0db0d;border:1px solid rgba(77,160,219,.1);border-radius:12px;transition:all .3s ease}.alert-item.enabled{background:#4da0db1a;border-color:#4da0db33}.alert-item.disabled{opacity:.6;background:#8080800d;border-color:#8080801a}.alert-info{flex:1}.alert-name{display:block;font-weight:600;color:#1976d2;margin-bottom:4px}.alert-details{font-size:.9rem;color:#666}.alert-controls{display:flex;gap:8px;align-items:center}.toggle-btn{padding:6px 12px;border:1px solid;border-radius:16px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:50px}.toggle-btn.enabled{background:#4caf501a;border-color:#4caf504d;color:#4caf50}.toggle-btn.disabled{background:#9e9e9e1a;border-color:#9e9e9e4d;color:#9e9e9e}.delete-btn{background:#f443361a;border:1px solid rgba(244,67,54,.2);border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;color:#f44336}.delete-btn:hover{background:#f4433633;transform:scale(1.1)}.delete-btn svg{width:14px;height:14px}.new-alert-section{border-top:1px solid rgba(77,160,219,.1);padding-top:24px}.alert-form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.form-group label{font-weight:600;color:#1976d2;font-size:.9rem}.form-group input,.form-group select{padding:12px;border:1px solid rgba(77,160,219,.2);border-radius:8px;background:#fffc;font-size:.9rem;transition:all .3s ease}.form-group input:focus,.form-group select:focus{outline:none;border-color:#4da0db80;background:#fffffff2;box-shadow:0 0 0 3px #4da0db1a}.form-options{margin:8px 0}.checkbox-label{display:flex;align-items:center;gap:8px;font-size:.9rem;color:#666;cursor:pointer}.checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:#1976d2}.create-alert-btn{background:linear-gradient(135deg,#1976d2,#1565c0);color:#fff;border:none;padding:12px 24px;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 16px #1976d24d}.create-alert-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #1976d266}.create-alert-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 768px){.modal-overlay{align-items:flex-end;justify-content:center;padding:20px}.alert-modal{position:relative!important;top:auto!important;left:auto!important;width:95%;max-width:none;max-height:80vh;transform:none!important;margin-bottom:20px}.modal-header{padding:20px 20px 0}.modal-content{padding:0 20px 20px}.form-row{grid-template-columns:1fr;gap:12px}.alert-controls{flex-direction:column;gap:6px}}@media (max-width: 480px){.modal-overlay{padding:10px;align-items:flex-end}.alert-modal{width:100%;max-height:85vh;margin-bottom:10px}.modal-header{padding:16px 16px 0}.modal-content{padding:0 16px 16px}}.health-assessment-section{padding:0 20px 20px;max-width:1200px;margin:0 auto}.action-card.health-assessment-wide{grid-column:span 2}.health-status-inline{display:flex;align-items:center;font-family:Montserrat,sans-serif;gap:8px;margin-top:8px;flex-direction:row}.health-status-inline .status-label{font-size:.85rem;color:#ffffffb3;margin-right:8px}.health-status-inline .status-value{padding:3px 10px;border-radius:10px;font-size:.8rem;font-weight:600}.health-status-inline .status-value.low-risk,.health-status-inline .status-value.good{background:#4caf501a;color:#4caf50;border:1px solid rgba(76,175,80,.2)}.health-status-inline .status-value.moderate-risk,.health-status-inline .status-value.moderate{background:#ffc1071a;color:#ffc107;border:1px solid rgba(255,193,7,.2)}.health-status-inline .status-value.high-risk,.health-status-inline .status-value.unhealthy-for-sensitive-groups{background:#ff98001a;color:#ff9800;border:1px solid rgba(255,152,0,.2)}.health-status-inline .status-value.very-high-risk,.health-status-inline .status-value.unhealthy,.health-status-inline .status-value.very-unhealthy{background:#f443361a;color:#f44336;border:1px solid rgba(244,67,54,.2)}@media (max-width: 768px){.action-card.health-assessment-wide{grid-column:span 1}.health-status-inline{flex-direction:column;align-items:flex-start;gap:4px}}.health-assessment-card{width:100%;background:#fffffff2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(77,160,219,.2);border-radius:20px;padding:24px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 32px #0000001a,0 4px 16px #4da0db1a,inset 0 1px #ffffff4d;position:relative;overflow:hidden}.health-assessment-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(77,160,219,.1),transparent);transition:left .5s}.health-assessment-card:hover{transform:translateY(-4px);border-color:#4da0db4d;box-shadow:0 12px 40px #00000026,0 6px 20px #4da0db26,inset 0 1px #fff6}.health-assessment-card:hover:before{left:100%}.health-card-content{display:flex;align-items:center;gap:20px}.health-icon{width:60px;height:60px;background:#4da0db1a;border:1px solid rgba(77,160,219,.2);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#1976d2;transition:all .3s ease}.health-assessment-card:hover .health-icon{background:#4da0db33;border-color:#4da0db4d;transform:scale(1.1)}.health-icon svg{width:28px;height:28px}.health-text{flex:1}.health-text h4{margin:0 0 8px;font-size:1.3rem;font-weight:700;color:#1976d2}.health-text p{margin:0 0 12px;color:#666;font-size:.95rem;line-height:1.5}.health-status{display:flex;align-items:center;gap:8px;margin-top:8px}.status-label{font-size:.9rem;color:#666;font-weight:500}.status-value{padding:4px 12px;border-radius:12px;font-size:.85rem;font-weight:600}.status-value.low-risk,.status-value.good{background:#4caf501a;color:#4caf50;border:1px solid rgba(76,175,80,.2)}.status-value.moderate-risk,.status-value.moderate{background:#ffc1071a;color:#ffc107;border:1px solid rgba(255,193,7,.2)}.status-value.high-risk,.status-value.unhealthy-for-sensitive-groups{background:#ff98001a;color:#ff9800;border:1px solid rgba(255,152,0,.2)}.status-value.very-high-risk,.status-value.unhealthy,.status-value.very-unhealthy{background:#f443361a;color:#f44336;border:1px solid rgba(244,67,54,.2)}.health-arrow{width:40px;height:40px;background:#4da0db1a;border:1px solid rgba(77,160,219,.2);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#1976d2;transition:all .3s ease;flex-shrink:0}.health-assessment-card:hover .health-arrow{background:#4da0db33;border-color:#4da0db4d;transform:translate(4px) scale(1.1)}.health-arrow svg{width:18px;height:18px}.health-intro{padding:24px;background:linear-gradient(135deg,#ffffff14,#ffffff0a);border-radius:20px;border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);margin-bottom:32px;box-shadow:0 8px 32px #0000001a}.health-intro p{color:#1976d2;margin:0 0 20px;font-size:1.05rem;line-height:1.6;font-weight:400;letter-spacing:.3px}.current-risk{display:flex;align-items:center;gap:16px;padding:16px 20px;background:linear-gradient(135deg,#1976d21f,#1976d20f);border-radius:16px;border:1px solid rgba(25,118,210,.15);box-shadow:0 4px 20px #1976d21a}.risk-label{color:#1976d2;font-size:.95rem;font-weight:500;letter-spacing:.2px}.risk-value{color:#fff;font-weight:600;padding:8px 16px;background:linear-gradient(135deg,#1976d2,#42a5f5);border-radius:12px;border:none;font-size:.9rem;letter-spacing:.3px;box-shadow:0 4px 16px #1976d24d}.health-form{display:flex;flex-direction:column;gap:24px}.form-section{background:linear-gradient(135deg,#ffffff0f,#ffffff05);border-radius:20px;border:1px solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);padding:28px;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 32px #00000014}.form-section:hover{background:linear-gradient(135deg,#ffffff1a,#ffffff0a);border-color:#1976d233;transform:translateY(-4px);box-shadow:0 12px 40px #0000001f}.form-section h4{color:#1976d2;margin:0 0 24px;font-size:1.15rem;font-weight:600;display:flex;align-items:center;gap:12px;letter-spacing:.3px}.form-section h4:before{content:"";width:4px;height:24px;background:linear-gradient(135deg,#1976d2,#42a5f5);border-radius:4px;box-shadow:0 2px 8px #1976d24d}.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.health-checkbox{display:flex;align-items:center;gap:16px;padding:16px 20px;background:linear-gradient(135deg,#ffffff0a,#ffffff03);border-radius:16px;border:1px solid rgba(255,255,255,.06);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.health-checkbox:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#1976d21a,#42a5f50d);opacity:0;transition:opacity .3s ease}.health-checkbox:hover{background:linear-gradient(135deg,#ffffff14,#ffffff05);border-color:#1976d240;transform:translateY(-2px);box-shadow:0 8px 25px #00000014}.health-checkbox:hover:before{opacity:1}.health-checkbox input[type=checkbox]{appearance:none;width:22px;height:22px;border:2px solid rgba(25,118,210,.3);border-radius:8px;background:linear-gradient(135deg,#ffffff1a,#ffffff0d);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;flex-shrink:0}.health-checkbox input[type=checkbox]:checked{background:linear-gradient(135deg,#1976d2,#42a5f5);border-color:#1976d2;box-shadow:0 0 0 3px #1976d226,0 4px 12px #1976d24d;transform:scale(1.05)}.health-checkbox input[type=checkbox]:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:12px;font-weight:700}.health-checkbox span{color:#1976d2;font-size:.95rem;font-weight:500;position:relative;z-index:1;letter-spacing:.2px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:#1976d2;font-size:.95rem;font-weight:600}.form-group select,.form-group textarea{background:linear-gradient(135deg,#ffffff14,#ffffff0a);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:16px 20px;color:#1976d2;font-size:.95rem;font-weight:500;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 20px #0000000a}.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#42a5f5;background:linear-gradient(135deg,#ffffff1f,#ffffff0f);box-shadow:0 0 0 4px #1976d21a,0 8px 30px #00000014;transform:translateY(-2px)}.form-group select option{background:#1a1a2e;color:#fff;padding:8px}.form-group textarea{resize:vertical;min-height:80px;font-family:inherit}.form-group textarea::placeholder{color:#1976d299}.form-actions{display:flex;flex-direction:column;gap:16px;padding-top:8px}.save-health-btn{background:linear-gradient(135deg,#1976d2,#42a5f5);color:#fff;border:none;border-radius:16px;padding:18px 32px;font-size:1rem;font-weight:600;font-family:Inter,Segoe UI,Roboto,-apple-system,BlinkMacSystemFont,sans-serif;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;letter-spacing:.3px;box-shadow:0 8px 30px #1976d24d}.save-health-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.save-health-btn:hover{transform:translateY(-3px);box-shadow:0 12px 40px #1976d266;background:linear-gradient(135deg,#42a5f5,#64b5f6)}.save-health-btn:hover:before{left:100%}.save-health-btn:active{transform:translateY(0)}.privacy-note{display:flex;align-items:center;gap:16px;padding:20px 24px;background:linear-gradient(135deg,#4caf501f,#81c78414);border-radius:16px;border:1px solid rgba(76,175,80,.2);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 8px 30px #4caf5026}.privacy-note svg{width:24px;height:24px;color:#2e7d32;flex-shrink:0;filter:drop-shadow(0 2px 4px rgba(46,125,50,.3))}.privacy-note span{color:#2e7d32;font-size:.95rem;line-height:1.5;font-weight:500;letter-spacing:.2px}.privacy-note svg{width:16px;height:16px;color:#1976d2;flex-shrink:0}@media (max-width: 768px){.action-card.health-assessment-wide{grid-column:span 1}.health-status-inline{flex-direction:column;align-items:flex-start;gap:4px}.checkbox-grid{grid-template-columns:1fr}.form-section,.health-intro{padding:16px}.health-checkbox{padding:10px 12px}.form-group select,.form-group textarea{padding:10px 14px}.save-health-btn{padding:14px 20px}}@media (max-width: 768px){::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{border-radius:8px;border:1px solid rgba(255,255,255,.1)}}@media (max-width: 480px){::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{border-radius:6px;border:1px solid rgba(255,255,255,.08)}}.fullscreen-map-overlay{position:fixed;inset:0;width:100vw;height:100vh;background:#4da0db14;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:10000;overflow-y:auto;overflow-x:hidden;animation:fadeInOverlay .4s cubic-bezier(.4,0,.2,1);padding:0;margin:0}@keyframes fadeInOverlay{0%{opacity:0;backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px)}to{opacity:1;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}}.fullscreen-map-container{width:100vw;height:100vh;min-height:100vh;max-width:100vw;max-height:none;background:linear-gradient(135deg,#f8fffe,#e3f2fd,#bbdefb);border:none;border-radius:0;display:flex;flex-direction:column;overflow:hidden;box-shadow:none;animation:expandFromSource .6s cubic-bezier(.25,.46,.45,.94);transform-origin:var(--expand-origin-x, 50%) var(--expand-origin-y, 50%);position:relative}@keyframes expandFromSource{0%{width:300px;height:200px;border-radius:16px;transform:scale(.8);opacity:.8}30%{width:60vw;height:40vh;border-radius:12px;transform:scale(.9);opacity:.9}60%{width:80vw;height:70vh;border-radius:8px;transform:scale(.95);opacity:.95}to{width:100vw;height:100vh;border-radius:0;transform:scale(1);opacity:1}}.fullscreen-map-header{display:flex;justify-content:space-between;align-items:center;padding:20px 30px;background:linear-gradient(135deg,#4da0db1a,#1976d20d);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);color:#1976d2;border-bottom:1px solid rgba(77,160,219,.15);box-shadow:inset 0 1px #ffffff80}.map-header-left h2{margin:0;font-size:1.5rem;font-weight:600}.map-header-left p{margin:4px 0 0;opacity:.9;font-size:.9rem}.close-fullscreen-btn{background:#4da0db1a;border:1px solid rgba(77,160,219,.2);border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);color:#1976d2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 2px 8px #4da0db1a}.close-fullscreen-btn:hover{background:#1976d226;border-color:#1976d24d;transform:scale(1.1) rotate(90deg);box-shadow:0 4px 16px #1976d233}.fullscreen-map-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.map-controls{display:flex;align-items:center;gap:30px;padding:20px 30px;background:linear-gradient(135deg,#fffc,#f8fffee6);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border-bottom:1px solid rgba(77,160,219,.1);flex-wrap:wrap;box-shadow:inset 0 1px #fffc}.control-group{display:flex;align-items:center;gap:10px}.control-group label{font-weight:600;color:#1976d2;font-size:.9rem;white-space:nowrap}.region-selector,.pollutant-selector{background:#fff;border:1px solid rgba(25,118,210,.2);border-radius:8px;padding:8px 12px;font-size:.85rem;color:#1976d2;cursor:pointer;transition:all .3s ease;min-width:140px}.region-selector:hover,.pollutant-selector:hover{border-color:#1976d266;box-shadow:0 2px 8px #1976d21a}.view-toggle{display:flex;background:#fff;border-radius:8px;border:1px solid rgba(25,118,210,.2);overflow:hidden}.view-btn{background:transparent;border:none;padding:8px 16px;font-size:.85rem;cursor:pointer;transition:all .3s ease;color:#1976d2}.view-btn.active{background:#1976d2;color:#fff}.view-btn:not(.active):hover{background:#1976d21a}.fullscreen-map-main{flex:1;position:relative;overflow:hidden}.dummy-map{width:100%;height:100%;min-height:calc(100vh - 160px);position:relative;background:linear-gradient(135deg,#f8fffee6,#e3f2fdcc 30%,#bbdefbb3 70%,#90caf999);overflow-y:auto;overflow-x:hidden;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.map-background{position:absolute;inset:0;background:radial-gradient(circle at 20% 30%,rgba(77,160,219,.08) 0%,transparent 60%),radial-gradient(circle at 70% 60%,rgba(25,118,210,.06) 0%,transparent 60%),radial-gradient(circle at 40% 80%,rgba(77,160,219,.04) 0%,transparent 60%),radial-gradient(circle at 80% 20%,rgba(25,118,210,.05) 0%,transparent 60%);animation:backgroundPulse 6s ease-in-out infinite}@keyframes backgroundPulse{0%,to{opacity:1}50%{opacity:.8}}.fullscreen-locations{position:absolute;inset:0;min-height:calc(100vh - 160px);z-index:2;overflow:visible}.location-marker-fs{position:absolute;display:flex;flex-direction:column;align-items:center;cursor:pointer;transition:all .3s ease;transform:translate(-50%) translateY(-50%)}.location-marker-fs:hover{transform:translate(-50%) translateY(-50%) scale(1.1);z-index:10}.location-marker-fs:hover .marker-info{opacity:1;visibility:visible;transform:translateY(0)}.marker-pulse{position:absolute;width:60px;height:60px;border-radius:50%;background:#4da0db33;animation:pulseFsThemed 2s infinite;z-index:1}.marker-pulse.current-pulse{background:#9c27b033}@keyframes pulseFsThemed{0%{transform:scale(.8);opacity:1;background:#4da0db4d}70%{transform:scale(1.3);opacity:0;background:#4da0db1a}to{transform:scale(.8);opacity:0;background:#4da0db00}}.marker-aqi-fs{background:#fffffff2;border-radius:50%;width:50px;height:50px;display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:700;color:#1976d2;border:3px solid #1976d2;box-shadow:0 4px 16px #00000026;z-index:2;position:relative}.location-good .marker-aqi-fs{border-color:#4caf50;color:#2e7d32}.location-moderate .marker-aqi-fs{border-color:#ffc107;color:#f57c00}.location-unhealthy .marker-aqi-fs{border-color:#f44336;color:#c62828}.location-current .marker-aqi-fs{border-color:#9c27b0;color:#7b1fa2}.marker-info{position:absolute;top:70px;left:50%;transform:translate(-50%) translateY(10px);background:linear-gradient(135deg,#fffffff2,#f8fffee6);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border-radius:12px;padding:8px 12px;border:1px solid rgba(77,160,219,.15);box-shadow:0 4px 16px #1976d21a,inset 0 1px #fffc;opacity:0;visibility:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap;z-index:3}.marker-city-fs{display:block;font-size:.85rem;font-weight:600;color:#1976d2;margin-bottom:2px}.marker-details{display:block;font-size:.75rem;color:#1565c0;opacity:.8}.fullscreen-legend{position:fixed;bottom:30px;left:30px;background:linear-gradient(135deg,#fffffff2,#f8fffee6);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border-radius:16px;padding:20px;border:1px solid rgba(77,160,219,.15);box-shadow:0 8px 32px #1976d21a,inset 0 1px #fffc;z-index:1000;animation:slideInLeft .6s cubic-bezier(.4,0,.2,1) .3s both;max-width:calc(100vw - 60px)}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.fullscreen-legend h4{margin:0 0 12px;font-size:1rem;color:#1976d2;font-weight:600}.legend-items{display:flex;flex-direction:column;gap:8px}.legend-item-fs{display:flex;align-items:center;gap:10px;font-size:.8rem}.legend-color-fs{width:16px;height:16px;border-radius:50%;flex-shrink:0}.legend-color-fs.good{background:#4caf50}.legend-color-fs.moderate{background:#ffc107}.legend-color-fs.unhealthy-sensitive{background:#ff9800}.legend-color-fs.unhealthy{background:#f44336}.legend-color-fs.very-unhealthy{background:#9c27b0}.legend-color-fs.hazardous{background:#8e24aa}.legend-item-fs span{color:#1976d2;font-weight:500}.map-info-panel{position:fixed;top:30px;right:30px;background:linear-gradient(135deg,#fffffff2,#f8fffee6);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border-radius:16px;padding:20px;border:1px solid rgba(77,160,219,.15);box-shadow:0 8px 32px #1976d21a,inset 0 1px #fffc;z-index:1000;animation:slideInRight .6s cubic-bezier(.4,0,.2,1) .2s both;max-width:calc(100vw - 60px)}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.info-stats{display:flex;flex-direction:column;gap:12px}.info-stat{display:flex;flex-direction:column;gap:2px}.stat-label{font-size:.75rem;color:#1565c0;opacity:.8}.stat-value{font-size:1rem;font-weight:600;color:#1976d2}.interactive-coming-soon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:linear-gradient(135deg,#fffffff2,#f8fffee6);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border-radius:16px;padding:20px 30px;border:1px solid rgba(77,160,219,.2);box-shadow:0 8px 32px #1976d226,inset 0 1px #fffc;z-index:4;animation:pulseGlow 3s ease-in-out infinite}@keyframes pulseGlow{0%,to{box-shadow:0 8px 32px #1976d226,inset 0 1px #fffc}50%{box-shadow:0 12px 40px #1976d240,inset 0 1px #ffffffe6}}.coming-soon-content{display:flex;align-items:center;gap:12px;color:#1976d2;font-weight:500}.coming-soon-content svg{width:20px;height:20px}@media (max-width: 768px){.fullscreen-map-container{width:100vw;height:100vh;border-radius:0}.fullscreen-map-header{padding:15px 20px}.map-header-left h2{font-size:1.2rem}.map-header-left p{font-size:.8rem}.map-controls{padding:15px 20px;gap:15px;flex-direction:column;align-items:stretch}.control-group{flex-direction:row;justify-content:space-between;align-items:center;width:100%}.region-selector,.pollutant-selector{min-width:120px;font-size:.8rem;padding:8px 12px;flex:1;margin-left:10px}.fullscreen-legend{bottom:20px;left:20px;right:20px;max-width:none;width:calc(100vw - 40px);padding:15px}.map-info-panel{top:100px;right:20px;left:20px;max-width:none;width:calc(100vw - 40px);padding:15px}.marker-aqi-fs{width:40px;height:40px;font-size:.8rem}.marker-pulse{width:50px;height:50px}.legend-items{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.legend-item-fs{font-size:.75rem}.interactive-coming-soon{padding:15px 20px;left:20px;right:20px;width:calc(100vw - 40px);transform:translateY(-50%)}.coming-soon-content{font-size:.9rem;justify-content:center}.dummy-map{min-height:calc(100vh - 200px)}.fullscreen-map-content{min-height:calc(100vh - 120px)}.fullscreen-map-main{min-height:calc(100vh - 200px)}}@media (max-width: 480px){.fullscreen-map-header{padding:12px 16px}.map-header-left h2{font-size:1.1rem}.map-controls{padding:12px 16px;gap:12px}.region-selector,.pollutant-selector{min-width:100px;font-size:.75rem;padding:6px 10px}.fullscreen-legend{bottom:15px;left:15px;right:15px;width:calc(100vw - 30px);padding:12px}.fullscreen-legend h4{font-size:.9rem;margin-bottom:8px}.map-info-panel{top:80px;right:15px;left:15px;width:calc(100vw - 30px);padding:12px}.marker-aqi-fs{width:35px;height:35px;font-size:.75rem}.marker-pulse{width:45px;height:45px}.marker-info{top:55px;padding:6px 10px}.marker-city-fs{font-size:.8rem}.marker-details{font-size:.7rem}.interactive-coming-soon{padding:12px 16px;left:15px;right:15px;width:calc(100vw - 30px)}.coming-soon-content{font-size:.85rem;gap:8px}.coming-soon-content svg{width:16px;height:16px}.legend-items{grid-template-columns:1fr;gap:6px}.dummy-map{min-height:calc(100vh - 180px)}.fullscreen-map-content{min-height:calc(100vh - 100px)}.fullscreen-map-main{min-height:calc(100vh - 180px)}}.pollutant-carousel-container{position:relative;display:flex;flex-direction:column;align-items:center;gap:20px}.swipe-container{position:relative;touch-action:pan-y;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.animated-circle{transform:scale(1);animation:pulseGlow 3s ease-in-out infinite;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:140px;height:140px;border:4px solid;border-radius:50%;margin:0 auto;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-sizing:border-box}@media (max-width: 768px){.animated-circle{width:160px;height:160px;border-width:5px}}@media (max-width: 480px){.animated-circle{width:140px;height:140px;border-width:4px}}@media (max-width: 360px){.animated-circle{width:120px;height:120px;border-width:3px}}@media (max-width: 768px){.animated-circle{width:140px;height:140px;border-width:5px}}@media (max-width: 480px){.animated-circle{width:120px;height:120px;border-width:4px}}@media (max-width: 360px){.animated-circle{width:100px;height:100px;border-width:3px}}@keyframes pulseGlow{0%,to{transform:scale(1);box-shadow:0 0 30px #4da0db4d}50%{transform:scale(1.02);box-shadow:0 0 40px #4da0db80}}.pollutant-name{font-size:.9rem;font-weight:600;opacity:.8;margin-top:4px;letter-spacing:.5px;text-transform:uppercase}.progress-ring{position:absolute;top:-10px;left:-10px;width:calc(100% + 20px);height:calc(100% + 20px);pointer-events:none}.progress-svg{width:100%;height:100%;transform:rotate(-90deg)}.swipe-hint{position:absolute;top:50%;transform:translateY(-50%);width:24px;height:24px;opacity:0;color:#ffffff80;transition:opacity .3s ease;pointer-events:none;animation:fadeInOut 2s ease-in-out infinite}.swipe-hint.left-hint{left:-40px;animation-delay:0s}.swipe-hint.right-hint{right:-40px;animation-delay:1s}@keyframes fadeInOut{0%,to{opacity:0;transform:translateY(-50%) scale(.8)}50%{opacity:.6;transform:translateY(-50%) scale(1)}}.swipe-container:hover .swipe-hint{opacity:.4;animation-play-state:paused}.pollutant-dots{position:absolute;bottom:-30px;left:50%;transform:translate(-50%);display:flex;gap:8px;z-index:10}.pollutant-dots .dot{width:8px;height:8px;border-radius:50%;transition:all .3s ease;cursor:pointer}.pollutant-dots .dot.active{transform:scale(1.3);box-shadow:0 0 8px #fff6}.pollutant-navigation,.pollutant-nav-btn{display:none}.auto-slide-toggle{position:absolute;top:-15px;right:-15px;width:40px;height:40px;background:#4da0db66;border:2px solid rgba(255,255,255,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fffc;z-index:20;box-shadow:0 4px 12px #0003}.auto-slide-toggle:hover{background:#ffffff40;border-color:#fff6;color:#fff;transform:scale(1.1);box-shadow:0 6px 16px #0000004d}.auto-slide-toggle.active{color:#1976d2;border-color:#4da0db66;background:#4caf501a}.auto-slide-toggle svg{width:18px;height:18px}.aqi-description .status-text,.aqi-description .status-details p,.aqi-description .recommendation{transition:all .5s ease}.aqi-circle{position:relative;overflow:visible}.aqi-circle:after{content:"";position:absolute;inset:-3px;border-radius:50%;background:inherit;filter:blur(8px);opacity:.3;z-index:-1}.aqi-circle-container{position:relative;width:180px;height:180px;margin:0 auto;display:flex;align-items:center;justify-content:center;flex-shrink:0}@media (max-width: 768px){.aqi-circle-container{width:200px;height:200px}}@media (max-width: 480px){.aqi-circle-container{width:180px;height:180px}}@media (max-width: 360px){.aqi-circle-container{width:160px;height:160px}}@media (max-width: 768px){.swipe-hint{width:18px;height:18px}.swipe-hint.left-hint{left:-25px}.swipe-hint.right-hint{right:-25px}.auto-slide-toggle{width:36px;height:36px;top:-12px;right:-12px}.auto-slide-toggle svg{width:16px;height:16px}.pollutant-name{font-size:.75rem}.pollutant-dots{bottom:-25px}.pollutant-dots .dot{width:6px;height:6px}.aqi-number{font-size:2.2rem}.aqi-unit{font-size:.8rem}}@media (max-width: 480px){.swipe-hint{width:16px;height:16px}.swipe-hint.left-hint{left:-20px}.swipe-hint.right-hint{right:-20px}.auto-slide-toggle{width:32px;height:32px;top:-10px;right:-10px}.auto-slide-toggle svg{width:14px;height:14px}.pollutant-dots{bottom:-20px;gap:5px}.pollutant-dots .dot{width:5px;height:5px}.aqi-number{font-size:1.8rem}.aqi-unit{font-size:.7rem}.pollutant-name{font-size:.65rem}}.toast-notification{position:fixed;top:20px;right:20px;background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;padding:12px 20px;border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:10000;font-weight:500;animation:toastSlideIn .3s ease-out;max-width:300px;word-wrap:break-word}@keyframes toastSlideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.toast-notification.fade-out{animation:toastFadeOut .3s ease-out forwards}@keyframes toastFadeOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@media (max-width: 768px){.backend-mode-indicator{top:70px;left:15px;font-size:.7rem;padding:6px 12px}.toast-notification{top:15px;right:15px;left:15px;max-width:none;font-size:.9rem;padding:10px 16px}.secret-click-counter{width:16px;height:16px;font-size:9px;top:-4px;right:-4px}}@media (max-width: 480px){.backend-mode-indicator{top:65px;left:10px;font-size:.65rem;padding:5px 10px}.secret-click-counter{width:14px;height:14px;font-size:8px}}.live-location{padding:0 20px 25px;max-width:1200px;margin:0 auto}.location-container{background:#4da0db26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:20px;padding:18px;box-shadow:0 6px 24px #00000014,0 3px 12px #4da0db14,inset 0 1px #ffffff1a;transition:all .3s cubic-bezier(.4,0,.2,1)}.location-header{display:flex;align-items:center;gap:12px;margin-bottom:15px}.location-icon{width:40px;height:40px;background:#1976d233;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid rgba(25,118,210,.3)}.location-icon svg{width:20px;height:20px;color:#1976d2}.location-info h3{margin:0;font-size:1.1rem;font-weight:600;color:#1976d2}.location-info p{margin:5px 0 0;font-size:.9rem;color:#fffc}.get-location-btn{margin-left:auto;width:45px;height:45px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;color:#fff}.get-location-btn:hover:not(:disabled){background:#fff3;transform:scale(1.05)}.get-location-btn:disabled{opacity:.6;cursor:not-allowed}.get-location-btn svg{width:20px;height:20px}.location-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}.location-display{min-height:80px;display:flex;align-items:center;justify-content:center}.location-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;width:100%}.location-item{display:flex;flex-direction:column;gap:5px;padding:15px;background:#ffffff1a;border-radius:15px;border:1px solid rgba(255,255,255,.15)}.location-label{font-size:.85rem;color:#ffffffb3;font-weight:500}.location-value{font-size:1rem;color:#fff;font-weight:600;font-family:Courier New,monospace}.location-error,.location-prompt{display:flex;align-items:center;gap:12px;padding:20px;border-radius:15px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fffc}.error-icon,.prompt-icon{width:24px;height:24px;flex-shrink:0}.error-icon svg{color:#ff6b6b}.prompt-icon svg{color:#1976d2}.retry-btn{margin-left:auto;padding:8px 16px;background:#ff6b6b33;border:1px solid rgba(255,107,107,.3);border-radius:20px;color:#ff6b6b;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s ease}.retry-btn:hover{background:#ff6b6b4d;transform:translateY(-1px)}.map-preview{margin-top:20px;border-radius:15px;overflow:hidden;background:#ffffff0d;border:1px solid rgba(255,255,255,.1)}.map-header{display:flex;justify-content:space-between;align-items:center;padding:12px 15px;background:#ffffff1a;border-bottom:1px solid rgba(255,255,255,.1)}.map-title{font-size:.9rem;font-weight:600;color:#1976d2}.expand-map-btn{width:30px;height:30px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;color:#fff}.expand-map-btn:hover{background:#fff3;transform:scale(1.05)}.expand-map-btn svg{width:16px;height:16px}.map-container{position:relative;height:200px;background:linear-gradient(135deg,#1976d21a,#0d47a126,#4da0db1a)}.map-overlay{position:absolute;inset:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 400 200"><path d="M50,150 Q100,120 150,130 T250,140 T350,120" stroke="rgba(255,255,255,0.1)" stroke-width="1" fill="none"/><path d="M30,180 Q80,160 120,165 T200,170 T300,155 T380,160" stroke="rgba(255,255,255,0.08)" stroke-width="1" fill="none"/></svg>') no-repeat center;background-size:cover}.map-gradient{position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,#ffffff05,#4da0db0d)}.map-locations{position:absolute;inset:0}.location-marker{position:absolute;transform:translate(-50%,-50%);cursor:pointer;transition:all .3s ease}.location-marker:hover{transform:translate(-50%,-50%) scale(1.1)}.location-marker:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:12px;height:12px;border-radius:50%;border:2px solid white;box-shadow:0 2px 8px #0000004d;z-index:1}.location-good:before{background:#4caf50}.location-moderate:before{background:#ff9800}.location-unhealthy:before{background:#f44336}.location-current:before{background:#1976d2;animation:pulse 2s infinite}.marker-aqi{position:absolute;top:-25px;left:50%;transform:translate(-50%);background:#66a5fe33;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);color:#fff;padding:2px 6px;border-radius:8px;font-size:.7rem;font-weight:600;white-space:nowrap;box-shadow:0 2px 6px #0000004d}.marker-city{position:absolute;top:15px;font-size:1vh;left:50%;transform:translate(-50%);background:#5975d91a;color:#ffffffaf;padding:2px 6px;border-radius:6px;font-size:.65rem;font-weight:500;white-space:nowrap;box-shadow:0 1px 4px #0003}.map-legend{position:absolute;top:10px;right:10px;display:flex;flex-direction:column;gap:10px;font-size:1vh;background:#ffffff1a;padding:8px 12px;border-radius:10px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.legend-item{display:flex;align-items:center;gap:5px;font-size:.7rem;color:#fff}.legend-color{width:8px;height:8px;border-radius:50%;border:1px solid rgba(255,255,255,.3)}.legend-color.good{background:#4caf50}.legend-color.moderate{background:#ff9800}.legend-color.unhealthy{background:#f44336}.map-future-notice{position:absolute;bottom:8px;right:10px;display:flex;align-items:center;gap:6px;background:#ffffff1a;padding:6px 10px;border-radius:15px;font-size:.7rem;color:#ffffffb3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.map-future-notice svg{width:12px;height:12px}@media (max-width: 768px){.live-location{padding:0 15px 35px}.location-container{padding:20px}.location-header{gap:12px}.location-icon{width:45px;height:45px}.location-icon svg{width:20px;height:20px}.location-info h3{font-size:1.2rem}.location-details{grid-template-columns:1fr;gap:15px}.location-item{padding:12px}.map-container{height:140px}.map-legend{flex-direction:column;gap:5px;right:5px;top:5px;padding:6px 8px}.map-future-notice{right:5px;bottom:5px;padding:4px 8px}}@media (max-width: 480px){.location-header{flex-wrap:wrap}.get-location-btn{width:40px;height:40px}.location-error,.location-prompt{flex-direction:column;text-align:center;gap:10px}.retry-btn{margin:0}.map-container{height:120px}.marker-aqi,.marker-city{font-size:.6rem;padding:1px 4px}}@keyframes pulse{0%,to{transform:translate(-50%,-50%) scale(1);opacity:1}50%{transform:translate(-50%,-50%) scale(1.2);opacity:.7}}@keyframes spin{to{transform:rotate(360deg)}}.offline-indicator{position:fixed;bottom:40px;left:50%;transform:translate(-50%);z-index:9997;background:#4da0db26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:25px;padding:15px 25px;color:#fff;font-family:Montserrat,sans-serif;box-shadow:0 8px 32px #00000026,0 4px 16px #4da0db26,inset 0 1px #ffffff1a;animation:slideUp .5s ease-out;width:90%;max-width:1200px}.offline-indicator.offline{border-color:#ff98004d;background:#ff980026;box-shadow:0 8px 32px #ff98001a,0 4px 16px #ff98001a,inset 0 1px #ffffff1a}.offline-indicator.online{border-color:#4caf504d;background:#4caf5026;box-shadow:0 8px 32px #4caf501a,0 4px 16px #4caf501a,inset 0 1px #ffffff1a}.indicator-content{display:flex;align-items:center;gap:15px}.indicator-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);flex-shrink:0}.indicator-icon svg{width:20px;height:20px;color:#fff}.offline-indicator.offline .indicator-icon{background:#ff980033;border-color:#ff98004d}.offline-indicator.offline .indicator-icon svg{color:#ff9800}.offline-indicator.online .indicator-icon{background:#4caf5033;border-color:#4caf504d}.offline-indicator.online .indicator-icon svg{color:#4caf50}.indicator-text{display:flex;flex-direction:column;gap:3px}.status-title{font-weight:700;font-size:1rem;color:#fff}.status-message{font-weight:400;font-size:.85rem;color:#fffc;line-height:1.3}.offline-indicator.offline .status-title{color:#ff9800}.offline-indicator.online .status-title{color:#4caf50}@keyframes slideUp{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media (max-width: 768px){.offline-indicator{bottom:10px;padding:12px 20px;width:90%}.indicator-content{gap:12px}.indicator-icon{width:36px;height:36px}.indicator-icon svg{width:18px;height:18px}.status-title{font-size:.95rem}.status-message{font-size:.8rem}}@media (max-width: 480px){.offline-indicator{bottom:10px;width:90%;padding:10px 16px}.indicator-content{gap:10px}.indicator-icon{width:32px;height:32px}.indicator-icon svg{width:16px;height:16px}.status-title{font-size:.9rem}.status-message{font-size:.75rem}}.about-container{width:100%;min-height:100vh;padding:120px 0 0;margin:0;background:linear-gradient(135deg,#e3f2fd,#bbdefb);font-family:Montserrat,sans-serif;box-sizing:border-box;overflow-x:hidden;position:relative}.logo-image{height:6rem;width:auto;margin:0;object-fit:contain;flex-shrink:0}.particle{position:absolute;width:8px;height:8px;background:#4da0dbcc;border-radius:50%;border:1px solid rgba(77,160,219,.6);box-shadow:0 0 10px #4da0db80,inset 0 1px #fff9;animation:bubble-float 20s infinite linear;opacity:.6}.particle:nth-child(9){left:88%;animation-delay:-7s;animation-duration:20s}.particle:nth-child(10){left:92%;animation-delay:-10s;animation-duration:15s}.particle:nth-child(11){left:12%;animation-delay:-13s;animation-duration:25s}.particle:nth-child(12){left:82%;animation-delay:-16s;animation-duration:18s}.orb-4{width:250px;height:250px;background:radial-gradient(circle,rgba(77,160,219,.2),transparent);top:10%;right:10%;animation-delay:3s}.orb-5{width:180px;height:180px;background:radial-gradient(circle,rgba(25,118,210,.25),transparent);bottom:20%;left:20%;animation-delay:10s}.hero-section{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:0 20px;overflow:hidden;z-index:2}.hero-content{position:relative;z-index:2;text-align:center;max-width:900px;margin:0 auto;animation:fadeInUp 1s ease-out}.hero-badge{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:#4da0db26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(77,160,219,.3);border-radius:50px;color:#1976d2;font-size:.9rem;font-weight:600;margin-bottom:30px;animation:pulse-glow 2s infinite}.badge-icon{width:16px;height:16px}.badge-icon svg{width:100%;height:100%;stroke:#1976d2}.hero-title{font-size:6rem;font-weight:800;margin:0;line-height:1;letter-spacing:-3px}.logo-intro{display:flex;align-items:baseline;gap:20px;justify-content:center;margin-bottom:30px}.title-word{position:relative;display:inline-block;background:linear-gradient(135deg,#1976d2,#4da0db,#1565c0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:title-shimmer 3s ease-in-out infinite}.title-word:before{content:attr(data-text);position:absolute;top:0;left:0;background:linear-gradient(135deg,rgba(25,118,210,.1) 0%,transparent 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:glitch 2s infinite}.hero-subtitle-container{margin-bottom:40px}.hero-subtitle{font-size:1.8rem;font-weight:400;color:#1565c0;line-height:1.4;margin:0}.highlight{position:relative;color:#1976d2;padding:1px;font-weight:600}.highlight:after{content:"";position:absolute;bottom:2px;left:0;width:100%;height:3px;background:linear-gradient(90deg,#4da0db82,#1976d292);animation:underline-expand 2s ease-out 1s both}.gradient-text{background:linear-gradient(135deg,#1976d2,#4da0db,#1565c0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:600}.hero-description{margin-bottom:50px}.hero-description p{font-size:1.3rem;line-height:1.6;color:#1565c0;opacity:.9;max-width:700px;margin:0 auto}.hero-stats{display:flex;justify-content:center;align-items:center;gap:30px;margin-top:60px;flex-wrap:wrap}.stat-item{text-align:center;animation:stat-counter 2s ease-out 1.5s both}.stat-number{font-size:2.5rem;font-weight:700;color:#1976d2;line-height:1;margin-bottom:5px}.stat-label{font-size:.9rem;color:#1565c0;opacity:.8;font-weight:500}.stat-divider{width:1px;height:50px;background:linear-gradient(to bottom,transparent,#1976d2,transparent);opacity:.3}.mission-section{position:relative;padding:100px 20px;overflow:hidden;z-index:2}.mission-content{position:relative;z-index:2;max-width:1200px;margin:0 auto}.mission-header{text-align:center;margin-bottom:80px}.section-badge{display:inline-flex;align-items:center;gap:10px;padding:8px 20px;background:#4da0db1a;border:1px solid rgba(77,160,219,.2);border-radius:30px;color:#1976d2;font-size:.9rem;font-weight:600;margin-bottom:30px;animation:badge-float 3s ease-in-out infinite}.badge-pulse{width:8px;height:8px;background:#1976d2;border-radius:50%;animation:pulse-dot 2s infinite}.mission-title{font-size:4rem;font-weight:700;line-height:1.1;margin-bottom:20px}.title-line{display:block;margin-bottom:10px;color:#1976d2;animation:slide-in-left 1s ease-out}.title-line:nth-child(2){animation-delay:.2s}.title-line:nth-child(3){animation-delay:.4s}.mission-text-container{display:grid;grid-template-columns:auto 1fr;gap:40px;align-items:start;margin-bottom:60px}.mission-icon{width:80px;height:80px;background:linear-gradient(135deg,#4da0db33,#1976d21a);border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid rgba(77,160,219,.3);animation:icon-rotate 10s linear infinite}.mission-icon svg{width:32px;height:32px;stroke:#1976d2;stroke-width:2}.mission-text{color:#1565c0}.mission-intro{font-size:1.4rem;line-height:1.6;margin-bottom:40px;opacity:.9}.mission-points{display:flex;flex-direction:column;gap:25px}.point-item{display:flex;align-items:center;gap:20px;padding:20px;background:#4da0db0d;border-radius:15px;border-left:4px solid #1976d2;transition:all .3s ease;animation:fade-in-up 1s ease-out}.point-item:nth-child(2){animation-delay:.2s}.point-item:nth-child(3){animation-delay:.4s}.point-item:hover{background:#4da0db1a;transform:translate(10px)}.point-icon{width:24px;height:24px;background:#1976d2;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.point-icon svg{width:14px;height:14px;stroke:#fff;stroke-width:3}.point-text{font-size:1.1rem;line-height:1.5;color:#1565c0}.mission-cta{display:flex;align-items:center;justify-content:center;gap:15px;padding:25px;background:linear-gradient(135deg,#4da0db1a,#1976d20d);border-radius:20px;border:1px solid rgba(77,160,219,.2);cursor:pointer;transition:all .3s ease;animation:cta-breathe 3s ease-in-out infinite}.mission-cta:hover{transform:translateY(-5px);background:linear-gradient(135deg,#4da0db26,#1976d21a);box-shadow:0 10px 30px #4da0db33}.cta-text{font-size:1.2rem;font-weight:600;color:#1976d2}.cta-arrow{width:24px;height:24px;color:#1976d2;transition:transform .3s ease}.mission-cta:hover .cta-arrow{transform:translate(5px)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(60px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px #4da0db4d}50%{box-shadow:0 0 30px #4da0db80}}@keyframes title-shimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes glitch{0%,to{transform:translate(0)}20%{transform:translate(-2px,2px)}40%{transform:translate(-2px,-2px)}60%{transform:translate(2px,2px)}80%{transform:translate(2px,-2px)}}@keyframes underline-expand{0%{width:0}to{width:100%}}@keyframes stat-counter{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes grid-move{0%{transform:translate(0)}to{transform:translate(50px,50px)}}@keyframes glow-pulse{0%,to{opacity:.1;transform:translate(-50%,-50%) scale(1)}50%{opacity:.2;transform:translate(-50%,-50%) scale(1.1)}}@keyframes badge-float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes slide-in-left{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}@keyframes icon-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes cta-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.glass-container{background:#4da0db26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:25px;padding:50px;color:#1976d2;box-shadow:0 8px 32px #0000001a,0 4px 16px #4da0db1a,inset 0 1px #ffffff1a;margin:0 auto;max-width:1000px}.glass-container.wide{max-width:1200px}.features-section{margin-bottom:100px;padding:0 20px}.section-title{font-size:3.2rem;font-weight:600;text-align:center;margin-bottom:60px;color:#1976d2;text-shadow:0 2px 4px rgba(25,118,210,.2);letter-spacing:-1px}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:30px;max-width:1400px;margin:0 auto}.feature-card{background:#4da0db26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.333);border-radius:25px;padding:25px;color:#1976d2;box-shadow:0 8px 32px #0000001a,0 4px 16px #4da0db1a,inset 0 1px #ffffff1a;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;overflow:hidden}.feature-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s}.feature-card:hover:before{left:100%}.feature-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 20px 40px #0003}.feature-card.large{grid-column:span 2}.feature-card.medium,.feature-card.small{grid-column:span 1}.feature-icon{width:60px;height:60px;margin-bottom:25px;display:flex;align-items:center;justify-content:center;background:#4da0db26;border-radius:50%;transition:all .3s ease}.feature-icon svg{width:32px;height:32px;stroke:#fff;stroke-width:2}.feature-card:hover .feature-icon{transform:scale(1.1) rotate(5deg);background:#fff3}.feature-card h3{font-size:1.6rem;font-weight:600;margin-bottom:20px;color:#1976d2;letter-spacing:-.5px}.feature-card p{font-size:1rem;line-height:1.6;opacity:.9;margin:0;color:#1565c0}.technology-section{margin-bottom:100px;padding:0 20px}.tech-content{display:flex;align-items:center;gap:50px}.tech-text{flex:2}.tech-text h2{font-size:2.8rem;font-weight:600;margin-bottom:25px;color:#1976d2}.tech-text p{font-size:1.1rem;line-height:1.8;margin-bottom:30px;opacity:.9;color:#1565c0}.tech-features{list-style:none;padding:0}.tech-features li{font-size:1.1rem;opacity:.8;position:relative;padding:12px 0 12px 30px;color:#1565c0;transition:all .2s ease}.tech-features li:hover{opacity:1;transform:translate(5px)}.tech-features li:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:8px;height:8px;background:#e3f2fd;border-radius:50%;box-shadow:0 0 10px #e3f2fd99}.tech-visual{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}.satellite-icon{width:80px;height:80px;margin-bottom:25px;display:flex;align-items:center;justify-content:center;background:#4da0db33;border-radius:50%;animation:float 3s ease-in-out infinite}.satellite-icon svg{width:40px;height:40px;stroke:#1976d2;stroke-width:2}.data-flow{display:flex;gap:15px}.data-point{width:12px;height:12px;background:#1976d2;border-radius:50%;animation:pulse 2s ease-in-out infinite;box-shadow:0 0 15px #1976d280}.data-point:nth-child(2){animation-delay:.5s}.data-point:nth-child(3){animation-delay:1s}.impact-section{margin-bottom:80px;padding:0 20px}.impact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:30px;max-width:1000px;margin:0 auto}.impact-card{background:#4da0db26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:25px;padding:50px 30px;color:#1976d2;box-shadow:0 8px 32px #0000001a;text-align:center;transition:all .3s ease;position:relative;overflow:hidden}.impact-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s}.impact-card:hover:before{left:100%}.impact-card:hover{transform:scale(1.05) translateY(-5px);box-shadow:0 20px 40px #0003}.impact-number{font-size:3.5rem;font-weight:700;margin-bottom:15px;background:linear-gradient(45deg,#fff,#e3f2fd);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 2px 4px rgba(0,0,0,.1)}.impact-label{font-size:1.2rem;font-weight:500;opacity:.9;color:#1565c0}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(5deg)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}@media (max-width: 1200px){.features-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.feature-card.large{grid-column:span 1}.section-badge{margin-top:16px}.glass-container{margin:0 20px}}@media (max-width: 768px){.about-container{padding:100px 0 0}.logo-intro{display:flex;align-items:center;gap:12px;justify-content:center}.logo-image{height:3rem;width:auto;margin:0}.hero-section{padding:0 15px;margin-bottom:60px}.hero-title{font-size:3rem}.hero-subtitle{font-size:1.4rem}.hero-description p{font-size:1.1rem}.mission-section{padding:0 15px;margin-bottom:80px}.mission-title{font-size:2.2rem}.mission-text{font-size:1.1rem}.section-title{font-size:2.4rem}.features-section{padding:0 15px}.glass-container{padding:30px;margin:0 15px}.tech-content{flex-direction:column;text-align:center;gap:30px}.features-grid{grid-template-columns:1fr;gap:25px}.feature-card{padding:30px}.impact-grid{grid-template-columns:repeat(2,1fr);gap:20px}.technology-section,.impact-section{padding:0 15px}}@media (max-width: 480px){.logo-image{height:3.5rem;width:auto;margin:0}.logo-intro{gap:15px;margin-bottom:20px}.hero-title{font-size:3.5rem}.hero-subtitle{font-size:1.3rem}.hero-description p{font-size:1.1rem}.hero-stats{gap:20px;flex-direction:column}.stat-divider{height:1px;width:50px;transform:rotate(90deg)}.mission-title{font-size:2.5rem}.mission-text-container{grid-template-columns:1fr;gap:30px;text-align:center}.mission-icon{margin:0 auto}.point-item{flex-direction:column;text-align:center;gap:15px}.section-title{font-size:2rem}.impact-grid{grid-template-columns:1fr}.impact-number{font-size:3rem}.glass-container,.feature-card{padding:25px}.impact-card{padding:40px 25px}}@media (min-width: 1268px){.logo-image{padding-top:20px;height:90px}}.aqi-forecast-container{max-width:1400px;margin:0 auto;padding:2rem 1.25rem;font-family:Montserrat,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:linear-gradient(135deg,#e3f2fd,#bbdefb);min-height:100vh;position:relative;animation:fadeInUp .6s ease-out;box-sizing:border-box}.forecast-header h2{margin:0;font-size:clamp(1.5rem,4vw,2.5rem);font-weight:700;background:linear-gradient(135deg,#1976d2,#4da0db);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.5px;line-height:1.2}.forecast-meta{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.location-badge{background:linear-gradient(135deg,#1976d2,#42a5f5);color:#fff;padding:.625rem 1.25rem;border-radius:1.25rem;font-size:clamp(.75rem,2vw,.9rem);font-weight:600;box-shadow:0 4px 15px #1976d24d;border:1px solid rgba(255,255,255,.2);transition:all .3s ease;white-space:nowrap;line-height:1.4}.location-badge:hover{transform:translateY(-2px);box-shadow:0 6px 20px #1976d266}.update-time{color:#0d47a1;font-size:.85rem;font-weight:600;opacity:.85;text-shadow:0 1px 2px rgba(255,255,255,.5)}.refresh-btn{background:linear-gradient(135deg,#1976d2,#4da0db);color:#fff;border:none;padding:.625rem 1.25rem;border-radius:.75rem;cursor:pointer;font-size:clamp(.75rem,2vw,.9rem);font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 15px #1976d24d;font-family:Montserrat,sans-serif;white-space:nowrap;line-height:1.4}.refresh-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #1976d266}.refresh-btn:disabled{opacity:.5;cursor:not-allowed}.current-aqi-card{background:#4da0db26;backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);border:1px solid rgba(255,255,255,.2);border-radius:1.5rem;padding:clamp(1.5rem,4vw,2.5rem);text-align:center;margin-bottom:1.5rem;box-shadow:0 8px 32px #0000001a,0 4px 16px #4da0db1a,inset 0 1px #ffffff1a;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;animation:card-entrance .6s ease-out;box-sizing:border-box}.current-aqi-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s}.current-aqi-card:hover{background:#4da0db2e;border-color:#ffffff40;transform:translateY(-3px);box-shadow:0 15px 40px #0000001f,0 8px 20px #4da0db26,inset 0 1px #ffffff26}.current-aqi-card:hover:before{left:100%}.aqi-good{border-left:4px solid #059669;background:linear-gradient(135deg,rgba(5,150,105,.08) 0%,transparent 100%)}.aqi-moderate{border-left:4px solid #0284c7;background:linear-gradient(135deg,rgba(2,132,199,.08) 0%,transparent 100%)}.aqi-unhealthy-sensitive{border-left:4px solid #7c3aed;background:linear-gradient(135deg,rgba(124,58,237,.08) 0%,transparent 100%)}.aqi-unhealthy{border-left:4px solid #e11d48;background:linear-gradient(135deg,rgba(225,29,72,.08) 0%,transparent 100%)}.aqi-very-unhealthy{border-left:4px solid #c026d3;background:linear-gradient(135deg,rgba(192,38,211,.08) 0%,transparent 100%)}.aqi-hazardous{border-left:4px solid #7f1d1d;background:linear-gradient(135deg,rgba(127,29,29,.08) 0%,transparent 100%)}.weather-icon{font-size:clamp(3rem,8vw,5rem);margin-bottom:1rem;line-height:1;filter:drop-shadow(0 4px 12px rgba(25,118,210,.3));opacity:.95}.current-aqi-value{font-size:clamp(3.5rem,12vw,6rem);font-weight:800;margin:.5rem 0;line-height:1;background:linear-gradient(135deg,#0d47a1,#1565c0,#1976d2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.05em;filter:drop-shadow(0 2px 4px rgba(13,71,161,.2))}.current-aqi-category{font-size:clamp(1.125rem,3vw,1.75rem);font-weight:700;margin:1rem 0 .5rem;padding:.5rem 1.5rem;display:inline-block;border-radius:.75rem;background:#ffffffe6;box-shadow:0 2px 8px #0000000f;line-height:1.3}.current-aqi-message{background:linear-gradient(135deg,#1565c0,#1976d2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:1rem;font-weight:600;margin-top:12px;letter-spacing:.3px}.health-advisory{background:#4da0db26;backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);border:1px solid rgba(255,255,255,.2);border-radius:25px;padding:32px;margin-bottom:24px;box-shadow:0 8px 32px #0000001a,0 4px 16px #4da0db1a,inset 0 1px #ffffff1a;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;animation:card-entrance .6s ease-out}.health-advisory:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(180deg,#1976d2,#42a5f5);border-radius:25px 0 0 25px}.health-advisory:hover{background:#4da0db2e;border-color:#ffffff40;transform:translateY(-3px);box-shadow:0 15px 40px #0000001f,0 8px 20px #4da0db26,inset 0 1px #ffffff26}.health-advisory h3{margin:0 0 24px;font-size:1.3rem;font-weight:700;display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#1976d2,#42a5f5);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.health-details{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.health-section{background:linear-gradient(135deg,#ffffffe6,#ffffffb3);padding:24px;border-radius:16px;border:1px solid rgba(255,255,255,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 15px #00000014;transition:all .3s ease}.health-section:hover{border-color:#1976d266;box-shadow:0 8px 25px #0000001f;transform:translateY(-2px)}.health-section h4{margin:0 0 16px;color:#1e40af;font-size:16px;font-weight:700;display:flex;align-items:center;gap:8px}.health-section-icon{font-size:24px}.health-section p{color:#475569;line-height:1.6;margin:12px 0;font-size:14px}.health-section ul{margin:12px 0;padding-left:24px;color:#475569}.health-section li{margin:8px 0;line-height:1.5;font-size:14px}.health-section strong{color:#1e40af;font-weight:600}.activity-guidance{background:linear-gradient(135deg,#ecfdf5,#d1fae5);padding:16px 24px;border-radius:12px;border-left:4px solid #10b981;color:#065f46;font-weight:600;font-size:15px;line-height:1.6;box-shadow:0 2px 8px #10b9811a}.activity-guidance:before{content:"🏃 Activity Guidance: ";font-weight:700}.chart-container{background:#4da0db26;backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);border:1px solid rgba(255,255,255,.2);border-radius:1.5rem;padding:clamp(1.25rem,3vw,2rem);margin-bottom:1.5rem;box-shadow:0 8px 32px #0000001a,0 4px 16px #4da0db1a,inset 0 1px #ffffff1a;position:relative;overflow:visible!important;transition:all .3s cubic-bezier(.4,0,.2,1);animation:card-entrance .6s ease-out;box-sizing:border-box}.chart-container:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,rgba(25,118,210,.2) 20%,rgba(25,118,210,.3) 50%,rgba(25,118,210,.2) 80%,transparent 100%);pointer-events:none;z-index:1}.chart-container:hover{background:#4da0db2e;border-color:#ffffff40;transform:translateY(-3px);box-shadow:0 15px 40px #0000001f,0 8px 20px #4da0db26,inset 0 1px #ffffff26}.chart-container h3{margin:0 0 1.5rem;font-size:clamp(1rem,2.5vw,1.3rem);font-weight:700;text-align:center;letter-spacing:-.3px;background:linear-gradient(135deg,#1976d2,#42a5f5,#1976d2);background-size:200% 200%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:gradientShift 3s ease-in-out infinite;position:relative;z-index:2;line-height:1.3}.scroll-hint{display:none;font-size:clamp(.7rem,2vw,.85rem);font-weight:500;color:#1565c0;opacity:.7;margin-left:.5rem;animation:pulse-hint 2s ease-in-out infinite}@keyframes pulse-hint{0%,to{opacity:.7}50%{opacity:1}}.chart-scroll-wrapper{width:100%;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;position:relative;padding-top:10px;padding-bottom:10px;margin-top:-10px;margin-bottom:-10px}.chart-scroll-wrapper::-webkit-scrollbar-track{background:#4da0db1a;border-radius:4px}.chart-scroll-wrapper::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#1976d2,#42a5f5);border-radius:4px;transition:background .3s ease}.chart-scroll-wrapper::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#1565c0,#1976d2)}.chart-inner{position:relative;padding:10px 5px;margin:-10px -5px}.hourly-forecast-container{background:#4da0db26;backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);border:1px solid rgba(255,255,255,.2);border-radius:1.5rem;padding:clamp(1.25rem,3vw,2rem);margin-bottom:1.5rem;box-shadow:0 8px 32px #0000001a,0 4px 16px #4da0db1a,inset 0 1px #ffffff1a;animation:card-entrance .6s ease-out;overflow:hidden;box-sizing:border-box}.hourly-forecast-container h3{margin:0 0 20px;font-size:1.3rem;font-weight:700;letter-spacing:-.3px;background:linear-gradient(135deg,#1976d2,#42a5f5);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hourly-forecast-scroll{display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;padding:8px 4px 16px;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:thin;margin:0 -4px}.hourly-forecast-scroll::-webkit-scrollbar{height:8px}.hourly-forecast-scroll::-webkit-scrollbar-track{background:#e2e8f04d;border-radius:4px}.hourly-forecast-scroll::-webkit-scrollbar-thumb{background:#1976d266;border-radius:4px;transition:background .3s ease}.hourly-forecast-scroll::-webkit-scrollbar-thumb:hover{background:#1976d299}.hourly-card{min-width:clamp(70px,10vw,95px);max-width:clamp(85px,12vw,110px);flex:0 0 auto;background:linear-gradient(135deg,#ffffffe6,#ffffffb3);border:1px solid rgba(255,255,255,.3);border-radius:1rem;padding:clamp(.625rem,2vw,.875rem) clamp(.5rem,1.5vw,.625rem);text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 15px #00000014;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;position:relative;box-sizing:border-box}.hourly-card:hover{border-color:#1976d280;transform:translateY(-4px) scale(1.02);box-shadow:0 8px 25px #1976d233}.hourly-card:first-child{border:2px solid #1976d2;background:linear-gradient(135deg,#1976d226,#42a5f51a);box-shadow:0 4px 20px #1976d240}.hourly-card:first-child:before{content:"NOW";display:block;background:linear-gradient(135deg,#1976d2,#42a5f5);color:#fff;font-size:10px;font-weight:700;padding:4px 10px;border-radius:8px;margin:-8px auto 8px;width:fit-content;letter-spacing:.5px;box-shadow:0 2px 8px #1976d24d}.hourly-time{font-size:clamp(.65rem,1.5vw,.8rem);font-weight:700;background:linear-gradient(135deg,#1565c0,#1976d2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:clamp(.25rem,1vw,.375rem);line-height:1.2}.hourly-date{font-size:clamp(.55rem,1.2vw,.7rem);font-weight:600;color:#1976d2b3;margin-bottom:clamp(.125rem,.5vw,.25rem);line-height:1.2}.hourly-aqi-value{font-size:clamp(1.25rem,3vw,1.85rem);font-weight:800;margin:clamp(.25rem,1vw,.375rem) 0;line-height:1;background:linear-gradient(135deg,#0d47a1,#1565c0,#1976d2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 1px 2px rgba(13,71,161,.15))}.hourly-category{font-size:clamp(.5rem,1.2vw,.65rem);font-weight:700;padding:clamp(.2rem,.5vw,.25rem) clamp(.3rem,.8vw,.375rem);border-radius:.5rem;margin:clamp(.25rem,1vw,.375rem) 0;color:#fff;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.hourly-category.aqi-good{background:linear-gradient(135deg,#059669,#10b981,#34d399);color:#fff;box-shadow:0 2px 8px #10b98140}.hourly-category.aqi-moderate{background:linear-gradient(135deg,#0284c7,#0ea5e9,#38bdf8);color:#fff;box-shadow:0 2px 8px #0ea5e940}.hourly-category.aqi-unhealthy-sensitive{background:linear-gradient(135deg,#7c3aed,#8b5cf6,#a78bfa);color:#fff;box-shadow:0 2px 8px #8b5cf640}.hourly-category.aqi-unhealthy{background:linear-gradient(135deg,#e11d48,#f43f5e,#fb7185);color:#fff;box-shadow:0 2px 8px #f43f5e40}.hourly-category.aqi-very-unhealthy{background:linear-gradient(135deg,#c026d3,#d946ef,#e879f9);color:#fff;box-shadow:0 2px 8px #d946ef40}.hourly-category.aqi-hazardous{background:linear-gradient(135deg,#7f1d1d,#991b1b,#b91c1c);color:#fff;box-shadow:0 2px 8px #991b1b4d}.hourly-confidence{font-size:.7rem;background:linear-gradient(135deg,#1976d2,#42a5f5);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:600;margin-top:4px}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}.footer-link{background:#4da0db26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:clamp(1rem,3vw,1.5rem) clamp(.875rem,2.5vw,1.25rem);border-radius:1.25rem;text-align:center;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-weight:600;font-size:clamp(.8rem,2vw,.9rem);box-shadow:0 4px 15px #00000014;display:flex;flex-direction:column;align-items:center;gap:.625rem;border:1px solid rgba(255,255,255,.2);position:relative;overflow:hidden;box-sizing:border-box;line-height:1.4}.footer-link:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s}.footer-link:hover{background:linear-gradient(135deg,#1976d233,#42a5f526);border-color:#1976d266;transform:translateY(-2px);box-shadow:0 8px 25px #1976d233}.footer-link:hover:before{left:100%}.footer-link-text{background:linear-gradient(135deg,#0d47a1,#1976d2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:600}.footer-link-icon{font-size:32px;line-height:1}.custom-tooltip{background:#4da0db1f;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:clamp(.75rem,2vw,1rem);border-radius:1rem;border:1px solid rgba(77,160,219,.2);box-shadow:0 12px 40px #4da0db1f;box-sizing:border-box;max-width:250px;position:relative;overflow:hidden}.custom-tooltip:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}.custom-tooltip:hover:before{left:100%}.tooltip-title{margin:0 0 8px;font-weight:700;font-size:.9rem;background:linear-gradient(135deg,#0d47a1,#1976d2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.tooltip-aqi{margin:6px 0;font-size:1.25rem;font-weight:800;background:linear-gradient(135deg,#0d47a1,#1565c0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.tooltip-category{margin:6px 0;font-size:14px;font-weight:700;padding:4px 12px;border-radius:8px;display:inline-block}.tooltip-confidence{margin:6px 0;font-size:12px;color:#64748b;font-weight:600}.tooltip-weather{margin:4px 0;font-size:13px;color:#1565c0;font-weight:500}.aqi-forecast-container.loading{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:60vh}.aqi-forecast-container.loading p{background:linear-gradient(135deg,#0d47a1,#1976d2,#42a5f5);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradientFlow 3s ease-in-out infinite;font-size:1.1rem;font-weight:600}@keyframes gradientFlow{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.aqi-forecast-container.error{background:#ef44441a;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:2px solid rgba(239,68,68,.3);border-radius:25px;padding:40px;text-align:center;margin:40px auto;max-width:600px;box-shadow:0 8px 32px #ef444426}.aqi-forecast-container.error h3{background:linear-gradient(135deg,#c62828,#e53935);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-top:0;font-size:1.8rem;font-weight:700}.aqi-forecast-container.error p{color:#0d47a1;margin:16px 0;font-size:1.1rem;opacity:.8}.aqi-forecast-container.error button{margin-top:20px;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none;padding:12px 28px;border-radius:12px;cursor:pointer;font-size:.95rem;font-weight:600;font-family:Montserrat,sans-serif;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 15px #ef44444d}.aqi-forecast-container.error button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ef444466}@media (max-width: 1200px){.health-details{grid-template-columns:1fr}.footer-links{grid-template-columns:repeat(2,1fr);gap:1rem}}@media (max-width: 768px){.aqi-forecast-container{padding:1.25rem 1rem}.forecast-header{padding:1.25rem 1.5rem;flex-direction:column;align-items:flex-start}.forecast-meta{width:100%;flex-direction:row;justify-content:flex-start;flex-wrap:wrap;gap:.75rem}.footer-links{grid-template-columns:1fr;gap:.875rem}.hourly-forecast-scroll{padding:.5rem .25rem 1rem}.scroll-hint{display:inline}.chart-scroll-wrapper{padding-bottom:.5rem}.chart-container h3{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}}@media (max-width: 480px){.aqi-forecast-container{padding:1rem .75rem}.forecast-header{padding:1rem 1.25rem;border-radius:1.25rem}.forecast-meta{flex-direction:column;align-items:stretch;gap:.625rem}.location-badge,.update-time,.refresh-btn{width:100%;text-align:center;justify-content:center}.refresh-btn{display:flex;align-items:center}.current-aqi-card{border-radius:1.25rem}.chart-container,.hourly-forecast-container{border-radius:1.125rem}.hourly-forecast-scroll{gap:.625rem;padding:.5rem .25rem .875rem}.footer-link{border-radius:1rem}.footer-link-icon{font-size:clamp(1.5rem,5vw,2rem)}.scroll-hint{display:block;margin-top:.5rem;font-size:.75rem;text-align:center}.chart-scroll-wrapper{padding-bottom:.75rem;margin:0 -1rem;padding-left:1rem;padding-right:1rem}.chart-scroll-wrapper::-webkit-scrollbar{height:6px}.chart-container{padding:1rem;margin-bottom:1rem;overflow:visible!important}.chart-container h3{font-size:1rem}.chart-scroll-wrapper{overflow-y:visible!important}.chart-inner{padding:15px 5px;margin:-15px -5px}}.recharts-cartesian-grid-horizontal line,.recharts-cartesian-grid-vertical line{stroke:#1976d21a}.recharts-bar-rectangle{cursor:pointer;transition:opacity .3s ease}.recharts-bar-rectangle:hover{opacity:.8}.recharts-line-curve{filter:drop-shadow(0 2px 4px rgba(74,144,226,.3));transition:all .3s ease}.recharts-line-dots .recharts-dot{transition:all .3s ease;cursor:pointer}.recharts-line-dots .recharts-dot:hover{transform:scale(1.3)}.recharts-area{transition:opacity .3s ease}.recharts-area-curve{filter:drop-shadow(0 1px 2px rgba(74,144,226,.2))}.recharts-surface{overflow:visible!important}.recharts-wrapper{margin:0 auto}.recharts-text{fill:#0d47a1;font-weight:600;font-size:.75rem;opacity:.9}.recharts-tooltip-wrapper{z-index:1000!important;pointer-events:none}.recharts-default-tooltip{background:#fffffffa!important;backdrop-filter:blur(20px)!important;-webkit-backdrop-filter:blur(20px)!important;border:1px solid rgba(77,160,219,.3)!important;border-radius:12px!important;padding:12px 16px!important;box-shadow:0 8px 32px #00000026,0 4px 16px #4da0db33!important;min-width:180px!important}.recharts-tooltip-label{color:#1976d2!important;font-weight:700!important;font-size:.95rem!important;margin-bottom:8px!important;padding-bottom:8px!important;border-bottom:1px solid rgba(77,160,219,.2)!important}.recharts-tooltip-item{color:#1565c0!important;font-size:.85rem!important;padding:2px 0!important;font-weight:600!important}.recharts-tooltip-item-name{margin-right:8px!important}.recharts-tooltip-item-value{font-weight:700!important;color:#1976d2!important}.recharts-legend-wrapper{padding-top:16px!important}.recharts-default-legend{display:flex!important;justify-content:center!important;gap:24px!important}.recharts-legend-item-text{color:#0d47a1!important;font-weight:600!important;opacity:.9}.smart-summary-card{background:#4da0db26;backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);border:1px solid rgba(255,255,255,.2);border-radius:1.75rem;padding:2rem;margin-bottom:2rem;box-shadow:0 20px 60px #0000001a,0 8px 25px #4da0db26,inset 0 1px #ffffff1a;animation:card-entrance .6s ease-out;position:relative;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.smart-summary-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s}.smart-summary-card:hover{background:#4da0db33;border-color:#ffffff4d;transform:translateY(-2px);box-shadow:0 25px 70px #00000026,0 10px 30px #4da0db33,inset 0 1px #ffffff26}.smart-summary-card:hover:before{left:100%}.summary-main{display:flex;justify-content:space-between;align-items:center;gap:2rem;margin-bottom:1.5rem}.summary-left{display:flex;align-items:center;gap:1.5rem}.weather-icon-large{font-size:4rem;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1));animation:icon-float 3s ease-in-out infinite}@keyframes icon-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.current-aqi-display{display:flex;flex-direction:column;gap:.5rem}.current-aqi-value{font-size:clamp(3rem,8vw,4.5rem);font-weight:800;background:linear-gradient(135deg,#1976d2,#4da0db);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}.current-aqi-category{font-size:clamp(.9rem,2.5vw,1.2rem);font-weight:700;background:linear-gradient(135deg,#0d47a1,#1976d2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.summary-right{flex:1;display:flex;flex-direction:column;gap:1rem}.summary-title{font-size:clamp(1.1rem,3vw,1.5rem);font-weight:700;color:#1976d2;margin-bottom:.5rem}.summary-forecast{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.summary-status{padding:.5rem 1rem;border-radius:1rem;font-weight:700;font-size:clamp(.85rem,2vw,1rem);display:inline-flex;align-items:center;gap:.5rem;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);box-shadow:0 4px 12px #00000014}.summary-status.good{background:#4caf5026;color:#2e7d32;border-color:#4caf504d}.summary-status.moderate{background:#ffc10726;color:#f57f17;border-color:#ffc1074d}.summary-status.unhealthy{background:#f4433626;color:#c62828;border-color:#f443364d}.trend-arrow{padding:.4rem .9rem;border-radius:.9rem;font-weight:600;font-size:clamp(.8rem,2vw,.95rem);display:inline-flex;align-items:center;gap:.4rem;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.trend-arrow.improving{background:#2196f326;color:#1565c0;border-color:#2196f34d}.trend-arrow.worsening{background:#ff980026;color:#e65100;border-color:#ff98004d}.best-time{background:#ffc1071a;padding:.75rem 1rem;border-radius:1rem;border:1px solid rgba(255,193,7,.2);display:flex;flex-direction:column;gap:.25rem}.best-time-label{font-size:clamp(.75rem,2vw,.85rem);color:#f57f17;font-weight:600;opacity:.9}.best-time-value{font-size:clamp(.9rem,2.5vw,1.1rem);color:#f57f17;font-weight:700}.activity-recommendations{display:flex;gap:.75rem;flex-wrap:wrap;padding-top:1rem;border-top:1px solid rgba(77,160,219,.2)}.activity-badge{padding:.65rem 1.1rem;border-radius:1.25rem;font-weight:600;font-size:clamp(.8rem,2vw,.9rem);display:inline-flex;align-items:center;gap:.5rem;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.2);box-shadow:0 4px 16px #00000014;transition:all .3s ease;position:relative;overflow:hidden}.activity-badge:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);transition:left .5s}.activity-badge:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000001f}.activity-badge:hover:before{left:100%}.activity-badge.safe{background:#4caf5026;color:#2e7d32;border-color:#4caf504d}.activity-badge.moderate{background:#ffc10726;color:#f57f17;border-color:#ffc1074d}.activity-badge.sensitive{background:#ff980026;color:#e65100;border-color:#ff98004d}.activity-badge.unhealthy{background:#f4433626;color:#c62828;border-color:#f443364d}.hourly-card{position:relative;border:1px solid rgba(77,160,219,.2);transition:all .3s cubic-bezier(.4,0,.2,1)}.hourly-card.aqi-good{background:linear-gradient(135deg,#4caf501a,#81c78414);border-color:#4caf5040}.hourly-card.aqi-moderate{background:linear-gradient(135deg,#ffc1071a,#ffd54f14);border-color:#ffc10740}.hourly-card.aqi-unhealthy-sensitive{background:linear-gradient(135deg,#ff98001a,#ffb74d14);border-color:#ff980040}.hourly-card.aqi-unhealthy{background:linear-gradient(135deg,#f443361a,#ef535014);border-color:#f4433640}.hourly-card.aqi-very-unhealthy{background:linear-gradient(135deg,#9c27b01a,#ab47bc14);border-color:#9c27b040}.hourly-card.aqi-hazardous{background:linear-gradient(135deg,#7e00231a,#880e4f14);border-color:#7e002340}.hourly-card.best-hour{border:2px solid #ffd700;box-shadow:0 0 20px #ffd70066,0 4px 16px #4da0db26;background:linear-gradient(135deg,#ffd70026,#ffeb3b1a)}.best-hour-badge{position:absolute;top:-8px;right:-8px;font-size:1.2rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2));animation:star-twinkle 2s ease-in-out infinite;z-index:1}@keyframes star-twinkle{0%,to{transform:scale(1) rotate(0);opacity:1}50%{transform:scale(1.2) rotate(10deg);opacity:.8}}.aqi-trend-icon{display:inline-block;margin-left:.25rem;font-weight:800;font-size:.9em}.aqi-trend-icon.up{color:#e65100;animation:trend-up 1.5s ease-in-out infinite}.aqi-trend-icon.down{color:#2e7d32;animation:trend-down 1.5s ease-in-out infinite}@keyframes trend-up{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes trend-down{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}.hourly-weather-icon{font-size:1.5rem;margin:.25rem 0;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}@media (max-width: 768px){.smart-summary-card{padding:1.5rem}.summary-main{flex-direction:column;align-items:flex-start;gap:1.5rem}.summary-left{gap:1rem}.weather-icon-large{font-size:3rem}.summary-right{width:100%}.activity-recommendations{flex-direction:column}.activity-badge{width:100%;justify-content:center}}@media (max-width: 480px){.smart-summary-card{padding:1rem}.summary-left{flex-direction:column;align-items:center;text-align:center}.summary-forecast{flex-direction:column;align-items:flex-start;gap:.5rem}.best-time{width:100%}}.aqi-forecast-container *:focus-visible{outline:3px solid #1976d2;outline-offset:2px;border-radius:4px}@media print{.aqi-forecast-container{background:#fff}.refresh-btn,.footer-links{display:none}.chart-container,.smart-summary-card,.hourly-forecast-container{break-inside:avoid;background:#fff;border:1px solid #ddd}}.top-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:.5rem 0}.top-header h1{font-size:clamp(1.5rem,4vw,2rem);font-weight:700;background:linear-gradient(135deg,#1976d2,#4da0db);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin:0;letter-spacing:-.5px}.home-btn{background:linear-gradient(135deg,#1976d2,#4da0db);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:1rem;font-family:Montserrat,sans-serif;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #4da0db4d;display:flex;align-items:center;gap:.5rem}.home-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4da0db66}.home-btn:active{transform:translateY(0)}.update-times{display:flex;gap:2rem;margin-bottom:1.5rem;font-size:.9rem;color:#64748b;font-weight:500}.update-times span{display:flex;align-items:center;gap:.5rem}.summary-card-new{background:#4da0db26;backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);border:1px solid rgba(255,255,255,.2);border-radius:1.5rem;padding:2rem;margin-bottom:2rem;box-shadow:0 20px 60px #0000001a,0 8px 25px #4da0db26;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:1rem;animation:card-entrance .6s ease-out}.summary-icon{font-size:4rem;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.summary-status{display:inline-block;padding:.75rem 1.5rem;border-radius:1rem;font-size:1.1rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:.5rem}.summary-status.good{background:linear-gradient(135deg,#00e400,#00a000);color:#fff}.summary-status.moderate{background:linear-gradient(135deg,#ff0,#b3a408);color:#333}.summary-status.unhealthy-sensitive{background:linear-gradient(135deg,#ff7e00,#d66000);color:#fff}.summary-status.unhealthy{background:linear-gradient(135deg,red,#b30000);color:#fff}.summary-status.very-unhealthy{background:linear-gradient(135deg,#8f3f97,#6a2d73);color:#fff}.summary-status.hazardous{background:linear-gradient(135deg,#7e0023,#4d0016);color:#fff}.summary-activity{font-size:1rem;font-weight:600;color:#334155;display:flex;align-items:center;gap:.5rem}.chart-section{background:#4da0db26;backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);border:1px solid rgba(255,255,255,.2);border-radius:1.5rem;padding:1.5rem;margin-bottom:2rem;box-shadow:0 20px 60px #0000001a,0 8px 25px #4da0db26;animation:card-entrance .6s ease-out .1s both}.chart-section h2{font-size:1.3rem;font-weight:700;color:#1976d2;margin-bottom:1rem;text-align:center}.chart-scroll-wrapper{overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;margin:0 -.5rem;padding:0 .5rem}.chart-scroll-wrapper::-webkit-scrollbar{height:8px}.chart-scroll-wrapper::-webkit-scrollbar-track{background:#4da0db1a;border-radius:10px;margin:0 1rem}.chart-scroll-wrapper::-webkit-scrollbar-thumb{background:linear-gradient(90deg,#1976d2,#4da0db);border-radius:10px;transition:background .3s ease}.chart-scroll-wrapper::-webkit-scrollbar-thumb:hover{background:linear-gradient(90deg,#1565c0,#1976d2)}.chart-wrapper-new{width:100%;min-width:800px}.hourly-section{animation:card-entrance .6s ease-out .2s both}.hourly-section h2{font-size:1.3rem;font-weight:700;color:#1976d2;margin-bottom:1rem;text-align:center}.hourly-scroll-new{display:flex;gap:1rem;overflow-x:auto;padding:1rem .5rem;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.hourly-scroll-new::-webkit-scrollbar{height:8px}.hourly-scroll-new::-webkit-scrollbar-track{background:#4da0db1a;border-radius:10px}.hourly-scroll-new::-webkit-scrollbar-thumb{background:linear-gradient(90deg,#1976d2,#4da0db);border-radius:10px;transition:background .3s ease}.hourly-scroll-new::-webkit-scrollbar-thumb:hover{background:linear-gradient(90deg,#1565c0,#1976d2)}.hourly-card-new{min-width:120px;background:#4da0db26;backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);border:1px solid rgba(255,255,255,.2);border-radius:1rem;padding:1rem;box-shadow:0 10px 30px #00000014;transition:all .3s ease;text-align:center;position:relative;cursor:pointer}.hourly-card-new:hover{transform:translateY(-5px);box-shadow:0 15px 40px #4da0db33;border-color:#4da0db66}.now-card{border:2px solid #1976d2;background:#4da0db40;box-shadow:0 10px 30px #1976d24d}.now-badge{position:absolute;top:-10px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,gold,#ffed4e);color:#333;font-size:.7rem;font-weight:700;padding:.25rem .75rem;border-radius:.75rem;box-shadow:0 4px 10px #ffd70066;letter-spacing:.5px}.hourly-card-new .card-time{font-size:.9rem;font-weight:700;color:#1976d2;margin-bottom:.75rem}.hourly-card-new .card-aqi{font-size:2rem;font-weight:800;margin:.5rem 0;background:linear-gradient(135deg,#1976d2,#4da0db);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.hourly-card-new .card-category{font-size:.75rem;font-weight:600;text-transform:uppercase;margin:.5rem 0;padding:.25rem .5rem;border-radius:.5rem;display:inline-block}.hourly-card-new .card-icon{font-size:1.5rem;margin:.5rem 0}.hourly-card-new .card-confidence{font-size:.7rem;color:#64748b;font-weight:500;margin-top:.5rem}.hourly-card-new.good .card-category{background:#00e40033;color:#00a000}.hourly-card-new.moderate .card-category{background:#ff03;color:#b3a408}.hourly-card-new.unhealthy-sensitive .card-category{background:#ff7e0033;color:#d66000}.hourly-card-new.unhealthy .card-category{background:#f003;color:#b30000}.hourly-card-new.very-unhealthy .card-category{background:#8f3f9733;color:#6a2d73}.hourly-card-new.hazardous .card-category{background:#7e002333;color:#7e0023}@media (max-width: 768px){.top-header{flex-direction:column;text-align:center;gap:1rem}.update-times{flex-direction:column;gap:.5rem;text-align:center}.summary-card-new{padding:1.5rem 1rem}.summary-icon{font-size:3rem}.hourly-card-new{min-width:100px}}@media (max-width: 480px){.top-header h1{font-size:1.3rem}.home-btn{padding:.6rem 1.2rem;font-size:.85rem}.chart-section,.hourly-section{padding:1rem}.hourly-card-new{min-width:90px;padding:.75rem}}.location-selector{display:flex;justify-content:space-between;gap:12px;min-width:240px;width:90%;background:linear-gradient(135deg,#ffffff4d,#ffffff26);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.25);border-radius:16px;padding:20px;box-shadow:0 4px 16px #1976d214,inset 0 1px #fff6}.location-selector label{font-size:.85rem;font-weight:700;color:#1976d2;margin-bottom:8px;text-transform:uppercase;letter-spacing:.05em;opacity:.9}.location-dropdown{padding:12px 16px;border:1px solid rgba(77,160,219,.2);border-radius:12px;background:linear-gradient(135deg,#ffffffe6,#ffffffb3);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#1976d2;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%;box-shadow:0 2px 8px #1976d20f}.location-dropdown:hover{border-color:#1976d266;background:linear-gradient(135deg,#fffffff2,#fffc);transform:translateY(-1px);box-shadow:0 4px 12px #1976d21a}.location-dropdown:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 3px #1976d226;transform:translateY(-1px)}.location-info{display:flex;flex-direction:column;align-items:flex-end;gap:6px;margin-top:8px;padding:8px 12px;background:#1976d20d;border-radius:8px;border:1px solid rgba(77,160,219,.1)}.coordinates{font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,monospace;font-weight:600;font-size:.75rem;color:#1976d2;opacity:.8}.timezone{font-size:.7rem;color:#1565c0;opacity:.7;font-weight:500;font-style:italic}.header-content{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:1100px;margin:0 auto;padding:30px;gap:70px}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:60vh;color:#1976d2}.loading-spinner{width:60px;height:60px;border:4px solid rgba(25,118,210,.3);border-top:4px solid #1976d2;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.loading-state h2{margin:20px 0 10px;color:#1976d2;font-weight:600}.loading-state p{color:#1976d2cc;font-size:.9rem}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;color:#1976d2;background:#4da0db26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.3);border-radius:20px;padding:40px;margin:20px;box-shadow:0 8px 32px #4da0db1a,inset 0 1px #fff6}.error-state h2{margin:0 0 10px;color:#1976d2;font-weight:600}.error-state p{color:#1976d2cc;margin-bottom:20px}.retry-btn{padding:12px 24px;background:linear-gradient(135deg,#1976d2,#42a5f5);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.retry-btn:hover{background:linear-gradient(135deg,#1565c0,#1e88e5);transform:translateY(-2px);box-shadow:0 4px 12px #1976d24d}.forecast-trends{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:15px;padding:20px}.trend-item{display:flex;flex-direction:column;align-items:center;padding:15px;background:#ffffffe6;border-radius:12px;border:2px solid rgba(25,118,210,.2);transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.trend-item:hover{border-color:#1976d2;transform:translateY(-3px);box-shadow:0 8px 20px #1976d233}.trend-time{font-weight:700;color:#1976d2;margin-bottom:8px;font-size:.9rem}.trend-indicator{font-size:1.5rem;margin:5px 0}.trend-indicator.improving{color:#4caf50}.trend-indicator.worsening{color:#f44336}.trend-indicator.stable{color:#ff9800}.trend-label{font-size:.8rem;color:#666;text-transform:capitalize;margin-bottom:5px;font-weight:600}.trend-aqi{font-size:.85rem;color:#1976d2;font-weight:600}.dashboard-container{width:100%;min-height:100vh;padding:120px 0 40px;margin:0;background:linear-gradient(135deg,#e3f2fd,#bbdefb);font-family:Montserrat,sans-serif;box-sizing:border-box;overflow-x:hidden;position:relative}.global-background{position:fixed;top:0;left:0;width:100%;height:100vh;pointer-events:none;z-index:1;overflow:hidden}.floating-particles{position:absolute;width:100%;height:100%}.particle{position:absolute;width:9px;height:9px;background:#4da0db0d;border-radius:50%;border:1px solid rgba(77,160,219,.1);box-shadow:0 0 10px #4da0db4d,inset 0 1px #fff6;animation:bubble-float 20s infinite linear;opacity:0}.particle:nth-child(1){left:8%;animation-delay:0s;animation-duration:18s}.particle:nth-child(2){left:18%;animation-delay:-3s;animation-duration:22s}.particle:nth-child(3){left:28%;animation-delay:-6s;animation-duration:16s}.particle:nth-child(4){left:38%;animation-delay:-9s;animation-duration:24s}.particle:nth-child(5){left:48%;animation-delay:-12s;animation-duration:19s}.particle:nth-child(6){left:58%;animation-delay:-15s;animation-duration:21s}.particle:nth-child(7){left:68%;animation-delay:-1s;animation-duration:17s}.particle:nth-child(8){left:78%;animation-delay:-4s;animation-duration:23s}.gradient-orbs{position:absolute;width:100%;height:100%}.orb{position:absolute;border-radius:50%;filter:blur(40px);opacity:.3;animation:drift 20s infinite ease-in-out}.orb-1{width:300px;height:300px;background:radial-gradient(circle,rgba(77,160,219,.4),transparent);top:20%;left:10%;animation-delay:0s}.orb-2{width:200px;height:200px;background:radial-gradient(circle,rgba(25,118,210,.3),transparent);top:60%;right:20%;animation-delay:7s}.orb-3{width:150px;height:150px;background:radial-gradient(circle,rgba(187,222,251,.5),transparent);bottom:30%;left:60%;animation-delay:14s}.dashboard-header{position:relative;z-index:2;padding:0 20px 30px;max-width:1400px;width:100%;margin:0 auto;display:flex;justify-content:center;align-items:center}.header-content{display:flex;justify-content:space-evenly;align-items:center;background:#1976d226;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.3);border-radius:24px;padding:32px 40px;box-shadow:0 20px 60px #1976d214,0 8px 32px #4da0db1f,inset 0 1px #fff6,inset 0 -1px #ffffff1a;margin:20px 0;position:relative;overflow:hidden;width:100%;gap:50px}.header-content:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#4da0db08,#1976d203);z-index:-1}.title-section{margin:0 30px}.title-section h1{color:#1976d2;font-size:2.5rem;font-weight:700;margin:0 0 8px;background:linear-gradient(135deg,#1976d2,#4da0db,#1565c0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em;text-shadow:0 2px 4px rgba(25,118,210,.1)}.title-section p{color:#1565c0;font-size:1.1rem;margin:0 0 12px;opacity:.85;font-weight:500;letter-spacing:.01em}.location-info-header{display:flex;align-items:center;justify-content:center;padding:8px 5px 0;gap:20px;background:#1976d20d;border-radius:19px;border:1px solid rgba(77,160,219,.1)}.location-name{color:#1976d2;font-size:.9rem;font-weight:600;display:flex;align-items:center;gap:6px}.local-time{color:#1565c0;font-size:.85rem;font-weight:500;opacity:.8;display:flex;align-items:center;gap:6px}.status-section{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.status-card{display:flex;flex-direction:column;align-items:center;gap:6px;background:linear-gradient(135deg,#fff6,#fff3);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);padding:16px 20px;border-radius:16px;border:1px solid rgba(255,255,255,.3);box-shadow:0 4px 16px #1976d214,inset 0 1px #fff6;transition:all .3s cubic-bezier(.4,0,.2,1);min-width:110px}.status-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #1976d21f,inset 0 1px #ffffff80;background:linear-gradient(135deg,#ffffff80,#ffffff4d)}.status-label{font-size:.75rem;color:#1565c0;font-weight:600;text-transform:uppercase;letter-spacing:.05em;opacity:.8}.status-value{font-size:1rem;color:#1976d2;font-weight:700;letter-spacing:-.01em}.status-indicator{width:12px;height:12px;border-radius:50%;animation:pulse-dot 2s infinite}.status-indicator.live{background:#4caf50}.status-indicator.fallback{background:#ff9800}.error-banner{position:fixed;bottom:50px;left:50%;transform:translate(-50%);background:#ffeb3b33;backdrop-filter:blur(25px) saturate(180%);-webkit-backdrop-filter:blur(25px) saturate(180%);color:#ec9e50;padding:16px 24px;border-radius:16px;border:1px solid rgba(255,193,7,.4);box-shadow:0 8px 32px #ffc10733,0 4px 16px #ff980026,inset 0 1px #fff8e199,inset 0 -1px #ffeb3b4d;z-index:9996;animation:slideUpError .4s cubic-bezier(.4,0,.2,1);max-width:400px;width:calc(100% - 40px);font-family:Montserrat,sans-serif}.error-banner-content{display:flex;align-items:center;justify-content:space-between;gap:16px}.error-banner-text{flex:1;font-size:.9rem;font-weight:600;line-height:1.4;color:#eba25a}.error-banner-retry,.retry-btn-small{background:#dfc16659;color:#edab69a0;border:1px solid rgba(255,193,7,.4);padding:8px 16px;border-radius:10px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap;font-family:Montserrat,sans-serif;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.error-banner-retry:hover,.retry-btn-small:hover{background:#ffc10759;border-color:#ffc10799;transform:translateY(-1px);box-shadow:0 4px 12px #ffc1074d;color:#e65100}@keyframes slideUpError{0%{opacity:0;transform:translate(-50%) translateY(20px) scale(.95)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}@media (min-width: 1200px){.loading-state{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);min-height:60vh;width:1100px}}@media (max-width: 768px){.error-banner{position:fixed;left:50%;transform:translate(-50%);bottom:35px;max-width:350px;padding:14px 20px}.error-banner-content{flex-direction:column;gap:12px;text-align:center}.retry-btn-small{width:100%;padding:10px 16px}}@media (max-width: 480px){.error-banner{bottom:10px;width:calc(100% - 20px);padding:12px 16px}.error-banner-text{font-size:.85rem}.retry-btn-small{font-size:.8rem;padding:8px 14px}}.status-info{display:flex;flex-direction:column;gap:2px}.status-label{font-size:.75rem;color:#1565c0;opacity:.7;font-weight:500}.status-value{font-size:.9rem;color:#1976d2;font-weight:600}.dashboard-nav{position:relative;z-index:2;padding:0 20px 30px;max-width:1000px;margin:0 auto}.nav-container{display:flex;justify-content:space-between;gap:8px;background:#4da0db26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:20px;padding:8px;box-shadow:0 8px 32px #0000001a,0 4px 16px #4da0db1a,inset 0 1px #ffffff1a;overflow-x:auto}.nav-tab{display:flex;align-items:center;gap:8px;padding:12px 20px;border:none;background:transparent;border-radius:15px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-family:Montserrat,sans-serif;font-weight:600;font-size:.9rem;color:#1565c0;white-space:nowrap;position:relative;overflow:hidden}.nav-tab:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s}.nav-tab:hover:before{left:100%}.nav-tab.active{background:#1976d233;color:#1976d2;border:1px solid rgba(25,118,210,.3);box-shadow:0 4px 16px #00000014,0 2px 8px #1976d226,inset 0 1px #fff3}.nav-tab:hover:not(.active){background:#4da0db1a;color:#1976d2;transform:translateY(-1px)}.tab-icon{width:1.2rem;height:1.2rem;display:flex;align-items:center;justify-content:center}.tab-icon svg{width:100%;height:100%;fill:currentColor}.tab-label{font-size:.9rem}.dashboard-content{position:relative;z-index:2;padding:0 20px 60px;max-width:1400px;margin:0 auto}.overview-grid,.content-grid{display:grid;gap:35px;margin-bottom:25px;animation:fadeInUp .6s ease-out;padding:25px}.overview-grid{grid-template-columns:repeat(auto-fit,minmax(600px,1fr))}.content-grid{grid-template-columns:repeat(auto-fit,minmax(500px,1fr))}.chart-card{background:#4da0db26;backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);border:1px solid rgba(255,255,255,.2);border-radius:25px;padding:30px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 8px 32px #0000001a,0 4px 16px #4da0db1a,inset 0 1px #ffffff1a;animation:card-entrance .6s ease-out}.chart-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s}.chart-card:hover{background:#4da0db2e;border-color:#ffffff40;transform:translateY(-3px);box-shadow:0 15px 40px #0000001f,0 8px 20px #4da0db26,inset 0 1px #ffffff26}.chart-card:hover:before{left:100%}.chart-card.large{grid-column:span 2}.chart-card h3{color:#1976d2;font-size:1.1rem;font-weight:700;margin:0 0 15px;text-align:center;font-family:Montserrat,sans-serif;background:linear-gradient(135deg,#1976d2,#42a5f5);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 2px 4px rgba(25,118,210,.1)}.chart-container{min-height:400px;max-height:500px;height:450px;position:relative;background:linear-gradient(135deg,#ffffff26,#ffffff1a);border-radius:24px;padding:30px;margin-bottom:20px;backdrop-filter:blur(30px) saturate(180%);-webkit-backdrop-filter:blur(30px) saturate(180%);border:1px solid rgba(255,255,255,.2);box-shadow:0 20px 60px #0000001a,0 8px 25px #00000014,inset 0 1px #fff9,inset 0 -1px #fff3;transition:all .4s cubic-bezier(.4,0,.2,1);overflow:hidden;display:flex;flex-direction:column}.chart-container:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,rgba(25,118,210,.3) 20%,rgba(255,255,255,.8) 50%,rgba(25,118,210,.3) 80%,transparent 100%);pointer-events:none;z-index:1}.chart-container canvas{border-radius:16px!important;filter:drop-shadow(0 4px 12px rgba(25,118,210,.1));transition:all .3s ease;position:relative;z-index:2;max-height:350px!important;height:auto!important;width:100%!important}.chart-container:hover{transform:translateY(-4px) scale(1.005);box-shadow:0 20px 60px #00000026,0 10px 30px #00000014,inset 0 2px #ffffffe6,inset 0 -1px #fff6;border-color:#fff9}.chart-container:hover canvas{filter:drop-shadow(0 6px 16px rgba(25,118,210,.2));transform:scale(1.01)}.chart-container:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#1976d205,#ffffff0d);pointer-events:none}.chart-container:hover{transform:translateY(-3px) scale(1.01);box-shadow:0 16px 50px #0000002e,0 8px 25px #00000014,inset 0 1px #fffc;border-color:#ffffff80}.chart-wrapper{position:relative;height:300px;width:100%;flex:1;display:flex;align-items:center;justify-content:center}.chart-wrapper canvas{max-height:100%!important;max-width:100%!important}.chart-container h3{margin:0 0 20px;font-size:1.3rem;font-weight:600;background:linear-gradient(135deg,#1976d2,#42a5f5,#1976d2);background-size:200% 200%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:gradientShift 3s ease-in-out infinite;text-align:center;letter-spacing:.5px;text-shadow:0 2px 4px rgba(25,118,210,.1);position:relative;z-index:3}.forecast-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;padding:20px;max-height:300px;overflow-y:auto}.forecast-item{background:linear-gradient(135deg,#ffffffe6,#ffffffb3);border-radius:16px;padding:15px;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);box-shadow:0 4px 15px #00000014;transition:all .3s ease}.forecast-item:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001f}.forecast-time{font-size:1.1rem;font-weight:600;color:#1976d2;margin-bottom:8px}.forecast-aqi{font-size:1rem;font-weight:600;color:#333;margin-bottom:6px}.forecast-confidence{font-size:.9rem;color:#666;margin-bottom:8px}.forecast-status{padding:6px 12px;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.forecast-status.good{background:linear-gradient(135deg,#4caf50,#66bb6a);color:#fff}.forecast-status.moderate{background:linear-gradient(135deg,#ff9800,#ffb74d);color:#fff}.forecast-status.unhealthy-sensitive{background:linear-gradient(135deg,#ff5722,#ff7043);color:#fff}.forecast-status.unhealthy{background:linear-gradient(135deg,#f44336,#ef5350);color:#fff}.forecast-status.very-unhealthy{background:linear-gradient(135deg,#9c27b0,#ba68c8);color:#fff}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.chart-container:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#1976d20d,#1976d205,#ffffff1a);pointer-events:none;z-index:1}.chart-container>*{position:relative;z-index:2}.chart-container:hover{transform:translateY(-2px);box-shadow:0 12px 40px #00000026,inset 0 1px #ffffff4d}.chart-card.large .chart-container{height:400px}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;color:#1976d2;background:#4da0db26;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.3);border-radius:20px;padding:40px;margin:20px;box-shadow:0 8px 32px #4da0db1a,inset 0 1px #fff6}.loading-spinner{width:50px;height:50px;border:4px solid rgba(77,160,219,.2);border-top:4px solid #1976d2;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.error-icon{font-size:4rem;margin-bottom:20px}.loading-state h2,.error-state h2{font-size:1.8rem;margin:0 0 10px;font-weight:700}.loading-state p,.error-state p{font-size:1.1rem;opacity:.8;margin:0 0 20px}.retry-btn{background:linear-gradient(135deg,#1976d2,#4da0db);color:#fff;border:none;padding:12px 24px;border-radius:20px;font-family:Montserrat,sans-serif;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #1976d24d}.retry-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #1976d266}.refresh-btn{position:fixed;bottom:30px;right:30px;width:60px;height:60px;background:linear-gradient(135deg,#1976d2,#4da0db);border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:1000;box-shadow:0 8px 32px #00000026,0 4px 16px #1976d24d;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.refresh-btn:hover:not(:disabled){transform:translateY(-3px) scale(1.05);box-shadow:0 12px 40px #0003,0 6px 20px #1976d266}.refresh-btn:disabled{opacity:.6;cursor:not-allowed}.refresh-btn svg{width:24px;height:24px;color:#fff;transition:transform .5s ease}.refresh-btn:hover:not(:disabled) svg{transform:rotate(180deg)}@keyframes bubble-float{0%{transform:translateY(100vh) translate(0);opacity:0}10%{opacity:.8}90%{opacity:.8}to{transform:translateY(-10vh) translate(50px);opacity:0}}@keyframes drift{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-30px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.9)}}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}.loc{display:flex;align-items:center;flex-direction:column}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes card-entrance{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1200px){.overview-grid,.content-grid{grid-template-columns:1fr;gap:25px}.chart-card.large{grid-column:span 1}.chart-container{padding:25px 20px;min-height:280px}}@media (max-width: 768px){.dashboard-container{padding:100px 0 40px}.dashboard-header{padding:0 15px 25px;max-width:100%;width:100%;margin:0 auto;display:flex;justify-content:center;align-items:center}.header-content{flex-direction:column;gap:20px;padding:25px 20px;text-align:center}.title-section h1{font-size:2rem}.title-section p{font-size:1rem}.status-section{flex-wrap:wrap;justify-content:center;gap:15px}.location-selector{width:100%;min-width:100%}.dashboard-nav{padding:0 15px 25px}.nav-container{padding:6px;gap:4px}.nav-tab{padding:12px 8px;font-size:.8rem;flex-direction:column;gap:6px;min-width:60px}.tab-icon{width:1.6rem;height:1.6rem}.tab-label{display:none}.dashboard-content{padding:0 15px 60px}.content-grid{grid-template-columns:1fr;gap:20px;padding:15px}.chart-card{padding:20px}.chart-card h3{font-size:1.1rem;margin-bottom:15px}.chart-container{min-height:250px;padding:20px 15px;margin-bottom:15px;border-radius:20px}.chart-container h3{font-size:1.1rem;margin-bottom:15px}.chart-container canvas{border-radius:12px!important}.chart-card.large .chart-container{min-height:280px}.refresh-btn{width:50px;height:50px;bottom:20px;right:20px}.refresh-btn svg{width:20px;height:20px}}@media (max-width: 480px){.dashboard-header{padding:15px;border-radius:0 0 24px 24px}.header-content{gap:15px;padding:20px 15px}.title-section h1{font-size:1.6rem}.status-card{padding:10px 14px;min-width:120px}.nav-tab{padding:8px 12px;gap:6px}.tab-label{font-size:.8rem}.chart-card{padding:18px}.chart-container{min-height:220px;padding:15px 10px;border-radius:16px}.chart-container h3{font-size:1rem;margin-bottom:12px}.overview-grid,.content-grid{padding:10px;gap:15px}}.pwa-install-container{position:fixed;bottom:20px;right:20px;z-index:9998;max-width:350px;width:calc(100% - 40px);animation:slideInUp .3s ease-out}.pwa-install-card{background:#4da0db26;backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);border:1px solid rgba(255,255,255,.2);border-radius:20px;padding:20px;box-shadow:0 20px 60px #0000001a,0 8px 25px #4da0db26,inset 0 1px #ffffff1a;position:relative;color:#fff;font-family:Montserrat,sans-serif}.pwa-install-icon{display:flex;justify-content:center;margin-bottom:15px}.pwa-install-icon img{width:60px;height:60px;border-radius:12px;box-shadow:0 4px 12px #0003}.pwa-install-content h3{font-size:1.2rem;font-weight:600;margin-bottom:8px;text-align:center;color:#e3f2fd}.pwa-install-content p{font-size:.9rem;opacity:.9;text-align:center;margin-bottom:12px;line-height:1.4}.pwa-install-features{display:flex;flex-direction:column;gap:4px;margin-bottom:20px}.pwa-install-features span{font-size:.85rem;opacity:.8;color:#fff;font-weight:500}.pwa-install-actions{display:flex;gap:10px;justify-content:center}.pwa-install-btn{padding:10px 20px;border:none;border-radius:12px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-family:Montserrat,sans-serif}.pwa-install-btn.primary{background:linear-gradient(135deg,#1976d2,#4da0db);color:#fff;box-shadow:0 4px 12px #1976d24d}.pwa-install-btn.primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px #1976d266}.pwa-install-btn.secondary{background:#ffffff1a;color:#e3f2fd;border:1px solid rgba(255,255,255,.2)}.pwa-install-btn.secondary:hover{background:#ffffff26;transform:translateY(-1px)}.pwa-install-close{position:absolute;top:10px;right:15px;background:none;border:none;color:#ffffffb3;font-size:1.5rem;cursor:pointer;transition:color .2s ease;line-height:1;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.pwa-install-close:hover{color:#fff}@keyframes slideInUp{0%{transform:translateY(100px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 480px){.pwa-install-container{bottom:10px;right:10px;left:10px;width:auto;max-width:none}.pwa-install-card{padding:15px}.pwa-install-actions{flex-direction:column}.pwa-install-btn{width:100%;padding:12px 20px}}*{box-sizing:border-box}html,body{margin:0;padding:0;background:linear-gradient(135deg,#e3f2fd,#bbdefb)!important;font-family:Montserrat,-apple-system,BlinkMacSystemFont,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.app{width:100%;min-height:100vh;margin:0;padding:0;display:flex;flex-direction:column;font-family:Montserrat,sans-serif;overflow-x:hidden;background:transparent}.main-content{width:100%;flex:1;margin:0;padding:0;overflow-x:hidden;background:transparent}
