.CityRankings_shell__FpXEE{width:calc(100% - 3rem);max-width:1400px;margin:1.5rem auto;padding:2rem 1.5rem 4rem;background:var(--page-card-bg);border:var(--page-card-border);border-radius:var(--page-card-radius);box-shadow:var(--page-card-shadow)}.CityRankings_header__pji8r{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:var(--spacing-2xl);padding-bottom:var(--spacing-xl);border-bottom:2px solid var(--border-color)}.CityRankings_title__r5Wot{font-size:36px!important;font-weight:700!important;color:var(--primary-color)!important;margin:0 0 var(--spacing-md)!important;letter-spacing:-1px!important}.CityRankings_subtitle__sf7JU{font-size:16px!important;color:var(--text-secondary)!important;margin:0 0 .15rem!important;line-height:1.4!important}.CityRankings_fetchedAt__Y8Zwk{font-size:.78rem!important;color:var(--text-light)!important;margin:0!important}.CityRankings_status__fEFmd{text-align:center;padding:3rem;font-size:1rem!important;color:var(--text-secondary)!important}.CityRankings_errorMsg__9odz0{text-align:center;padding:2rem;color:var(--error-color)!important}.CityRankings_grid__H_poC{display:grid;grid-template-columns:1.4fr 1.4fr;grid-gap:1.5rem;gap:1.5rem;margin-bottom:1.5rem;align-items:start}@media (max-width:800px){.CityRankings_grid__H_poC{grid-template-columns:1fr}}.CityRankings_panel__6iIXP{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:1.4rem;box-shadow:var(--shadow-sm)}.CityRankings_panelTitle__Rn9_S{font-size:.82rem!important;font-weight:700!important;color:var(--primary-color)!important;text-transform:uppercase!important;letter-spacing:.08em!important;margin:0 0 .6rem!important}.CityRankings_hint__2_CRO{font-size:.82rem!important;color:var(--text-secondary)!important;margin:0 0 1rem!important;line-height:1.5!important}.CityRankings_toggleRow__ezBZV{display:flex!important;flex-direction:row!important;align-items:center!important;gap:.6rem!important;margin:0 0 .75rem!important;cursor:pointer;font-weight:400!important;text-transform:none!important;letter-spacing:normal!important;font-size:.85rem!important;color:var(--text-primary)!important}.CityRankings_toggleTrack___ITTH{position:relative;display:inline-block;width:36px;min-width:36px;height:20px;background:var(--border-color);border-radius:999px;cursor:pointer;transition:background var(--transition-fast)}.CityRankings_toggleOn__DhDbT{background:var(--primary-color)}.CityRankings_toggleThumb__44Iyu{position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;box-shadow:var(--shadow-xs);transition:left var(--transition-fast)}.CityRankings_toggleOn__DhDbT .CityRankings_toggleThumb__44Iyu{left:18px}.CityRankings_toggleLabel__RljSb{font-size:.85rem;color:var(--text-primary);-webkit-user-select:none;-moz-user-select:none;user-select:none}.CityRankings_toggleCount__CJtUa{color:var(--primary-color);font-weight:600}.CityRankings_availableCount__vUQlg{font-size:.82rem!important;color:var(--text-secondary)!important;margin:0 0 .75rem!important}.CityRankings_availableNum__ggV2I{font-weight:700;color:var(--primary-color)}.CityRankings_infoIcon__VtC3m{position:relative;display:inline-block;margin-left:4px;font-size:12px;cursor:help}.CityRankings_infoTooltip___xGHg{visibility:hidden;opacity:0;position:absolute;top:125%;left:50%;transform:translateX(-50%);width:220px;background:#2d3748;color:#fff;text-align:left;text-transform:none;letter-spacing:normal;font-weight:400;font-size:12px;line-height:1.4;border-radius:6px;padding:8px 10px;box-shadow:var(--shadow-sm);z-index:10;transition:opacity .15s ease;pointer-events:none}.CityRankings_infoIcon__VtC3m:hover .CityRankings_infoTooltip___xGHg{visibility:visible;opacity:1}.CityRankings_removedBanner__sKsIu{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;background:#fff3e0;border:1px solid #ffb74d;border-radius:var(--border-radius);padding:.55rem .75rem;margin-bottom:.75rem;font-size:.82rem;color:#e65100;line-height:1.4}.CityRankings_removedClose___JXl3{all:unset;cursor:pointer;font-size:1rem;line-height:1;opacity:.6;flex-shrink:0}.CityRankings_removedClose___JXl3:hover{opacity:1}.CityRankings_search__XCn0e{display:block;width:100%;box-sizing:border-box;padding:10px 14px!important;border:2px solid var(--border-color)!important;border-radius:var(--border-radius)!important;font-size:.9rem!important;background:var(--surface-color)!important;color:var(--text-primary)!important;margin-bottom:.75rem;transition:border-color var(--transition-fast)}.CityRankings_search__XCn0e:focus{outline:none;border-color:var(--primary-color)!important;box-shadow:0 0 0 3px rgba(13,71,161,.1)}.CityRankings_suggestedSection__SKA4M{margin-bottom:.75rem}.CityRankings_suggestedLabel__dXoLM{font-size:.68rem!important;font-weight:700!important;color:var(--text-secondary)!important;text-transform:uppercase!important;letter-spacing:.07em!important;margin:0 0 .4rem!important}.CityRankings_cityList__uTUx9,.CityRankings_suggestedList__9rY_N{display:flex;flex-wrap:wrap;gap:.35rem}.CityRankings_cityList__uTUx9{max-height:230px;overflow-y:auto;padding-right:2px;margin-bottom:.25rem}.CityRankings_noResults___xwUN{font-size:.85rem!important;color:var(--text-light)!important;margin:0!important;padding:.5rem 0}.CityRankings_cityChip__8z_52{all:unset;box-sizing:border-box;display:inline-block;padding:3px 12px;border:1.5px solid var(--border-color);border-radius:999px;background:var(--surface-color);color:var(--text-primary);font-size:.8rem;font-weight:400;line-height:1.7;cursor:pointer;transition:background .15s ease,border-color .15s ease}.CityRankings_cityChip__8z_52:hover{background:#e8f0fe;border-color:var(--primary-light)}.CityRankings_cityChipSelected__5GWfH{background:var(--chip-light,#dbeafe);color:var(--chip-color,var(--primary-color));border-color:var(--chip-color,var(--primary-color));font-weight:600}.CityRankings_cityChipSelected__5GWfH:hover{filter:brightness(.95)}.CityRankings_selectedCities__6N26i{margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border-color)}.CityRankings_selectedLabel__AMoDB{font-size:.72rem!important;font-weight:700!important;color:var(--text-secondary)!important;text-transform:uppercase!important;letter-spacing:.06em!important;margin:0 0 .45rem!important}.CityRankings_tagList__nXlqR{display:flex;flex-wrap:wrap;gap:.3rem}.CityRankings_tag__CW4Uh{display:inline-flex;align-items:center;gap:.2rem;background:var(--chip-light,#dbeafe);color:var(--chip-color,var(--primary-color));border:1px solid var(--chip-color,var(--primary-color));border-radius:999px;padding:2px 10px;font-size:.78rem;line-height:1.5;opacity:.85}.CityRankings_removeTag__x3OWU{all:unset;display:inline-flex;align-items:center;cursor:pointer;font-size:1.05rem;line-height:1;padding:0 1px;opacity:.6}.CityRankings_removeTag__x3OWU:hover{opacity:1}.CityRankings_varList__xM0_2{display:flex;flex-direction:column;gap:.5rem}.CityRankings_varRow__kCZLq{border:1px solid var(--border-color);border-radius:var(--border-radius);padding:.65rem .75rem;min-height:72px;box-sizing:border-box;transition:background var(--transition-fast),border-color var(--transition-fast)}.CityRankings_varRow__kCZLq:hover{background:#f8fbff;border-color:var(--primary-light)}.CityRankings_varMain__fFDJa{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.CityRankings_varCheck__d8QsF{display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:.55rem!important;cursor:pointer;flex:1 1;margin:0!important;padding:0!important;font-weight:400!important;text-transform:none!important;letter-spacing:normal!important;font-size:.85rem!important;color:var(--text-primary)!important}.CityRankings_varText__4G8PY{display:flex;flex-direction:column;gap:.25rem;flex:1 1}.CityRankings_varTopRow__aXNY_{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.CityRankings_varCategory__koQqk{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--primary-color);background:#e3f2fd;border-radius:var(--border-radius-sm);padding:1px 6px;white-space:nowrap}.CityRankings_varExplanation__o9f_w{font-size:.76rem!important;color:var(--text-secondary)!important;margin:0!important;line-height:1.45!important}.CityRankings_varCheck__d8QsF input[type=checkbox]{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;min-width:15px;border:2px solid var(--border-color);border-radius:3px;background:var(--surface-color);cursor:pointer;font-size:10px;font-weight:700;color:#fff;transition:border-color var(--transition-fast),background var(--transition-fast)}.CityRankings_varCheck__d8QsF input[type=checkbox]:checked{background:var(--primary-color);border-color:var(--primary-color)}.CityRankings_varCheck__d8QsF input[type=checkbox]:checked:after{content:"✓"}.CityRankings_varLabel___2F8n{font-size:.82rem;color:var(--primary-color);font-weight:600;text-transform:none}.CityRankings_varUnit__l4hIJ{font-size:.72rem;color:var(--text-light);font-weight:400;text-transform:none}.CityRankings_varCoverage__6xsEj{font-size:.68rem;font-weight:600;color:var(--primary-color);background:#e3f2fd;border-radius:var(--border-radius-sm);padding:1px 5px;white-space:nowrap;opacity:.75}.CityRankings_varCoverageWrap__w07x1{position:relative;display:inline-flex;margin-left:auto;cursor:help}.CityRankings_coverageTooltip__gb3RS{visibility:hidden;opacity:0;position:absolute;top:125%;right:0;width:220px;background:#2d3748;color:#fff;text-align:left;text-transform:none;letter-spacing:normal;font-weight:400;font-size:12px;line-height:1.4;border-radius:6px;padding:8px 10px;box-shadow:var(--shadow-sm);z-index:10;transition:opacity .15s ease;pointer-events:none}.CityRankings_varCoverageWrap__w07x1:hover .CityRankings_coverageTooltip__gb3RS{visibility:visible;opacity:1}.CityRankings_infoBtn__t2gcK{all:unset;box-sizing:border-box;position:relative;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:#e3f2fd;color:var(--primary-color);font-size:.65rem;font-weight:700;cursor:pointer;flex-shrink:0;transition:background var(--transition-fast);line-height:1}.CityRankings_infoBtn__t2gcK:after{content:"Click for more information";visibility:hidden;opacity:0;position:absolute;bottom:125%;left:50%;transform:translateX(-50%);width:max-content;background:#2d3748;color:#fff;font-size:12px;font-weight:400;line-height:1.4;border-radius:6px;padding:6px 10px;box-shadow:var(--shadow-sm);z-index:10;transition:opacity .15s ease;pointer-events:none}.CityRankings_infoBtn__t2gcK:hover{background:var(--primary-color);color:#fff}.CityRankings_infoBtn__t2gcK:hover:after{visibility:visible;opacity:1}.CityRankings_dirBtn__desXv{all:unset;box-sizing:border-box;width:130px;text-align:center;font-size:.68rem;font-weight:500;padding:3px 9px;border-radius:var(--border-radius-sm);border:1.5px solid transparent;cursor:pointer;white-space:nowrap;text-transform:none;letter-spacing:normal;line-height:1.5;transition:background var(--transition-fast);position:relative}.CityRankings_dirBtn__desXv:after{content:"Click to revert order";visibility:hidden;opacity:0;position:absolute;bottom:125%;left:50%;transform:translateX(-50%);width:max-content;background:#2d3748;color:#fff;font-size:.72rem;font-weight:400;padding:4px 8px;border-radius:4px;pointer-events:none;transition:opacity .15s;z-index:10}.CityRankings_dirHigh__2hrTC:hover{background:#c8e6c9}.CityRankings_dirLow__hgGvb:hover{background:#ffcdd2}.CityRankings_dirNeutral__ASpki:hover{background:#bbdefb}.CityRankings_dirBtn__desXv:hover:after{visibility:visible;opacity:1}.CityRankings_dirHigh__2hrTC{background:#e8f5e9;border-color:#a5d6a7;color:var(--success-color)}.CityRankings_dirLow__hgGvb{background:#ffebee;border-color:#ef9a9a;color:var(--error-color)}.CityRankings_dirNeutral__ASpki{background:#e3f2fd;border-color:#90caf9;color:var(--info-color)}.CityRankings_varControls__P0FsL{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem;flex-shrink:0}.CityRankings_weightField___mbaB{display:flex;align-items:center;gap:.3rem}.CityRankings_weightLabel__jRK3_{font-size:.65rem!important;font-weight:700!important;color:var(--text-secondary)!important;text-transform:uppercase!important;letter-spacing:.05em!important;margin:0!important;padding:0!important;white-space:nowrap;display:inline!important}.CityRankings_weightInput__JJHpl{width:52px;padding:2px 6px;font-size:.78rem;text-align:center;border:1.5px solid var(--border-color);border-radius:var(--border-radius-sm);background:var(--surface-color);color:var(--text-primary)}.CityRankings_weightInput__JJHpl:focus{outline:none;border-color:var(--primary-color)}.CityRankings_resultsHeader__42Wz1{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.5rem}.CityRankings_resultsHeader__42Wz1 .CityRankings_panelTitle__Rn9_S{margin:0!important}.CityRankings_ruleChips__zkFxT{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem}.CityRankings_ruleChip__zTmHT{display:inline-flex;align-items:center;gap:.3rem;padding:3px 10px;border:1.5px solid var(--border-color);border-radius:999px;font-size:.75rem;font-weight:400;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;background:var(--surface-color);color:var(--text-secondary);transition:background .15s,border-color .15s,color .15s;text-transform:none;letter-spacing:normal}.CityRankings_ruleChip__zTmHT:hover{border-color:var(--primary-light);color:var(--primary-color)}.CityRankings_ruleChipActive__Uvpxo{background:#e3f2fd;border-color:var(--primary-color);color:var(--primary-color);font-weight:600}.CityRankings_ruleCheckbox__gajb1{display:none}.CityRankings_ruleCount__FpG3f{display:inline-flex;align-items:center;justify-content:center;margin-left:.35rem;background:var(--primary-color);color:#fff;border-radius:999px;font-size:.65rem;font-weight:700;padding:1px 6px;line-height:1.4}.CityRankings_results__Vd8PY{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);padding:1.4rem;box-shadow:var(--shadow-sm)}.CityRankings_rankGrid__xvMvX{display:flex;gap:1.25rem;overflow-x:auto;padding-bottom:.5rem;align-items:flex-start}.CityRankings_rankCard__B8V8L{flex:0 0 220px;min-width:0;border:1px solid var(--border-color);border-radius:var(--border-radius);overflow:hidden;box-shadow:var(--shadow-xs)}.CityRankings_rankCardHeader__ggRRx{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;padding:.65rem .85rem;min-height:56px;box-sizing:border-box;background:#f0f4ff;border-bottom:1px solid var(--border-color)}.CityRankings_rankCardControls__fJbWN{display:flex;align-items:center;gap:.35rem;flex-shrink:0}.CityRankings_rankCardWeight__R6tPw{width:40px;padding:2px 4px;font-size:.72rem;text-align:center;border:1.5px solid var(--border-color);border-radius:var(--border-radius-sm);background:var(--surface-color);color:var(--text-primary)}.CityRankings_rankCardWeight__R6tPw:focus{outline:none;border-color:var(--primary-color)}.CityRankings_rankEmpty__wvLdB{font-size:.78rem;color:var(--text-light);font-style:italic;list-style:none;padding:var(--spacing-md) var(--spacing-lg);text-align:center}.CityRankings_dirArrow___INEB{all:unset;box-sizing:border-box;font-size:.7rem;cursor:pointer;flex-shrink:0;transition:transform var(--transition-fast)}.CityRankings_dirArrow___INEB:hover{transform:scale(1.3)}.CityRankings_rankCardMeta__OqxT8{display:flex;flex-direction:column;gap:.15rem}.CityRankings_rankCardCategory__JD_0D{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary)}.CityRankings_rankCardTitle__wv_YP{font-size:.82rem;font-weight:700;color:var(--primary-color);line-height:1.3}.CityRankings_rankList__e15Fb{list-style:none;margin:0;padding:var(--spacing-md);display:flex;flex-direction:column}.CityRankings_rankItem__fR1v6{display:flex;align-items:center;gap:var(--spacing-sm);padding:8px 10px;margin-bottom:6px;background:var(--city-light,#f0f4f8);border:1px solid var(--border-color);border-left:4px solid var(--city-color,var(--primary-color));border-radius:6px;font-size:14px;font-weight:600;color:var(--text-primary);letter-spacing:.3px;transition:box-shadow var(--transition-fast),background var(--transition-fast)}.CityRankings_rankItem__fR1v6:hover{background:var(--city-light,#e3f2fd);box-shadow:var(--shadow-sm)}.CityRankings_rankBadge__YRQtC{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex:0 0 22px;background:var(--city-color,var(--primary-color));color:#fff;border-radius:50%;font-size:11px;font-weight:700}.CityRankings_rankCityName__T_jkA{flex:1 1;font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-primary)}.CityRankings_rankValue__6eBWE{font-size:.72rem;color:var(--text-secondary);white-space:nowrap;font-weight:400}.CityRankings_btn__29MPG{display:inline-flex;align-items:center;padding:10px 18px;border-radius:var(--border-radius);border:none;background:linear-gradient(135deg,var(--primary-color) 0,var(--primary-light) 100%);color:#fff;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;box-shadow:var(--shadow-sm);transition:all var(--transition-base);white-space:nowrap}.CityRankings_btn__29MPG:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-hover) 0,var(--primary-color) 100%);box-shadow:var(--shadow-md);transform:translateY(-1px)}.CityRankings_btn__29MPG:disabled{opacity:.6;cursor:not-allowed}.CityRankings_btnSecondary__b5sNF{background:var(--surface-color)!important;color:var(--text-primary)!important;border:1.5px solid var(--border-color)!important;box-shadow:var(--shadow-xs)!important}.CityRankings_btnSecondary__b5sNF:hover:not(:disabled){background:#e8f0fe!important;border-color:var(--primary-light)!important;transform:translateY(-1px);box-shadow:var(--shadow-sm)!important}.CityRankings_actionBtnRow__JRz0j{display:flex;align-items:center;gap:8px}.CityRankings_tooltipWrap__DpEqL{position:relative;display:inline-block}.CityRankings_tooltipWrap__DpEqL:hover .CityRankings_actionTooltip__sAVfJ{opacity:1;pointer-events:auto;transform:translateY(0)}.CityRankings_actionTooltip__sAVfJ{position:absolute;top:calc(100% + 8px);right:0;z-index:200;width:260px;background:#1e293b;color:#e2e8f0;border-radius:8px;padding:10px 12px;font-size:12px;line-height:1.5;box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity .15s ease,transform .15s ease}.CityRankings_actionTooltip__sAVfJ:before{content:"";position:absolute;bottom:100%;right:14px;border:6px solid transparent;border-bottom-color:#1e293b}.CityRankings_actionBtn__DM3QF{padding:8px 18px!important;font-size:13px!important;text-transform:none!important;letter-spacing:0!important;white-space:nowrap}.CityRankings_noCriteriaBanner__nIpoY{margin-top:.5rem;padding:10px 14px;background:#fff8e1;border:1.5px solid #ffe082;border-radius:var(--border-radius);color:#795548;font-size:13px}