@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/inter-latin-ext-wght-normal.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/inter-vietnamese-wght-normal.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/inter-latin-wght-normal.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{font-family:DM Sans,Arial,sans-serif;color:#243b48;background:#edf1e9;font-synthesis:none;--ink:#243b48;--muted:#839099;--line:#edf0f2;--blue:#3586bd;--green:#214a46}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{color:inherit;cursor:pointer;background:none;border:0;padding:0}a{color:#287caa}button:disabled{opacity:.5;cursor:wait}button:focus-visible,[role=button]:focus-visible,a:focus-visible{outline:3px solid #4d97c7;outline-offset:3px}button,[role=button]{-webkit-tap-highlight-color:transparent}svg{flex-shrink:0}p{line-height:1.65}::selection{background:#daeac9}input{color:var(--ink)}[data-ui]{font-family:inherit!important}.app-shell{height:100dvh;min-height:560px;display:flex;flex-direction:column;overflow:hidden;background:#fff}[data-ui~=header]{height:79px;min-height:79px;display:flex;flex-direction:row;align-items:center;padding:0 30px;border-bottom:1px solid #e8ecee;gap:24px;position:relative;z-index:1002;background:#fff}[data-ui~=brand]{display:flex;flex-direction:row;align-items:center;gap:9px;white-space:nowrap}.brand-symbol{width:34px;height:34px;border-radius:10px;background:#244b47;color:#c7e6a9;display:grid;place-items:center}[data-ui~=wordmark]{font-family:Manrope,Arial,sans-serif!important;font-size:28px;font-weight:800;letter-spacing:-1.25px;color:#263e43}[data-ui~=wordmark] span{font-weight:600;color:#648779}.brand-divider{width:1px;height:22px;background:#dbe2df;margin:0 5px 0 10px}[data-ui~=brand-caption]{font-size:11px;font-weight:700;letter-spacing:1.5px;color:#7b8c87}[data-ui~=header-actions]{display:flex;flex-direction:row;align-items:center;gap:13px}[data-ui~=icon-button]{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:7px;transition:background .2s;position:relative}[data-ui~=icon-button]:hover{background:#f0f4f3}.count-dot{font-size:11px;position:absolute;right:-2px;top:-1px;background:#2c776d;color:#fff;border-radius:50%;width:14px;height:14px;display:grid;place-items:center}[data-ui~=mobile-menu]{display:none}.nav-dropdown{position:absolute;top:71px;left:44%;width:235px;background:#fff;box-shadow:0 10px 35px #17323e25;padding:8px;border:1px solid var(--line);border-radius:8px;z-index:2000}[data-ui~=dropdown-item]{padding:13px 12px;display:flex;flex-direction:row;justify-content:space-between;align-items:center;border-radius:5px}[data-ui~=dropdown-item]:hover{background:#eff5f4}[data-ui~=dropdown-item] [data-ui]{font-size:16px}.workspace{display:flex;flex:1;min-height:0;position:relative}.sidebar{width:296px;min-width:296px;display:flex;flex-direction:column;background:#fff;z-index:501;border-right:1px solid #dce3df;transition:margin-left .3s ease;position:relative}.sidebar-collapsed .sidebar{margin-left:-296px}[data-ui~=sidebar-heading]{padding:20px 22px 16px}[data-ui~=eyebrow-row]{display:flex;flex-direction:row;gap:6px;align-items:center;margin-bottom:10px}[data-ui~=eyebrow-row] [data-ui~=icon-button]{width:20px;height:17px;margin-left:auto;color:#90a0a7}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#6f9e79;box-shadow:0 0 0 3px #6f9e7915}.status-dot.demo{background:#b5a25f;box-shadow:0 0 0 3px #b5a25f17}[data-ui~=eyebrow]{font-size:11px;letter-spacing:1px;font-weight:650;color:#7e898f}[data-ui~=sidebar-title]{font-family:Manrope,sans-serif!important;font-size:25px;font-weight:750;letter-spacing:-.5px;color:#253e49}[data-ui~=sidebar-subtitle]{display:flex;flex-direction:row;align-items:center;justify-content:space-between;margin-top:7px}[data-ui~=sidebar-subtitle] [data-ui]{font-size:14px;color:#637781}[data-ui~=updated]{display:flex;flex-direction:row;gap:5px;align-items:center;color:#93a0a6;margin-top:12px}[data-ui~=updated] [data-ui]{font-size:12px;color:inherit}.rank-table-header{display:grid;grid-template-columns:24px 1fr 57px;gap:6px;padding:11px 22px;background:#f8faf9;border-top:1px solid #edf1ef;border-bottom:1px solid #edf1ef;font-size:11px;letter-spacing:.4px;font-weight:650;color:#7d8b93}.rank-table-header button{text-align:right;font-size:11px}[data-ui~=ranking-scroll]{min-height:0}[data-ui~=rank-row]{display:flex;flex-direction:row;align-items:center;gap:8px;padding:9px 22px;min-height:44px;position:relative;transition:background .2s;border-bottom:1px solid #f7f8f8}[data-ui~=rank-row]:hover{background:#f4f8f5}[data-ui~=rank-row][data-ui~=is-selected]{background:#ecf5f2}[data-ui~=rank-row][data-ui~=is-selected]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#528674}[data-ui~=rank-number]{width:16px;font-size:13px;color:#8d989e}[data-ui~=rank-name]{flex:1;min-width:0;gap:3px}[data-ui~=station-name]{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[data-ui~=station-area]{font-size:12px;color:#929ca2}.aqi-badge{display:inline-flex;min-width:45px;height:30px;align-items:center;justify-content:center;font-size:16px;font-weight:650;border-radius:4px;flex-shrink:0}.aqi-badge.small{min-width:37px;height:24px;font-size:13px;border-radius:3px}[data-ui~=ranking-note]{font-size:11px;color:#93a0a5;padding:12px 22px;line-height:1.6}[data-ui~=sidebar-footer]{padding:14px 18px 10px;border-top:1px solid #eef1ee;gap:12px;background:#fff}[data-ui~=contribute-card]{display:flex;flex-direction:row;gap:13px;background:#f3f6f2;padding:14px 11px;border-radius:7px;align-items:center}.sensor-illustration{width:37px;height:48px;position:relative;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:#97a49c;background:linear-gradient(120deg,#fff,#e4e9e2);border:1px solid #d8e0d5;border-radius:7px;box-shadow:2px 3px 1px #d0d7cc}.sensor-illustration>span{position:absolute;left:8px;right:8px;top:8px;background:#b4ce9e;height:6px;border-radius:1px}.sensor-illustration svg{margin-top:7px}[data-ui~=contribute-title]{font-size:13px;font-weight:700;color:#3b5149;margin-bottom:4px}[data-ui~=contribute-copy]{font-size:11px;color:#869189}[data-ui~=contribute-link]{font-size:12px;color:#4f8069;margin-top:8px;display:flex;align-items:center;gap:5px;font-weight:600}[data-ui~=primary-button]{background:#3485b8;display:flex;flex-direction:row;align-items:center;justify-content:center;color:#fff;gap:9px;padding:12px;border-radius:5px;transition:background .2s;box-shadow:0 2px 2px #2e6a8a15}[data-ui~=primary-button]:hover{background:#2676aa}[data-ui~=primary-button] [data-ui]{color:inherit;font-size:13px;font-weight:600}.map-area{flex:1;min-width:0;position:relative;overflow:hidden;background:#d8e0cc}.map-view,.leaflet-host{position:absolute;top:0;right:0;bottom:0;left:0}.leaflet-host{background:#e1e7d7}[data-ui~=sidebar-toggle]{position:absolute;z-index:800;left:0;top:44px;width:20px;height:43px;border-radius:0 6px 6px 0;background:#fff;box-shadow:2px 2px 7px #203e3320;color:#7b9089}.map-topline{position:absolute;left:37px;top:23px;display:flex;gap:7px;align-items:center;z-index:700}.location-breadcrumb{background:#fffffff5;box-shadow:0 2px 8px #243e3020;padding:12px 14px;display:flex;align-items:center;gap:9px;border-radius:7px;font-size:14px;color:#75847d}.location-breadcrumb>svg:first-child{color:#71937f}.location-breadcrumb strong{font-weight:600;color:#3a5146}.location-live{font-size:11px!important;letter-spacing:.7px;background:#f3eee0;color:#9a864b;padding:4px 5px;border-radius:3px;font-weight:700;margin-left:3px}.map-search{width:41px;height:41px;border-radius:7px;display:grid;place-items:center;background:#fff;box-shadow:0 2px 8px #243e3020;color:#76897e}.map-layer-controls{position:absolute;right:22px;top:22px;display:flex;flex-direction:column;align-items:flex-end;gap:7px;z-index:700}.map-style-button{width:78px;height:60px;position:relative;background:#d0dfc4;overflow:hidden;border:3px solid #fff;border-radius:7px;box-shadow:0 2px 7px #243e3025;margin-bottom:13px;display:flex;justify-content:center;align-items:center;color:#42664f}.map-style-button:before{content:"";position:absolute;width:120px;height:10px;background:#b7d3da;transform:rotate(-32deg);left:-22px;top:20px;border:2px solid #d5ebee}.mini-map-lines{position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(40deg,transparent 0 11px,#fff8 12px 13px,transparent 14px 22px)}.map-style-button>svg{position:absolute;right:5px;top:4px}.map-style-button>span:last-child{position:absolute;bottom:0;left:0;right:0;font-size:11px;font-weight:650;background:#ffffffe0;padding:3px}.map-style-button.satellite{background:#476b43}.map-style-button.dark{background:#30454a}.style-menu{position:absolute;top:0;right:88px;width:130px;background:#fff;padding:6px;border-radius:6px;box-shadow:0 6px 20px #203e332f}.style-menu button{display:flex;gap:9px;align-items:center;width:100%;font-size:14px;padding:10px;border-radius:4px}.style-menu button:hover{background:#f2f6f2}.layer-section-label{font-size:11px;letter-spacing:1px;color:#3e5948;font-weight:750;text-shadow:0 1px 2px #fff;margin-right:3px;margin-bottom:2px}[data-ui~=layer-toggle]{display:flex;flex-direction:row;gap:6px;align-items:center;background:#fffffff0;border:1px solid #e6ece4;box-shadow:0 1px 3px #29443114;border-radius:20px;height:26px;padding:3px 8px 3px 4px;color:#86988b;transition:transform .2s,background .2s}[data-ui~=layer-toggle]:hover{transform:translate(-3px);background:#fff}[data-ui~=layer-toggle][data-ui~=on]{color:#478bb4;border-color:#dbe9ef}[data-ui~=layer-toggle] [data-ui]{font-size:12px;color:inherit}.layer-icon{width:18px;height:18px;display:grid;place-items:center;border-radius:50%;background:#edf1ed}[data-ui~=layer-toggle][data-ui~=on] .layer-icon{background:#4c8fb3;color:#fff}.layer-check{display:flex;align-items:center}.city-card{position:absolute;left:30px;bottom:69px;width:318px;background:#fffffff7;border:1px solid #ffffffa0;border-radius:10px;box-shadow:0 4px 20px #284c3b18;z-index:700;overflow:hidden;animation:slide-in .3s ease}.city-card-top{display:flex;align-items:center;justify-content:space-between;padding:14px 17px 0;color:#9ba69f}.city-label{display:flex;gap:7px;align-items:center;font-size:11px;letter-spacing:1px;font-weight:600;color:#839185}.city-card-content{display:flex;gap:14px;padding:17px}.city-aqi{width:64px;height:69px;border-radius:7px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:30px;font-weight:650;line-height:1}.city-aqi small{font-size:11px;margin-top:7px;font-weight:600}.city-card h2{font-family:Manrope,sans-serif;font-size:23px;letter-spacing:-.5px;font-weight:700;margin:2px 0 4px;max-width:200px}.city-card p{font-size:13px;color:#7c8d82;margin:0 0 11px}.city-card-footer{display:flex;justify-content:space-between;font-size:11px;color:#94a196;background:#f8faf6;border-top:1px solid #edf1e8;padding:10px 17px}.map-navigation{position:absolute;right:22px;bottom:55px;display:flex;flex-direction:column;border:1px solid #e1e7dc;background:#fffffff5;border-radius:7px;overflow:hidden;box-shadow:0 2px 7px #223c301c;z-index:700}.map-navigation button{width:35px;height:35px;display:grid;place-items:center;color:#6a8072}.map-navigation button:hover{background:#eef3eb}.map-navigation>span{height:1px;background:#e3e9df;margin:0 7px}.legend{position:absolute;bottom:28px;left:50%;transform:translate(-50%);background:#fffffff2;border:1px solid #e7ecdf;border-radius:7px;padding:9px 12px 10px;box-shadow:0 3px 15px #2a4f3020;z-index:700;width:420px}.legend-heading{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:650;letter-spacing:.3px;margin-bottom:7px;color:#6c7b70}.legend-heading span:nth-child(2){font-weight:600;color:#9aa392}.legend-heading button{margin-left:auto;height:12px;color:#99a88f}.legend-bands{display:flex;gap:4px}.legend-bands button{flex:1;display:flex;flex-direction:column;gap:4px;align-items:center;font-size:11px;color:#79836f;white-space:nowrap}.legend-bands button>span:first-child{width:100%;height:5px;border-radius:2px;transition:height .15s}.legend-bands button:hover>span:first-child{height:8px}.legend-bands button small{font-size:11px;color:#a1a797}.help-button{position:absolute;right:22px;bottom:214px;width:35px;height:35px;border-radius:50%;background:#376d7b;color:#fff;display:grid;place-items:center;z-index:700;box-shadow:0 3px 9px #173f3e25}.search-panel{position:absolute;top:18px;left:30px;width:365px;max-width:calc(100% - 60px);background:#fff;border-radius:8px;box-shadow:0 7px 30px #203c332f;z-index:1000;border:1px solid #e8eeea}.search-label{font-size:11px;letter-spacing:1px;color:#8e9d93;padding:10px}.station-detail{position:absolute;left:30px;top:80px;bottom:auto;width:319px;max-height:calc(100% - 110px);overflow:auto;z-index:800;background:#fff;border-radius:10px;box-shadow:0 7px 30px #203c3328;animation:slide-in .25s ease;scrollbar-width:thin;scrollbar-color:#ced9cf transparent}.detail-header{display:flex;align-items:center;justify-content:space-between;padding:13px 17px 0;font-size:12px;color:#8b9a90}.detail-header>span{display:flex;align-items:center;gap:5px}.detail-header>div{display:flex;gap:13px;color:#6e8575}.station-detail>h2{margin:10px 17px 5px;font-family:Manrope,sans-serif;font-size:24px;letter-spacing:-.5px;font-weight:750}.detail-update{display:flex;gap:5px;align-items:center;font-size:11px;color:#98a298;margin:0 17px 14px}.detail-aqi{display:flex;align-items:center;padding:15px 17px;margin:0 17px;border-radius:7px;gap:13px}.detail-aqi>div:first-child{display:flex;flex-direction:column;border-right:1px solid #00000013;padding-right:13px;gap:4px}.detail-aqi small{font-size:11px}.detail-aqi strong{font-size:31px;line-height:1;font-weight:650}.detail-aqi>div:nth-child(2){flex:1}.detail-aqi>div:nth-child(2)>span{font-size:11px;opacity:.7}.detail-aqi h3{font-size:16px;margin:4px 0 0;font-weight:650}.detail-pollutant{margin:0 17px;padding:13px 0;display:flex;justify-content:space-between;align-items:center;font-size:12px;border-bottom:1px solid #edf1eb;color:#8a988d}.detail-pollutant strong{color:#5f7566;font-size:14px}.detail-pollutant span strong{margin-left:5px;font-size:12px}.detail-pollutant small{font-size:11px;font-weight:600}.detail-weather{display:flex;justify-content:space-between;gap:8px;padding:13px 17px;color:#7e9181;font-size:12px}.detail-weather span{display:flex;align-items:center;gap:6px}.detail-tabs{display:flex;border-bottom:1px solid #e9eee7;padding:0 17px;gap:20px}.detail-tabs button{font-size:13px;color:#96a090;padding:10px 0}.detail-tabs button.active{color:#4c7c65;border-bottom:2px solid #5d9075}.detail-overview{padding:16px 17px 10px}.detail-section-title{display:flex;align-items:center;gap:7px;font-size:13px;color:#6b826b}.detail-overview p{font-size:12px;line-height:1.7;color:#8a9888;margin:9px 0 16px}.mini-chart-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px;font-size:13px;color:#5f745f}.mini-chart-header>span{font-size:11px;letter-spacing:.6px;color:#a5ac9f}.mini-chart-header select{border:1px solid #e7ece3;font-size:12px;padding:4px;border-radius:4px;background:#fff;color:#789075}.chart-readout{font-size:11px;color:#99a492;height:15px}.chart svg{width:100%;display:block;overflow:visible}.chart-axis{display:flex;justify-content:space-between;color:#a2aa98;font-size:11px;margin:4px 0 0}.history-stats{display:flex;justify-content:space-between;margin:17px 0 5px;font-size:12px;color:#94a087}.history-stats strong{display:block;font-size:23px;color:#637855;margin-top:5px}.detail-contributor{display:flex;align-items:center;gap:8px;border-top:1px solid #edf1e8;padding:12px 17px;color:#8d9b84;font-size:11px;background:#fcfdf9}.detail-contributor strong{display:block;font-size:11px;color:#6d8361;margin-top:4px}.contributor-avatar{background:#edf3e6;border-radius:50%;width:28px;height:28px;display:grid;place-items:center;color:#799265}.verified-icon{display:flex;margin-left:auto;background:#82a270;border-radius:50%;color:#fff;padding:2px}.empty-chart{padding:22px 5px;font-size:13px;line-height:1.5;color:#99a28e}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%);background:#25483e;color:#fff;border:1px solid #4b6d59;box-shadow:0 4px 20px #1d412a30;border-radius:8px;padding:14px 17px;display:flex;align-items:center;gap:12px;z-index:4000;width:max-content;max-width:calc(100% - 40px);font-size:15px;line-height:1.5;animation:toast-in .2s ease}.toast>span{max-width:520px}.toast button{display:flex;color:#c2d1b8}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#152c2c60;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:3000;display:flex;align-items:center;justify-content:center;padding:30px;animation:fade-in .2s ease}.modal{background:#fff;border-radius:16px;width:540px;max-width:100%;max-height:90dvh;overflow:auto;padding:27px 32px;box-shadow:0 20px 80px #182f322f;outline:none;scrollbar-width:thin;scrollbar-color:#cad9cd transparent;animation:slide-in .25s ease}.modal.wide{width:640px}.modal-top{display:flex;align-items:center;justify-content:space-between;color:#8fa28e}.modal-kicker{display:flex;align-items:center;gap:7px;font-size:12px;letter-spacing:1.8px;color:#799073}.modal h2{font-family:Manrope,sans-serif;font-size:29px;line-height:1.3;letter-spacing:-.7px;font-weight:750;margin:20px 0 8px;color:#2c4a3c}.modal h3{font-size:17px;font-weight:650;color:#4b674f;margin:24px 0 8px}.modal p{font-size:15px;color:#7e8f7c}.modal .modal-intro{font-size:16px;color:#91a18a;margin:0 0 23px;line-height:1.6}.info-block{display:flex;align-items:flex-start;gap:11px;padding:14px;background:#f3f7ef;border:1px solid #e8efe0;border-radius:8px;color:#87a077;margin:15px 0}.info-block p{margin:0;font-size:14px;line-height:1.75;color:#7d9071}.info-block strong{color:#597b4d}.text-link{display:inline-flex;align-items:center;gap:7px;font-size:14px;text-decoration:none;margin:10px 0}.about-art{height:150px;background:#214a40;color:#c7dfa9;padding:28px;display:flex;align-items:center;gap:25px;border-radius:9px}.about-art>span{font-size:24px;font-weight:600;letter-spacing:3px}.about-art b{font-size:14px;letter-spacing:1.2px}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:24px 0;font-size:13px;color:#839775}.feature-grid span{display:flex;gap:8px;align-items:center}.feature-grid svg{width:17px;height:17px}.primary{display:flex;align-items:center;justify-content:center;gap:9px;background:#3588b8;border-radius:6px;width:100%;padding:13px;color:#fff;font-size:15px;margin-top:23px;font-weight:600}.primary:hover{background:#2b76a5}.network-numbers{display:flex;border:1px solid #e8eee1;border-radius:8px;padding:22px 4px;margin:23px 0}.network-numbers>div{flex:1;text-align:center;border-right:1px solid #e6ebdf;display:flex;flex-direction:column;gap:7px}.network-numbers>div:last-child{border:0}.network-numbers b{font-size:28px;font-family:Manrope,sans-serif;color:#6f8d58}.network-numbers span{font-size:12px;color:#96a286}.steps{font-size:15px;color:#819071;line-height:1.7;padding-left:20px}.steps li{padding:5px 0 5px 6px}.mode-choice{display:flex;gap:12px;margin-bottom:23px}.mode-choice button{position:relative;display:flex;flex:1;flex-direction:column;text-align:left;gap:8px;padding:19px 16px;border:1px solid #e0e8d8;border-radius:8px;color:#8b9b7d}.mode-choice strong{font-size:15px;color:#607b51}.mode-choice span{font-size:12px}.mode-choice button.selected{border-color:#7ea363;background:#f6f9f2;box-shadow:0 0 0 1px #7ea363}.mode-choice button>svg:last-child:not(:first-child){position:absolute;right:12px;top:16px;color:#709456}.modal details{font-size:14px;color:#829568;margin:18px 0}.modal summary{cursor:pointer}.modal pre{font-size:13px;line-height:1.6;overflow:auto;background:#f5f8ef;border-radius:6px;padding:14px;color:#678548}.modal .error-text,.error-text{color:#ae5555!important;background:#fff4f1;padding:10px;border-radius:5px;font-size:14px!important}.ranking-tools{display:flex;gap:12px;justify-content:space-between;margin:20px 0}.ranking-tools button{display:flex;gap:7px;align-items:center;border:1px solid #e2e8d6;padding:9px 11px;border-radius:5px;font-size:13px;color:#819763}.modal-station-list{max-height:51dvh;overflow:auto}.modal-station-row{display:flex;align-items:center;gap:13px;border-top:1px solid #edf1e6;padding:12px 3px}.modal-station-row>span:first-child{width:20px;font-size:13px;color:#9ca98c}.modal-station-row>button:nth-child(2){flex:1;text-align:left;display:flex;flex-direction:column;gap:4px}.modal-station-row strong{font-size:15px;font-weight:600;color:#687f52}.modal-station-row small{font-size:12px;color:#9ba98a}.modal-station-row>button:last-child{padding:4px;color:#87a16b}.empty-state{padding:40px 20px;text-align:center;color:#b0b9a3}.empty-state>svg{color:#a5b28f}.empty-state h3{font-size:17px;color:#819468;margin:18px 0 8px}.empty-state p{font-size:14px;color:#9faa8c}.empty-state button{font-size:14px;color:#5286a1;margin-top:10px;text-decoration:underline}.inline-error{display:flex;flex-wrap:wrap;gap:7px;padding:14px;font-size:13px;color:#a26351;background:#fff5ed;line-height:1.5}.inline-error>span{flex:1}.inline-error button{width:100%;text-align:right;font-weight:600}.update-item{border-top:1px solid #e7eddd;padding:24px 0 8px}.update-item>span{font-size:11px;color:#a2ad90;letter-spacing:1px}.update-item h3{margin:12px 0 5px}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-in{0%{opacity:0;bottom:15px}to{opacity:1;bottom:22px}}@media(min-width:1550px){.sidebar{width:330px;min-width:330px}.sidebar-collapsed .sidebar{margin-left:-330px}[data-ui~=header]{padding:0 40px;height:86px;min-height:86px}[data-ui~=rank-row]{min-height:48px;padding:10px 25px}[data-ui~=station-name]{font-size:15px}[data-ui~=station-area]{font-size:12px}[data-ui~=sidebar-heading]{padding:24px 25px 20px}.rank-table-header{padding-left:25px;padding-right:25px}.city-card{width:340px;bottom:48px}.legend{width:490px}.legend-bands button,.legend-bands button small{font-size:11px}.legend{bottom:30px}}@media(max-width:1200px){[data-ui~=brand-caption],.brand-divider{display:none}[data-ui~=header]{padding:0 23px}.sidebar{width:270px;min-width:270px}.sidebar-collapsed .sidebar{margin-left:-270px}[data-ui~=rank-row]{padding-left:18px;padding-right:18px}.city-card{width:280px;bottom:126px;left:25px}.city-card h2{font-size:20px}.city-card-content{padding:14px;gap:11px}.city-aqi{width:57px}.city-card-top{padding-left:14px}.city-card-footer{font-size:11px;padding:9px 14px}.legend{bottom:28px;width:380px}.map-layer-controls,.map-navigation{right:17px}.map-topline{left:27px}.location-breadcrumb{font-size:13px;padding:12px;gap:7px}.station-detail{left:25px;width:296px}.help-button{right:17px}}@media(max-width:950px){[data-ui~=header]{gap:10px;height:70px;min-height:70px}.sidebar{width:250px;min-width:250px}.sidebar-collapsed .sidebar{margin-left:-250px}[data-ui~=sidebar-heading]{padding:18px}[data-ui~=sidebar-title]{font-size:23px}[data-ui~=rank-row]{gap:6px;padding:9px 15px}[data-ui~=station-name]{font-size:13px}.rank-table-header{padding:11px 15px}.map-topline{left:25px;top:18px}.location-breadcrumb>span:first-of-type,.location-breadcrumb>svg:nth-child(3){display:none}.map-style-button{width:62px;height:48px}.layer-section-label,[data-ui~=layer-toggle] [data-ui]{font-size:11px}[data-ui~=layer-toggle]{height:24px;padding-right:6px;gap:4px}.map-layer-controls{top:18px;right:12px;gap:6px}.legend{width:340px;left:46%}.legend-bands{gap:3px}.legend-bands button{font-size:11px}.city-card{width:260px;left:25px;bottom:160px}.city-card h2{font-size:19px}.city-card-content{gap:10px}.city-card p{font-size:12px}.map-navigation{bottom:32px;right:12px}.help-button{bottom:190px;right:12px}.station-detail{width:280px;left:25px;top:73px;max-height:calc(100% - 90px)}.legend-heading{margin-bottom:5px}}@media(max-height:800px)and (min-width:761px){[data-ui~=rank-row]{min-height:40px;padding-top:7px;padding-bottom:7px}[data-ui~=sidebar-heading]{padding-top:15px;padding-bottom:13px}[data-ui~=sidebar-footer]{padding-top:10px;gap:9px}[data-ui~=contribute-card]{padding:10px}.city-card{bottom:128px}.station-detail{max-height:calc(100% - 88px)}.detail-overview{padding-top:12px}.detail-overview p{margin-bottom:12px}.detail-weather{padding-top:10px;padding-bottom:10px}}@media(max-width:760px){.app-shell{min-height:480px}[data-ui~=header]{height:64px;min-height:64px;padding:0 17px}[data-ui~=wordmark]{font-size:27px}.brand-symbol{width:31px;height:31px}[data-ui~=header-actions]{margin-left:auto;gap:7px}[data-ui~=header-actions]>[data-ui~=icon-button]:last-of-type{display:none}[data-ui~=mobile-menu]{display:flex!important}.nav-dropdown{right:15px;left:auto;top:58px}.sidebar{position:absolute;left:0;top:0;bottom:0;width:280px;min-width:280px;box-shadow:4px 0 20px #23433220;transform:translate(-100%);transition:transform .3s;margin-left:0;z-index:1000}.sidebar-collapsed .sidebar{transform:translate(0);margin-left:0}[data-ui~=sidebar-toggle]{top:75px;width:28px;height:40px;z-index:1001;transition:left .3s}.sidebar-collapsed [data-ui~=sidebar-toggle]{left:280px}.map-layer-controls{right:12px;top:75px;gap:5px}.map-style-button{width:57px;height:44px;margin-bottom:6px}.layer-section-label{font-size:11px;margin-bottom:1px}[data-ui~=layer-toggle]{height:23px;gap:3px}[data-ui~=layer-toggle] [data-ui]{font-size:11px}.layer-icon{width:16px;height:16px}.layer-icon svg{width:11px}.layer-check svg{width:10px}.map-topline{top:17px;left:16px;right:16px;justify-content:space-between}.location-breadcrumb{padding:11px 12px;gap:7px}.location-breadcrumb>span:first-of-type{display:block}.location-breadcrumb>svg:nth-child(3){display:block}.location-breadcrumb strong{font-size:13px}.location-live{font-size:11px!important}.map-search{width:37px;height:37px}.city-card{width:263px;left:15px;bottom:121px}.city-card-top{padding-top:11px}.city-card-content{padding:12px}.city-card-footer{padding:8px 12px}.city-label{font-size:11px;letter-spacing:.9px}.city-aqi{height:58px;width:53px;min-width:53px;font-size:26px}.city-card h2{margin-top:0}.city-card p{margin-bottom:8px}.legend{width:calc(100% - 30px);left:15px;transform:none;bottom:26px;padding:9px 10px}.legend-bands button,.legend-bands button small,.legend-heading{font-size:11px}.map-navigation{right:13px;bottom:123px}.map-navigation button{width:32px;height:32px}.help-button{right:13px;bottom:267px;width:32px;height:32px}.station-detail{left:12px;top:auto;bottom:100px;width:calc(100% - 69px);max-width:330px;max-height:calc(100% - 163px);z-index:900}.station-detail>h2{font-size:23px}.detail-overview{padding-top:12px}.detail-overview p,.detail-weather{font-size:12px}.detail-aqi{padding:12px}.detail-aqi h3{font-size:15px}.search-panel{left:12px;top:14px;max-width:calc(100% - 24px);width:calc(100% - 24px)}.modal-backdrop{padding:16px}.modal{padding:22px;max-height:92dvh;border-radius:12px}.modal h2{font-size:26px}.modal .modal-intro{font-size:15px}.modal p{font-size:14px}.about-art{padding:20px;height:130px;gap:17px}.about-art>svg{width:45px}.about-art>span{font-size:20px}.about-art b{font-size:12px}.mode-choice{gap:10px}.mode-choice button{padding:15px 12px}.mode-choice span{font-size:11px}.feature-grid{font-size:12px;gap:10px}.modal-station-row{gap:10px}.modal-station-row strong{font-size:14px}.network-numbers span{font-size:11px}.toast{font-size:14px;bottom:16px;padding:12px}.toast>span{max-width:270px}}@media(max-width:390px){[data-ui~=header-actions]{gap:3px}.location-breadcrumb{gap:5px;padding:11px 9px}.location-breadcrumb>span:first-of-type,.location-breadcrumb>svg:nth-child(3){display:none}.city-card{width:245px}.city-card-content{gap:9px}.city-card h2{font-size:18px}.legend-bands button{font-size:11px}.station-detail{width:calc(100% - 62px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}:root{--muted:#60717b}body,[data-ui]{font-weight:500}[data-ui~=header]{height:88px;min-height:88px}[data-ui~=brand-caption]{font-size:11px}[data-ui~=icon-button]{width:38px;height:38px}.sidebar{width:350px;min-width:350px}.sidebar-collapsed .sidebar{margin-left:-350px}[data-ui~=sidebar-title]{font-size:27px;font-weight:800}[data-ui~=sidebar-subtitle] [data-ui]{font-size:15px;font-weight:600;color:#536875}[data-ui~=eyebrow]{font-size:11px;color:#647680}[data-ui~=updated]{color:#657780;gap:7px}[data-ui~=updated] [data-ui]{font-size:12px}.rank-table-header{grid-template-columns:24px 1fr 65px;font-size:11px;color:#536875;padding:14px 22px}.rank-table-header button{font-size:11px;font-weight:700}[data-ui~=rank-row]{min-height:62px;padding:10px 22px;gap:10px}[data-ui~=rank-number]{width:20px;font-size:14px;color:#687a84}[data-ui~=station-name]{font-size:15px;font-weight:650}[data-ui~=station-area]{font-size:12px;color:#687a84}.aqi-badge.small{min-width:46px;height:32px;font-size:15px;font-weight:700}[data-ui~=ranking-note]{font-size:11px;color:#647680}[data-ui~=contribute-card]{padding:15px 12px}[data-ui~=contribute-title]{font-size:14px}[data-ui~=contribute-copy]{font-size:12px;line-height:1.5;color:#607165}[data-ui~=contribute-link]{font-size:13px}[data-ui~=primary-button]{min-height:45px}[data-ui~=primary-button] [data-ui]{font-size:14px;font-weight:650}.location-breadcrumb{font-size:14px;min-height:46px;color:#526b5a}.location-breadcrumb strong{font-weight:700}.location-live{font-size:10px!important}.map-search{width:46px;height:46px}.map-style-button{width:95px;height:69px}.map-style-button>span:last-child{font-size:12px;padding:5px}.layer-section-label{font-size:12px;letter-spacing:.7px;color:#274537}[data-ui~=layer-toggle]{height:36px;padding:5px 10px 5px 5px;gap:8px}[data-ui~=layer-toggle] [data-ui]{font-size:13px;font-weight:650}.layer-icon{width:24px;height:24px}.city-card{width:370px;bottom:215px}.city-label{font-size:11px;letter-spacing:.4px;color:#596e5d}.city-card-content{gap:17px;padding:18px}.city-aqi{width:75px;min-width:75px;height:80px;font-size:36px;font-weight:750}.city-aqi small{font-size:11px}.city-card h2{font-size:24px;max-width:240px}.city-card p{font-size:13px;color:#5d7162}.city-card-footer{font-size:11px;color:#5d7162;gap:12px;line-height:1.5}.legend{width:570px;bottom:29px;padding:12px 15px}.legend-heading{font-size:12px;color:#4a6252;margin-bottom:10px}.legend-heading span:nth-child(2){color:#607263}.legend-bands{gap:6px}.legend-bands button{font-size:11px;color:#465c4b;white-space:normal;line-height:1.3;gap:6px;font-weight:600}.legend-bands button>span:first-child{height:8px}.legend-bands button>span:nth-child(2){min-height:28px;display:flex;align-items:center}.legend-bands button small{font-size:11px;color:#65745f}.map-navigation button{width:43px;height:43px}.map-navigation{bottom:55px}.help-button{bottom:247px;width:43px;height:43px}.station-detail{width:370px;top:86px;max-height:calc(100% - 106px)}.detail-header{font-size:13px;color:#607568}.station-detail>h2{font-size:26px}.detail-update{font-size:12px;color:#66786b}.detail-aqi{min-height:102px;padding:17px}.detail-aqi strong{font-size:38px}.detail-aqi small,.detail-aqi>div:nth-child(2)>span{font-size:12px}.detail-aqi h3{font-size:17px;line-height:1.35}.detail-pollutant{font-size:13px;color:#647969}.detail-pollutant strong{font-size:16px}.detail-pollutant span strong{font-size:13px}.detail-pollutant small{font-size:12px}.detail-weather{font-size:13px;flex-wrap:wrap;color:#5b7361;row-gap:10px}.detail-tabs button{font-size:15px;font-weight:650;padding:13px 0}.detail-section-title{font-size:14px}.detail-overview p{font-size:13px;color:#5d735e;line-height:1.7}.mini-chart-header{font-size:14px}.mini-chart-header>span{font-size:10px}.mini-chart-header select{font-size:13px}.chart-readout{font-size:11px;height:20px;color:#62745c}.chart-axis{font-size:11px;color:#62745c}.detail-contributor{font-size:11px;color:#627756}.detail-contributor strong{font-size:12px;color:#4d6842}.modal{width:620px}.modal.wide{width:700px}.modal p{color:#5d715b}.modal p{font-size:15px}.modal .modal-intro{font-size:16px;color:#667b5e}.modal h2{font-size:29px}.modal h3{font-size:19px}.modal .info-block p{font-size:14px}.modal summary{font-size:14px}.modal pre{font-size:13px}.modal-station-row strong{font-size:16px}.modal-station-row small{font-size:13px;color:#607151}.mode-choice strong{font-size:16px}.mode-choice span{font-size:13px;line-height:1.5}.primary{min-height:48px;font-size:16px}.search-panel{width:410px}.search-label{font-size:11px;color:#607468}.mobile-layer-trigger{display:none}@media(min-width:1800px){.city-card{bottom:60px;width:390px}.legend{width:620px}}@media(max-width:1200px)and (min-width:761px){.sidebar{width:310px;min-width:310px}.sidebar-collapsed .sidebar{margin-left:-310px}[data-ui~=header]{gap:15px}.city-card{width:330px;left:25px;bottom:235px}.city-card h2{font-size:22px}.city-card-content{gap:12px}.legend{width:calc(100% - 95px);left:25px;transform:none;bottom:35px}.station-detail{width:340px}}@media(max-width:760px){[data-ui~=header]{height:72px;min-height:72px;padding:0 12px}[data-ui~=header-actions]{gap:2px}[data-ui~=header-actions] [data-ui~=icon-button]{width:32px}[data-ui~=wordmark]{font-size:26px}.sidebar{width:320px;min-width:320px}.sidebar-collapsed .sidebar{margin-left:0}.sidebar-collapsed [data-ui~=sidebar-toggle]{left:320px}[data-ui~=sidebar-title]{font-size:25px}.map-topline{left:12px;right:12px;top:14px}.location-breadcrumb{font-size:12px;padding:10px;gap:6px}.location-breadcrumb>span:first-of-type,.location-breadcrumb>svg:nth-child(3){display:none}.location-breadcrumb strong{font-size:13px}.location-live{font-size:9px!important}.map-search{width:42px;height:42px}.map-layer-controls{top:73px;right:12px;z-index:850;gap:6px}.mobile-layer-trigger{display:flex;align-items:center;gap:8px;background:#fff;padding:10px 13px;border-radius:7px;font-size:14px;font-weight:650;box-shadow:0 2px 8px #183b3526}.map-layer-controls.compact>:not(.mobile-layer-trigger){display:none}.map-layer-controls:not(.compact){background:#ffffffed;border-radius:9px;padding:10px;box-shadow:0 5px 20px #193b3424}.map-layer-controls .map-style-button{width:85px;height:55px;margin-bottom:3px}[data-ui~=layer-toggle]{height:36px;gap:7px}[data-ui~=layer-toggle] [data-ui]{font-size:13px}.layer-icon{width:23px;height:23px}.layer-icon svg{width:14px}.layer-section-label{font-size:11px}.city-card{width:calc(100% - 80px);max-width:340px;left:12px;bottom:248px}.city-card-content{padding:13px;gap:12px}.city-card-top{padding:12px 13px 0}.city-label{font-size:10px}.city-card h2{font-size:21px}.city-card p{font-size:12px}.city-aqi{width:63px;min-width:63px;height:73px;font-size:32px}.city-card-footer{font-size:10px;gap:7px;padding:9px 12px}.legend{width:calc(100% - 24px);left:12px;transform:none;bottom:28px;padding:11px 12px}.legend-bands{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 8px}.legend-bands button{font-size:11px;gap:4px}.legend-bands button>span:nth-child(2){min-height:14px}.legend-bands button small{font-size:10px}.legend-heading{font-size:11px;margin-bottom:8px}.map-navigation{bottom:249px;right:12px}.map-navigation button{width:38px;height:38px}.help-button{bottom:420px;right:12px;width:38px;height:38px}.station-detail{left:12px;top:auto;bottom:208px;width:calc(100% - 70px);max-width:365px;max-height:calc(100% - 279px)}.station-detail>h2{font-size:24px}.detail-weather{font-size:12px}.detail-overview p{font-size:13px}.detail-aqi{padding:12px}.detail-aqi h3{font-size:15px}.detail-aqi strong{font-size:32px}.detail-header{font-size:12px}.detail-update{font-size:11px}.detail-pollutant{font-size:12px}.detail-pollutant strong{font-size:14px}.search-panel{left:12px;max-width:calc(100% - 24px)}.modal{padding:22px;max-height:92dvh}.modal h2{font-size:25px}.modal p{font-size:14px}.modal .modal-intro{font-size:15px}.mode-choice{flex-direction:column}.mode-choice button{min-height:110px}.modal-station-row strong{font-size:14px}.modal-station-row small{font-size:12px}}:root{--font-app:-apple-system,BlinkMacSystemFont,"San Francisco","Segoe UI",Roboto,"Helvetica Neue",sans-serif;--font-nav:"Inter Variable","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-map:"Helvetica Neue",Arial,sans-serif;--iq-ink:#101828;--iq-black:#171717;--iq-muted:#516072;--iq-blue:#3e87cb;--iq-blue-hover:#2f77bc;--iq-blue-text:#2d6ba5;--ease-primary:cubic-bezier(.3,1,.3,1);--ease-nav:cubic-bezier(.6,0,.4,1);--ease-fast:cubic-bezier(.7,0,.3,1);--topbar-h:56px;--header-pad:32px;--header-h:calc(var(--header-pad) * 2 + 44px);--section-radius:clamp(1rem,1.578vw,1.875rem);--menu-radius:clamp(1rem,1.052vw,1.25rem);font-family:var(--font-app);color:var(--iq-ink)}body{font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.app-shell{background:#28282b}.topbar{height:var(--topbar-h);min-height:var(--topbar-h);display:flex;justify-content:center;background:#28282b;color:#fafafa;font-size:14px;line-height:1.3}.topbar-inner{width:760px;max-width:100%;display:flex;align-items:stretch;justify-content:space-between}.topbar-arrow{width:44px;display:flex;align-items:center;justify-content:center;color:#fafafa;opacity:.8;transition:opacity .3s,transform .5s var(--ease-primary)}.topbar-arrow:hover{opacity:1}.topbar-arrow:first-child:hover{transform:translate(-3px)}.topbar-arrow:last-child:hover{transform:translate(3px)}.topbar-message{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;overflow:hidden;color:inherit}.topbar-slide{display:flex;align-items:center;gap:10px;white-space:nowrap;font-weight:600;animation:topbar-in .7s var(--ease-primary) both}.topbar-link{font-weight:700;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;transition:text-underline-offset .3s}.topbar-message:hover .topbar-link{text-underline-offset:5px}[data-ui~=header]{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;column-gap:2.5em;height:auto;min-height:0;padding:var(--header-pad) max(48px,calc((100% - 1600px)/2));border-bottom:0;border-radius:var(--section-radius) var(--section-radius) 0 0;box-shadow:0 1px #1018280d;transition:border-radius .5s var(--ease-nav)}[data-ui~=header][data-ui~=menu-open]{border-radius:0}[data-ui~=brand]{justify-self:start;gap:10px}.brand-symbol{width:32px;height:32px;border-radius:9px;transition:transform .5s var(--ease-primary)}[data-ui~=brand]:hover .brand-symbol{transform:rotate(-8deg) scale(1.06)}[data-ui~=wordmark]{font-family:var(--font-nav)!important;font-size:27px;line-height:1;font-weight:800;letter-spacing:-1.2px;color:#1f3539}[data-ui~=wordmark] span{font-weight:600;color:#5a8571}[data-ui~=brand-caption]{font-family:var(--font-nav)!important;font-size:11px;font-weight:700;letter-spacing:1.6px;color:#667085}.site-nav{justify-self:center;display:flex;align-items:center}.site-nav-list{display:flex;align-items:center;margin:0;padding:0;list-style:none}.site-nav-item{display:block}.nav-pill{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;height:42px;padding:0 20px;border-radius:999px;overflow:hidden;font-family:var(--font-nav);font-size:clamp(.875rem,.748rem + .3174vw,1.125rem);font-weight:600;line-height:1.5;color:var(--iq-black);white-space:nowrap}.nav-pill-text{display:block;transition:transform .5s var(--ease-primary),opacity .5s var(--ease-primary)}.nav-pill-fill{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;border-radius:inherit;background:var(--iq-black);color:#fff;transform:translateY(100%) scale(.6);transition:transform .5s var(--ease-primary)}.site-nav-item.is-open .nav-pill-fill,.nav-pill:focus-visible .nav-pill-fill{transform:none}.site-nav-item.is-open .nav-pill-text,.nav-pill:focus-visible .nav-pill-text{opacity:0;transform:translateY(-10%) scale(.6)}@media(hover:hover)and (pointer:fine){.site-nav-item:hover .nav-pill-fill{transform:none}.site-nav-item:hover .nav-pill-text{opacity:0;transform:translateY(-10%) scale(.6)}}.nav-menu{position:absolute;top:0;z-index:1;margin-left:-32px;padding-top:calc(var(--header-h) - 1px);min-width:250px;width:max-content;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s var(--ease-fast),visibility 0s linear .3s}.site-nav-item.is-open .nav-menu{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .3s var(--ease-fast),visibility 0s}.nav-menu-panel{position:relative;padding:24px 0 40px;background:#fff;color:var(--iq-black);border-radius:0 0 var(--menu-radius) var(--menu-radius);transform:translateY(-10px);transition:transform .5s var(--ease-primary)}.site-nav-item.is-open .nav-menu-panel{transform:none}.nav-menu-corner{position:absolute;top:0;width:var(--menu-radius);height:var(--menu-radius);pointer-events:none}.nav-menu-corner.left{right:calc(100% - 1px);background:radial-gradient(circle at 0 100%,transparent calc(var(--menu-radius) - .5px),#fff var(--menu-radius))}.nav-menu-corner.right{left:calc(100% - 1px);background:radial-gradient(circle at 100% 100%,transparent calc(var(--menu-radius) - .5px),#fff var(--menu-radius))}.nav-menu ul{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.nav-menu li{padding:0 32px;opacity:0;transform:translate(20%);transition:transform .3s var(--ease-fast),opacity .2s}.site-nav-item.is-open .nav-menu li{opacity:1;transform:none;transition:transform 1s cubic-bezier(.075,.82,.165,1) .3s,opacity 1s cubic-bezier(.19,1,.22,1) .3s}.site-nav-item.is-open .nav-menu li:nth-child(2){transition-delay:.4s}.site-nav-item.is-open .nav-menu li:nth-child(3){transition-delay:.5s}.site-nav-item.is-open .nav-menu li:nth-child(4){transition-delay:.6s}.site-nav-item.is-open .nav-menu li:nth-child(5){transition-delay:.7s}.site-nav-item.is-open .nav-menu li:nth-child(6){transition-delay:.8s}.nav-menu-link{padding:0;font-family:var(--font-app);font-size:clamp(.875rem,.8115rem + .1587vw,1rem);line-height:1.5;font-weight:600;color:var(--iq-black);text-align:left;background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:0 min(100%,1.35em);background-size:0 1px;transition:background-size .5s var(--ease-primary)}.nav-menu-link:hover,.nav-menu-link:focus-visible{background-size:100% 1px}.nav-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1001;background:linear-gradient(to top,#1717171a 40%,#17171780 80%);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .8s cubic-bezier(.7,0,.2,1),visibility .8s cubic-bezier(.7,0,.2,1)}.nav-overlay.is-visible{opacity:1;visibility:visible;pointer-events:auto;transition-delay:.1s}[data-ui~=header-actions]{justify-self:end;gap:6px}[data-ui~=header-actions] [data-ui~=icon-button]{width:44px;height:44px;border-radius:999px;color:var(--iq-black);transition:background .3s}[data-ui~=header-actions] [data-ui~=icon-button]:hover{background:#f2f4f7}[data-ui~=header-actions] [data-ui~=icon-button] svg{transition:transform .5s var(--ease-primary)}[data-ui~=header-actions] [data-ui~=icon-button]:hover svg{transform:scale(1.1)}.count-dot{font-family:var(--font-app);font-size:10px;font-weight:700;width:16px;height:16px;right:4px;top:4px;background:var(--iq-blue)}.sidebar{border-right:0;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}[data-ui~=sidebar-heading]{padding:24px 24px 16px}[data-ui~=eyebrow]{font-size:11px;font-weight:700;letter-spacing:.8px;color:var(--iq-muted)}[data-ui~=sidebar-title]{font-family:var(--font-app)!important;font-size:22px;line-height:28px;font-weight:700;letter-spacing:-.2px;color:var(--iq-ink)}[data-ui~=sidebar-subtitle]{margin-top:4px}[data-ui~=sidebar-subtitle] [data-ui]{font-size:15px;font-weight:600;color:#344054}[data-ui~=updated]{margin-top:8px;gap:6px;color:var(--iq-muted)}[data-ui~=updated] [data-ui]{font-size:13px;line-height:18px;font-weight:600;color:var(--iq-muted)}.rank-table-header{grid-template-columns:30px 1fr 56px;gap:0;padding:0 24px 8px;background:none;border:0;font-size:12px;line-height:18px;font-weight:700;letter-spacing:0;color:#000}.rank-table-header button{font-size:12px;font-weight:700;text-align:left;color:#000}[data-ui~=rank-row]{min-height:44px;padding:4px 24px;gap:0;border-bottom:0;transition:background .25s;animation:row-in .6s var(--ease-primary) both}[data-ui~=rank-row]:hover{background:#f5f7fa}[data-ui~=rank-row][data-ui~=is-selected]{background:#eef5fc}[data-ui~=rank-row][data-ui~=is-selected]:before{background:var(--iq-blue)}[data-ui~=rank-number]{width:30px;font-size:14px;font-weight:600;color:#344054}[data-ui~=rank-name]{gap:2px;padding-right:8px}[data-ui~=station-name]{font-size:15px;line-height:18px;font-weight:600;color:var(--iq-ink);transition:color .25s}[data-ui~=rank-row]:hover [data-ui~=station-name]{color:var(--iq-blue-text)}[data-ui~=station-area]{font-size:12px;line-height:15px;font-weight:500;color:var(--iq-muted)}.aqi-badge.small{width:50px;min-width:50px;height:26px;font-size:13px;font-weight:700;border-radius:4px;transition:transform .4s var(--ease-primary)}[data-ui~=rank-row]:hover .aqi-badge.small{transform:scale(1.08)}[data-ui~=ranking-scroll] [data-ui~=rank-row]:nth-child(2){animation-delay:.03s}[data-ui~=ranking-scroll] [data-ui~=rank-row]:nth-child(3){animation-delay:.06s}[data-ui~=ranking-scroll] [data-ui~=rank-row]:nth-child(4){animation-delay:.09s}[data-ui~=ranking-scroll] [data-ui~=rank-row]:nth-child(5){animation-delay:.12s}[data-ui~=ranking-scroll] [data-ui~=rank-row]:nth-child(6){animation-delay:.15s}[data-ui~=ranking-scroll] [data-ui~=rank-row]:nth-child(7){animation-delay:.18s}[data-ui~=ranking-scroll] [data-ui~=rank-row]:nth-child(8){animation-delay:.21s}[data-ui~=ranking-scroll] [data-ui~=rank-row]:nth-child(n+9){animation-delay:.24s}[data-ui~=ranking-note]{font-size:12px;line-height:1.5;color:var(--iq-muted);padding:12px 24px}[data-ui~=sidebar-footer]{padding:16px 24px;gap:16px;border-top:0;box-shadow:0 -4px 6px -1px #0000000d,0 -2px 4px -2px #0000000d;position:relative}[data-ui~=contribute-card]{gap:10px;padding:16px;border-radius:12px;background:#f3f5f7;outline:1px solid #e5e7eb;outline-offset:-1px;transition:background .3s,transform .5s var(--ease-primary),box-shadow .3s}[data-ui~=contribute-card]:hover{background:#eef1f5;transform:translateY(-2px);box-shadow:0 10px 20px -12px #10182840}.sensor-illustration{width:60px;height:60px;border-radius:8px;color:#667085;background:linear-gradient(135deg,#fff,#e9edf1);border:1px solid #dde2e8;box-shadow:none}.sensor-illustration>span{left:12px;right:12px;top:11px;height:7px;border-radius:2px;background:#9cd84e}.sensor-illustration svg{width:24px;height:24px;margin-top:12px}[data-ui~=contribute-title]{font-size:15px;line-height:20px;font-weight:700;color:var(--iq-ink);margin-bottom:2px}[data-ui~=contribute-copy]{font-size:14px;line-height:20px;font-weight:400;color:var(--iq-ink)}[data-ui~=contribute-link]{font-size:13px;font-weight:700;color:var(--iq-blue-text);margin-top:6px}[data-ui~=primary-button]{height:46px;min-height:46px;padding:0 16px;gap:8px;border-radius:8px;background:var(--iq-blue);border:1px solid var(--iq-blue);box-shadow:none;transition:background .3s,box-shadow .3s}[data-ui~=primary-button]:hover{background:var(--iq-blue-hover);box-shadow:0 10px 20px -10px #3e87cbaa}[data-ui~=primary-button] [data-ui]{font-size:15px;line-height:20px;font-weight:600}[data-ui~=primary-button] svg{width:20px;height:20px;transition:transform .5s var(--ease-primary)}[data-ui~=primary-button]:hover svg{transform:translate(4px)}[data-ui~=sidebar-toggle]{width:25px;height:52px;border-radius:0 8px 8px 0;border-left:1px solid #0000000f;box-shadow:0 2px 8px #00000026;color:var(--iq-black)}.location-breadcrumb{font-family:var(--font-app);font-size:15px;font-weight:500;color:#344054}.location-breadcrumb strong{font-weight:700;color:var(--iq-ink)}.location-live{font-family:var(--font-app);font-weight:700}.map-layer-controls{font-family:var(--font-map)}.layer-section-label{font-family:var(--font-map);font-size:14px;line-height:20px;font-weight:700;letter-spacing:0;color:#fff;text-shadow:0 0 4px #000000e6,0 1px 2px #00000099}[data-ui~=layer-toggle]{height:28px;padding:2px 8px 2px 2px;gap:4px;border:0;border-radius:16px;background:#fff;color:#475467;box-shadow:0 2px 4px -2px #0003,0 4px 8px -2px #0000001a;transition:transform .5s var(--ease-primary),background .3s,color .3s,box-shadow .3s}[data-ui~=layer-toggle]:hover{transform:translate(-3px);background:#fff;box-shadow:0 4px 8px -2px #00000040,0 8px 16px -4px #0000001f}[data-ui~=layer-toggle] [data-ui]{font-size:13px;line-height:16px;font-weight:600}[data-ui~=layer-toggle][data-ui~=on]{background:#eff6ff;color:var(--iq-blue-text)}[data-ui~=layer-toggle][data-ui~=on]:hover{background:#e3effd}.layer-icon{width:24px;height:24px;background:#e4e7ec;color:#475467;transition:background .3s,color .3s}.layer-icon svg{width:16px;height:16px}[data-ui~=layer-toggle][data-ui~=on] .layer-icon{background:var(--iq-blue-text);color:#fff}.layer-check svg{width:12px;height:12px}.map-style-button{border:2px solid #fff;border-radius:8px;box-shadow:0 2px 8px #0000002e;transition:transform .5s var(--ease-primary),box-shadow .3s}.map-style-button:hover{transform:scale(1.04);box-shadow:0 6px 16px #00000038}.map-style-button>span:last-child{font-family:var(--font-map);font-size:11px;font-weight:700}.style-menu button{font-family:var(--font-app);font-weight:600}.map-navigation{border:1px solid #fff;border-radius:8px;background:#ffffffc7;backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);box-shadow:0 2px 8px #1018281f}.map-navigation button{color:var(--iq-black);transition:background .2s}.map-navigation button:hover{background:#fff}.map-navigation>span{background:#e4e7ec;margin:0}.help-button{background:var(--iq-black);transition:transform .5s var(--ease-primary)}.help-button:hover{transform:scale(1.08)}.legend{font-family:var(--font-map)}.legend-heading{font-weight:700;color:#344054}.legend-heading span:nth-child(2){color:#667085}.legend-bands button{font-weight:600;color:#344054}.legend-bands button small{font-weight:500;color:#667085}.city-label{font-weight:700;color:var(--iq-muted)}.city-aqi{font-weight:700}.city-card h2,.station-detail>h2{font-family:var(--font-app);font-weight:700;letter-spacing:-.3px;color:var(--iq-ink)}.city-card p,.city-card-footer{font-weight:500;color:#475467}.detail-aqi strong,.detail-aqi h3{font-weight:700}.detail-tabs button{font-weight:600}.detail-tabs button.active{font-weight:700}.network-numbers b{font-family:var(--font-app);font-weight:700}.modal h2{font-family:var(--font-app);font-weight:700;letter-spacing:-.4px}.modal h3,.search-label{font-weight:700}.toast{font-family:var(--font-app);font-weight:500}@keyframes topbar-in{0%{opacity:0;transform:translateY(70%)}to{opacity:1;transform:none}}@keyframes row-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media(min-width:761px){.map-layer-controls{top:16px;right:16px;gap:8px}.map-style-button{width:64px;height:48px;margin-bottom:12px}.map-navigation{right:16px;bottom:30px}.map-navigation button{width:32px;height:32px}.help-button{right:16px;bottom:182px;width:34px;height:34px}}@media(min-width:1201px){.sidebar{width:416px;min-width:416px}.sidebar-collapsed .sidebar{margin-left:-416px}}@media(min-width:951px)and (max-width:1200px){.sidebar{width:360px;min-width:360px}.sidebar-collapsed .sidebar{margin-left:-360px}}@media(min-width:761px)and (max-width:950px){.sidebar{width:320px;min-width:320px}.sidebar-collapsed .sidebar{margin-left:-320px}}@media(max-width:1100px)and (min-width:761px){:root{--header-pad:20px}[data-ui~=header]{column-gap:16px;padding-inline:24px}.site-nav-item:nth-child(3),.site-nav-item:nth-child(4){display:none}.nav-pill{padding:0 16px}}@media(max-width:900px)and (min-width:761px){.site-nav-item:nth-child(2){display:none}[data-ui~=header-actions]{gap:2px}}@media(max-height:800px)and (min-width:761px){[data-ui~=rank-row]{min-height:40px;padding-top:2px;padding-bottom:2px}[data-ui~=contribute-card]{padding:12px}.sensor-illustration{width:48px;height:48px}}@media(max-height:780px)and (min-width:761px){.help-button{display:none}}@media(max-width:760px){:root{--topbar-h:40px}.topbar{font-size:12.5px}.topbar-inner{width:100%}.topbar-arrow{width:40px}.topbar-link{display:none}[data-ui~=header]{display:flex;height:64px;min-height:64px;padding:0 12px;border-radius:16px 16px 0 0}.site-nav{display:none}[data-ui~=header-actions]{margin-left:auto;gap:2px}[data-ui~=header-actions] [data-ui~=icon-button]{width:38px;height:38px}[data-ui~=header-actions] [data-ui~=icon-button] svg{width:22px;height:22px}[data-ui~=wordmark]{font-size:24px}.brand-symbol{width:30px;height:30px}.nav-dropdown{top:60px;right:12px;border-radius:12px;font-family:var(--font-app)}[data-ui~=dropdown-item] [data-ui]{flex:1;font-weight:600}[data-ui~=layer-toggle]{height:34px}[data-ui~=sidebar-heading]{padding:18px 18px 12px}.rank-table-header{padding:0 18px 8px}[data-ui~=rank-row]{padding:4px 18px}[data-ui~=sidebar-footer]{padding:12px 18px}}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}html:has(.app-shell.is-home){background:#28282b}.app-shell.is-home{height:auto;min-height:100dvh;overflow:visible}.app-shell.is-home [data-ui~=header]{position:sticky;top:0}[data-ui~=header]{--header-h:calc(var(--header-pad) * 2 + 44px);transition:border-radius .5s var(--ease-nav),padding .5s var(--ease-nav),box-shadow .3s}[data-ui~=header][data-ui~=is-scrolled]{--header-pad:24px;border-radius:0;box-shadow:0 1px #1018280f,0 10px 24px -18px #10182859}.page-width{width:100%;padding-inline:max(48px,calc((100% - 1600px)/2))}.landing{display:block;background:#fff;color:var(--iq-black)}.split-title{margin:0;font-family:var(--font-nav);font-weight:700;line-height:1;letter-spacing:-.03em;color:var(--iq-black)}.split-word{display:inline-flex;overflow:hidden;margin:-.08em -.05em;padding:.08em .05em;vertical-align:top}.split-word>span{display:inline-block;animation:word-rise 1s cubic-bezier(.19,1,.22,1) both}[data-reveal-words] .split-word>span{animation:none;transform:translateY(110%)}[data-reveal-words][data-revealed] .split-word>span{animation:word-rise 1s cubic-bezier(.19,1,.22,1) both}.landing-title,.landing-cta-title{font-size:clamp(2.25rem,3.368vw,4rem)}.landing-lede{margin:20px 0 0;font-size:clamp(1rem,.873rem + .3175vw,1.25rem);line-height:1.6;font-weight:400;color:var(--iq-black)}.landing-lede+.landing-lede{margin-top:16px}.inline-link{display:inline;padding:0;color:inherit;font:inherit;text-align:inherit;background:linear-gradient(currentColor,currentColor) no-repeat 0 100%/100% 1px;transition:background-size .5s var(--ease-primary),color .3s}.inline-link:hover{color:var(--iq-blue-text);background-position-x:100%;background-size:0 1px}[data-reveal]{opacity:0;transform:translateY(40px);transition:opacity 1s cubic-bezier(.19,1,.22,1),transform 1s cubic-bezier(.19,1,.22,1)}[data-reveal][data-revealed]{opacity:1;transform:none}.landing-hero [data-reveal]{transition-delay:.25s}.landing-hero [data-reveal]+[data-reveal]{transition-delay:.35s}.landing-hero{padding-top:72px;padding-bottom:38px}.landing-widget{display:grid;grid-template-columns:390px minmax(0,1fr);gap:40px;padding-bottom:72px}.aqi-column{display:flex;flex-direction:column;justify-content:space-between;gap:16px;min-height:400px}.aqi-widget{overflow:hidden;border-radius:12px;box-shadow:0 0 30px color-mix(in srgb,var(--band) 60%,transparent);transition:box-shadow .5s,transform .5s var(--ease-primary)}.aqi-widget:hover{transform:translateY(-2px);box-shadow:0 0 42px color-mix(in srgb,var(--band) 80%,transparent)}.aqi-widget-main{display:flex;flex-direction:column;gap:12px;padding:16px;background:var(--band);color:var(--band-text);transition:background .6s}.aqi-widget-top{display:flex;align-items:center;gap:16px}.aqi-widget-label{flex:1;font-size:19px;line-height:26px;font-weight:700}.air-face-icon{width:56px;height:56px;opacity:.75}.aqi-widget-pollutant{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:16px}.aqi-widget-pollutant span strong{margin-left:4px;font-size:18px;font-weight:700}.aqi-widget-pollutant>strong{font-weight:700}.aqi-widget-weather{display:flex;align-items:center;justify-content:space-between;height:44px;padding:4px 16px;background:#fff;font-size:15px;font-weight:600;color:var(--iq-ink)}.aqi-widget-weather span{display:flex;align-items:center;gap:6px}.aqi-widget-weather svg{color:#667085}.demo-chip{flex-shrink:0;display:inline-block;padding:2px 6px;border-radius:4px;background:#f3eee0;color:#87732f;font-family:var(--font-app);font-size:11px;line-height:1.2;font-weight:700;letter-spacing:.7px}.pill-button{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;justify-content:center;width:100%;height:64px;padding:0 32px;border-radius:60px;background:#28282b;box-shadow:inset 0 0 0 1px #28282b;color:#fff;font-family:var(--font-nav);font-size:16px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;transition:color .5s var(--ease-primary)}.pill-button-fill{position:absolute;z-index:-1;top:-50%;left:-25%;width:150%;height:200%;border-radius:50%;background:#fff;transform:translateY(-76%);transition:transform .5s var(--ease-primary)}.pill-button-text{position:relative}@media(hover:hover)and (pointer:fine){.pill-button:hover{color:#28282b}.pill-button:hover .pill-button-fill{transform:none}}.landing-map{position:relative;isolation:isolate;height:400px;overflow:hidden;border-radius:16px;background:#2d5653}.landing-map-zoom{position:absolute;z-index:1001;right:12px;bottom:26px;display:flex;flex-direction:column;overflow:hidden;border:1px solid #ffffff59;border-radius:8px;background:#ffffff2e;backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px)}.landing-map-zoom button{display:grid;place-items:center;width:32px;height:32px;color:#fff;transition:background .2s}.landing-map-zoom button+button{border-top:1px solid #ffffff59}.landing-map-zoom button:hover{background:#ffffff26}.landing-rankings{padding:64px 0 calc(72px + var(--section-radius));background:#f2f4f7;border-radius:var(--section-radius) var(--section-radius) 0 0}.landing-rankings-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}.landing-card{padding:24px;background:#fff;border-radius:16px;box-shadow:0 1px 3px #1018281a,0 1px 2px #1018280f}.landing-card-head{display:flex;align-items:center;gap:8px}.landing-card h2{margin:0;font-size:18px;line-height:28px;font-weight:700;color:var(--iq-ink)}.landing-card-head button{display:flex;color:#98a2b3;transition:color .2s}.landing-card-head button:hover{color:var(--iq-blue-text)}.landing-card-time{display:block;margin-top:2px;font-size:13px;font-weight:600;letter-spacing:.2px;color:var(--iq-muted)}.landing-rank-table{width:100%;margin-top:16px;border-collapse:collapse}.landing-rank-table th{padding:0 0 8px;font-size:12px;font-weight:700;text-align:left;text-transform:uppercase;color:#000}.landing-rank-table th:first-child{width:36px}.landing-rank-table th:last-child{width:64px}.landing-rank-table td{padding:6px 0;border-top:1px solid #f2f4f7;font-size:14px;font-weight:600;color:#344054}.landing-rank-table tbody tr{cursor:pointer;transition:background .2s}.landing-rank-table tbody tr:hover{background:#f9fafb}.landing-rank-table td button{display:flex;flex-direction:column;gap:1px;font-size:15px;font-weight:600;text-align:left;color:var(--iq-ink);transition:color .2s}.landing-rank-table td button small{font-size:12px;font-weight:500;color:var(--iq-muted)}.landing-rank-table tbody tr:hover td button{color:var(--iq-blue-text)}.landing-rank-table tbody tr:hover .aqi-badge.small{transform:scale(1.08)}.landing-card-more{display:inline-flex;align-items:center;gap:6px;margin-top:16px;font-size:15px;font-weight:700;color:var(--iq-blue-text)}.landing-card-more svg{transition:transform .5s var(--ease-primary)}.landing-card-more:hover svg{transform:translate(4px)}.landing-card-sub{margin:4px 0 16px;font-size:14px;line-height:1.5;color:#475467}.highlight-row+.landing-card-sub{margin-top:20px}.highlight-row{display:flex;align-items:center;gap:12px;width:100%;min-height:72px;padding:12px 16px;background:color-mix(in srgb,var(--band) 22%,#fff);border:1px solid color-mix(in srgb,var(--band) 55%,#fff);border-radius:10px;text-align:left;transition:transform .5s var(--ease-primary),box-shadow .3s}.highlight-row:hover{transform:translateY(-2px);box-shadow:0 10px 24px -14px #10182866}.landing-card-note{margin:16px 0 0;font-size:12px;line-height:1.5;color:var(--iq-muted)}.landing-empty{font-size:14px;color:#667085}.landing-cta{position:relative;display:flex;flex-direction:column;align-items:center;margin-top:calc(var(--section-radius) * -1);padding-top:72px;padding-bottom:calc(96px + var(--section-radius));background:#fff;border-radius:var(--section-radius) var(--section-radius) 0 0;text-align:center}.landing-cta-title,.landing-cta .landing-lede{max-width:1024px}.landing-cta .pill-button{display:inline-flex;width:auto;height:60px;margin-top:40px;padding:0 28px}.landing-footer{position:relative;margin-top:calc(var(--section-radius) * -1);padding-top:64px;padding-bottom:32px;background:#28282b;border-radius:var(--section-radius) var(--section-radius) 0 0;color:#d0d5dd}.landing-footer-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,2fr);gap:48px}.landing-footer-brand{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.landing-footer-brand .brand-symbol{width:32px;height:32px;border-radius:9px}.landing-footer-brand strong{font-family:var(--font-nav);font-size:26px;font-weight:800;letter-spacing:-1.1px;color:#fff}.landing-footer-brand strong span{font-weight:600;color:#9cc7a9}.landing-footer-brand p{flex-basis:100%;max-width:320px;margin:12px 0 0;font-size:15px;line-height:1.6;color:#98a2b3}.landing-footer nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.landing-footer nav div{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.landing-footer h3{margin:0 0 6px;font-family:var(--font-nav);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff}.landing-footer nav button,.landing-footer nav a{text-decoration:none;font-size:15px;font-weight:500;text-align:left;color:#d0d5dd;background:linear-gradient(currentColor,currentColor) no-repeat 0 100%/0 1px;transition:background-size .5s var(--ease-primary),color .3s}.landing-footer nav button:hover,.landing-footer nav a:hover{color:#fff;background-size:100% 1px}.landing-footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:56px;padding-top:24px;border-top:1px solid #ffffff1f;font-size:13px;color:#98a2b3}@keyframes word-rise{0%{transform:translateY(110%)}to{transform:none}}@media(max-width:1100px){.page-width{padding-inline:24px}.app-shell.is-home [data-ui~=header][data-ui~=is-scrolled]{--header-pad:14px}.landing-widget{grid-template-columns:340px minmax(0,1fr);gap:24px}}@media(max-width:899px){.landing-rankings-grid,.landing-footer-grid{grid-template-columns:1fr}}@media(max-width:760px){.page-width{padding-inline:20px}.landing-hero{padding-top:40px;padding-bottom:24px}.landing-rankings{padding-top:40px}.landing-cta{padding-top:56px}.landing-card{padding:18px}.landing-footer nav{grid-template-columns:1fr 1fr}.pill-button{height:56px}}@media(max-width:699px){.landing-widget{grid-template-columns:1fr}.landing-map{display:none}.aqi-column{min-height:0}}@media(prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none}[data-reveal-words] .split-word>span{transform:none}}.site-notice{display:flex;align-items:center;justify-content:center;gap:9px;padding:9px 44px 9px 16px;font-size:14px;font-weight:600;line-height:1.4;text-align:center;position:relative;flex-shrink:0}.site-notice.info{background:#e3f0f7;color:#174a63}.site-notice.warning{background:#fff1cf;color:#6b4500}.site-notice>svg{flex-shrink:0}.site-notice>button{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:8px;display:grid;place-items:center;color:inherit;opacity:.7}.site-notice>button:hover{opacity:1;background:#0000000d}.na-app .site-notice{font-size:12px;padding:9px 40px 9px 14px;justify-content:flex-start;text-align:left}.adm .site-notice{border-radius:10px;padding-right:16px}:root{--z-map-cards:10;--z-map-controls:20;--z-sheet:30;--z-map-popover:40;--z-header:1002;--z-menu:2000;--z-modal:3000;--z-toast:4000;--toast-bottom:24px}.skip-link{position:absolute;left:12px;top:-60px;z-index:calc(var(--z-toast) + 1);padding:10px 16px;border-radius:999px;background:#171717;color:#fff;font:600 15px/1.2 var(--font-app);text-decoration:none;transition:top .2s}.skip-link:focus{top:12px;outline:3px solid #4d97c7;outline-offset:2px}#main:focus{outline:none}.app-shell a{-webkit-tap-highlight-color:transparent}.app-shell a:focus-visible,.app-shell [role=option]:focus-visible{outline:3px solid #4d97c7;outline-offset:3px}[data-ui~=header]{z-index:var(--z-header)}a[data-ui~=brand]{color:inherit;text-decoration:none}a[data-ui~=icon-button],button[data-ui~=icon-button]{display:flex;align-items:center;justify-content:center;color:var(--iq-black);text-decoration:none;position:relative}[data-ui~=header-actions]{display:flex;flex-direction:row;align-items:center}.app-shell button[data-ui~=mobile-menu]{display:none}@media(max-width:1100px){.app-shell button[data-ui~=mobile-menu]{display:flex}.nav-dropdown{top:calc(100% - 6px);right:24px;left:auto;border-radius:12px;font-family:var(--font-app)}}@media(max-width:760px){.app-shell button[data-ui~=mobile-menu]{display:flex}.app-shell [data-ui~=header-actions]>a[data-ui~=icon-button]{display:flex}.app-shell [data-ui~=header]{column-gap:8px}.lang-switch{height:32px;margin:0 2px}.lang-switch button{min-width:30px;height:26px;padding:0 6px;font-size:12px}}a.nav-pill{text-decoration:none}.nav-pill-text,.nav-pill-fill{gap:4px}.nav-pill-text{display:flex;align-items:center}.nav-chevron{transition:transform .2s var(--ease-primary)}.site-nav-item.is-open .nav-chevron{transform:rotate(180deg)}.nav-pill[aria-current=page] .nav-pill-text{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px}.nav-menu{transition:opacity .12s var(--ease-fast),visibility 0s linear .12s}.site-nav-item.is-open .nav-menu{transition:opacity .12s var(--ease-fast),visibility 0s}.nav-menu-panel{transform:none;transition:none}.nav-menu li,.site-nav-item.is-open .nav-menu li{opacity:1;transform:none;transition:none}a.nav-menu-link{display:inline-block;text-decoration:none}.nav-overlay{z-index:calc(var(--z-header) - 1)}.lang-switch{display:inline-flex;align-items:center;height:36px;padding:3px;border-radius:999px;background:#f2f4f7;box-shadow:inset 0 0 0 1px #e4e7ec;margin:0 4px}.lang-switch button{min-width:36px;height:30px;padding:0 8px;border-radius:999px;font:700 13px/1 var(--font-app);letter-spacing:.04em;color:#475467;transition:background .2s,color .2s}.lang-switch button[aria-pressed=true]{background:#171717;color:#fff}.lang-switch button:not([aria-pressed=true]):hover{background:#e4e7ec;color:#171717}.nav-dropdown{z-index:var(--z-menu);display:flex;flex-direction:column;width:260px}.nav-dropdown [data-ui~=dropdown-item]{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:13px 12px;border-radius:8px;color:var(--iq-ink);font:600 16px/1.3 var(--font-app);text-decoration:none;text-align:left}.nav-dropdown [data-ui~=dropdown-item] span{flex:1}.nav-dropdown [data-ui~=dropdown-item] svg{margin-left:auto;color:#667085}.nav-dropdown [data-ui~=dropdown-item]:hover{background:#f2f4f7}.dev-button{color:#87732f!important}a.topbar-message{text-decoration:none;color:inherit}@media(max-width:760px){.topbar{height:auto;min-height:var(--topbar-h)}.topbar-slide{white-space:normal;text-align:center;line-height:1.3;padding:6px 0}}.search-box{position:relative;z-index:5}.search-field{position:relative;display:flex;align-items:center;gap:8px;height:46px;padding:0 6px 0 12px;background:#fff;border:1px solid #d0d5dd;border-radius:10px;box-shadow:0 1px 2px #0000000d;transition:border-color .2s,box-shadow .2s}.search-field:focus-within{border-color:#84adff;box-shadow:0 0 0 4px #e0eaff}.search-field>svg{color:#667085}.search-field input{flex:1;min-width:0;height:100%;border:0;outline:0;background:none;font:500 16px/1.2 var(--font-app);color:var(--iq-ink)}.search-field input::placeholder{font-weight:400;color:#667085}.search-field input::-webkit-search-cancel-button{-webkit-appearance:none}.search-close{display:grid;place-items:center;width:36px;height:36px;border-radius:8px;color:#475467}.search-close:hover{background:#f2f4f7}.search-popup{position:absolute;top:calc(100% + 6px);left:0;right:0;max-height:min(360px,60dvh);overflow:auto;padding:6px;background:#fff;border:1px solid #eaecf0;border-radius:12px;box-shadow:0 12px 32px -8px #10182840}.search-popup .search-label{padding:8px 10px 4px;font:700 11px/1.4 var(--font-app);letter-spacing:.08em;color:var(--iq-muted)}.search-popup ul{margin:0;padding:0;list-style:none}.search-option{display:grid;grid-template-columns:18px minmax(0,1fr) 54px;align-items:center;gap:10px;padding:10px;border-radius:8px;color:#667085;cursor:pointer}.search-option.is-active,.search-option:hover{background:#eef4ff;box-shadow:inset 3px 0 #3e87cb}.search-option-text{display:flex;flex-direction:column;gap:2px;min-width:0}.search-option-text strong{font:600 15px/1.3 var(--font-app);color:var(--iq-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-option-text small{font:500 12px/1.4 var(--font-app);color:var(--iq-muted)}.search-option .aqi-badge{justify-self:end}.search-empty{margin:0;padding:10px;font:500 14px/1.5 var(--font-app);color:#475467}.search-empty a{color:var(--iq-blue-text);font-weight:700}.data-status{display:flex;align-items:flex-start;gap:7px;margin:0;font:600 13px/1.45 var(--font-app);color:#475467}.data-status svg{flex-shrink:0;margin-top:2px}.data-status.is-demo{color:#6e5a14}.data-status.is-demo svg{color:#87732f}.data-status.compact{font-size:12px}.sim-tag{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:4px;background:#f3eee0;color:#6e5a14;font:700 11px/1.5 var(--font-app);letter-spacing:.02em;vertical-align:1px;white-space:nowrap}.demo-chip{color:#6e5a14}.location-live.is-demo{background:#f3eee0;color:#6e5a14}.aqi-badge{font-family:var(--font-app);font-weight:700}.city-index-title{margin:0;padding-top:4px;font:700 20px/1.4 var(--font-app);color:#1d2939;text-align:center}.aqi-widget{min-height:244px}.aqi-widget-value{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:64px;padding:8px 10px;border-radius:8px;background:#ffffff59;box-shadow:inset 0 0 0 1px #0000001a}.aqi-widget-value strong{font-size:26px;line-height:1.1;font-weight:800}.aqi-widget-value span{font-size:11px;line-height:1.3;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.aqi-widget-advice{display:flex;gap:8px;align-items:flex-start;min-height:60px;margin:0;font:500 14px/1.45 var(--font-app)}.aqi-widget-advice svg{flex-shrink:0;margin-top:2px}.aqi-widget-advice strong{font-weight:700}.aqi-widget.is-loading{background:#f2f4f7;box-shadow:none}.aqi-widget.is-loading .aqi-widget-main{background:#e9edf1;min-height:200px}.aqi-widget.is-loading:hover{transform:none}.skeleton{display:block;border-radius:6px;background:linear-gradient(90deg,#dde3e8 25%,#eef1f4,#dde3e8 75%);background-size:200% 100%;animation:skeleton 1.4s ease-in-out infinite}.skeleton-box{width:64px;height:58px;border-radius:8px}.skeleton-line{height:14px;width:70%}.skeleton-line.wide{flex:1;height:22px}.skeleton-line.short{width:30%}@keyframes skeleton{0%{background-position:100% 0}to{background-position:-100% 0}}.aqi-column>.data-status{justify-content:center;text-align:center;padding:0 8px;min-height:38px}a.pill-button{text-decoration:none}.landing-map{background:#e1e7d7}.landing-map-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 46% 44%,#f4d76b33 0 9%,transparent 22%),repeating-linear-gradient(32deg,transparent 0 46px,#ffffff9e 47px 49px,transparent 50px 96px),repeating-linear-gradient(-58deg,transparent 0 70px,#ffffff80 71px 72px,transparent 73px 140px),linear-gradient(160deg,#e7ecdd,#dfe6d3)}.landing-map .map-view{z-index:1}.landing-map-open{position:absolute;z-index:5;top:12px;right:12px;display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:#fffffff2;box-shadow:0 2px 8px #10182833;color:#171717;transition:transform .3s var(--ease-primary)}.landing-map-open:hover{transform:scale(1.06)}.landing-map-zoom{z-index:5;background:#ffffffe6;border-color:#e4e7ec}.landing-map-zoom button{color:#171717}.landing-map-zoom button+button{border-top-color:#e4e7ec}.landing-map-zoom button:hover{background:#f2f4f7}.landing-rank-table td a{display:flex;flex-direction:column;gap:1px;font-size:15px;font-weight:600;text-align:left;color:var(--iq-ink);text-decoration:none;transition:color .2s}.landing-rank-table td a small{font-size:12px;font-weight:500;color:var(--iq-muted)}.landing-rank-table tbody tr:hover td a{color:var(--iq-blue-text)}.landing-card-head a{display:flex;color:#667085}a.landing-card-more{text-decoration:none}a.highlight-row{color:inherit;text-decoration:none}.highlight-name{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px}.highlight-name strong{font:600 15px/1.35 var(--font-app);color:var(--iq-ink)}.highlight-name small{font:500 13px/1.35 var(--font-app);color:#475467}.highlight-name .sim-tag{margin:2px 0 0}.highlight-row svg{flex-shrink:0;color:#667085}.landing-rank-table .sim-tag{margin-left:0;margin-top:2px;align-self:flex-start}.landing-footer nav a{text-decoration:none}@media(max-width:760px){.landing-title{font-size:clamp(1.75rem,8vw,2.25rem)}.landing-hero{padding-top:20px;padding-bottom:16px}.landing-hero .landing-lede{margin-top:10px;font-size:1rem;line-height:1.5}.landing-widget{padding-bottom:48px}.aqi-column{gap:12px}.city-index-title{font-size:17px;padding-top:0}}.toast{bottom:var(--toast-bottom);z-index:var(--z-toast);animation:toast-up .2s ease}.toast-action{padding:6px 10px;border-radius:6px;background:#ffffff26;color:#fff!important;font-weight:700}.toast-action:hover{background:#ffffff40}@keyframes toast-up{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.modal-backdrop{z-index:var(--z-modal)}.modal a.primary{text-decoration:none}.modal-kicker{color:#4d6b47}.modal-top button{color:#475467}.modal.wide{width:760px}.advice-table{display:flex;flex-direction:column;border:1px solid #e4e7ec;border-radius:10px;overflow:hidden;margin:0 0 12px}.advice-table>div{display:grid;grid-template-columns:minmax(150px,1fr) 1.3fr 1.3fr;gap:12px;padding:12px;border-top:1px solid #eaecf0;font:500 14px/1.5 var(--font-app);color:#344054}.advice-table>div:first-child{border-top:0}.advice-table .advice-head{background:#f9fafb;font:700 12px/1.4 var(--font-app);letter-spacing:.04em;text-transform:uppercase;color:#475467}.advice-table [role=rowheader]{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.advice-table [role=rowheader] strong{font-weight:700;color:var(--iq-ink)}.aqi-chip{display:inline-block;min-width:70px;padding:4px 8px;border-radius:5px;text-align:center;font:700 13px/1.3 var(--font-app)}.modal .source-note{font-size:13px;line-height:1.6;color:#475467}.modal .source-note a{display:inline-flex;align-items:center;gap:4px;font-weight:600}.modal-station-row>a{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;text-decoration:none;text-align:left}.modal-station-row>a strong{color:var(--iq-ink)}.modal-station-row>a small{color:#475467}.modal-station-row>button{padding:4px;color:#3f6a2d}.empty-state a{display:inline-block;margin-top:10px;font-size:14px;font-weight:600;color:var(--iq-blue-text)}.connect-device{display:flex;gap:16px;align-items:flex-start;padding:16px;margin:4px 0 8px;border-radius:12px;background:#f3f5f7}.connect-device h3{margin:0 0 6px!important}.connect-device p{margin:0}.connect-device .sensor-illustration{width:56px;height:56px;border-radius:10px}.connect-needs{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none}.connect-needs li{display:flex;gap:12px;align-items:flex-start;font:500 15px/1.55 var(--font-app);color:#344054}.connect-needs svg{flex-shrink:0;margin-top:3px;color:#3f6a2d}.modal .steps{color:#344054}.modal p,.modal .modal-intro{color:#475467}.modal h2{color:var(--iq-ink)}.modal h3{color:#1d2939}.connection-switcher .primary{border:0}@media(max-width:760px){.advice-table>div{grid-template-columns:1fr;gap:6px}.advice-table .advice-head{display:none!important}.advice-table [role=cell]:before{content:attr(data-label);display:block;font:700 11px/1.4 var(--font-app);letter-spacing:.04em;text-transform:uppercase;color:#667085}.modal.wide{width:100%}}.advice-line{display:flex;gap:8px;align-items:flex-start;margin:0;font:500 14px/1.5 var(--font-app);color:#344054}.advice-line svg{flex-shrink:0;margin-top:3px;color:#3f6a2d}.advice-line strong{font-weight:700;color:var(--iq-ink)}.empty-chart{color:#475467}.chart-axis{position:relative;display:block;height:18px;margin:4px 10px 0;color:#5f6b73}.chart-axis span{position:absolute;top:0;transform:translate(-50%);white-space:nowrap}.chart-axis span:last-child{transform:translate(-80%)}.chart-readout{color:#5f6b73}@media(prefers-reduced-motion:reduce){.skeleton{animation:none}.skip-link{transition:none}}
